using Ryujinx.Graphics.Shader; using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Gpu.Shader.Cache.Definition { /// /// Header of a cached guest gpu accessor. /// [StructLayout(LayoutKind.Sequential, Size = 0x20, Pack = 1)] struct GuestGpuAccessorHeader { /// /// The count of texture descriptors. /// public int TextureDescriptorCount; /// /// Local Size X for compute shaders. /// public int ComputeLocalSizeX; /// /// Local Size Y for compute shaders. /// public int ComputeLocalSizeY; /// /// Local Size Z for compute shaders. /// public int ComputeLocalSizeZ; /// /// Local Memory size in bytes for compute shaders. /// public int ComputeLocalMemorySize; /// /// Shared Memory size in bytes for compute shaders. /// public int ComputeSharedMemorySize; /// /// Unused/reserved. /// public int Reserved1; /// /// Current primitive topology for geometry shaders. /// public InputTopology PrimitiveTopology; /// /// Unused/reserved. /// public ushort Reserved2; /// /// Unused/reserved. /// public byte Reserved3; } }