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;
}
}
}