namespace Ryujinx.Graphics.Gpu.Shader { /// /// State used by the . /// readonly struct GpuChannelComputeState { // New fields should be added to the end of the struct to keep disk shader cache compatibility. /// /// Local group size X of the compute shader. /// public readonly int LocalSizeX; /// /// Local group size Y of the compute shader. /// public readonly int LocalSizeY; /// /// Local group size Z of the compute shader. /// public readonly int LocalSizeZ; /// /// Local memory size of the compute shader. /// public readonly int LocalMemorySize; /// /// Shared memory size of the compute shader. /// public readonly int SharedMemorySize; /// /// Indicates that any storage buffer use is unaligned. /// public readonly bool HasUnalignedStorageBuffer; /// /// Creates a new GPU compute state. /// /// Local group size X of the compute shader /// Local group size Y of the compute shader /// Local group size Z of the compute shader /// Local memory size of the compute shader /// Shared memory size of the compute shader /// Indicates that any storage buffer use is unaligned public GpuChannelComputeState( int localSizeX, int localSizeY, int localSizeZ, int localMemorySize, int sharedMemorySize, bool hasUnalignedStorageBuffer) { LocalSizeX = localSizeX; LocalSizeY = localSizeY; LocalSizeZ = localSizeZ; LocalMemorySize = localMemorySize; SharedMemorySize = sharedMemorySize; HasUnalignedStorageBuffer = hasUnalignedStorageBuffer; } } }