using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Threed; namespace Ryujinx.Graphics.Gpu.Shader { /// /// State used by the . /// struct GpuAccessorState { /// /// GPU virtual address of the texture pool. /// public ulong TexturePoolGpuVa { get; } /// /// Maximum ID of the texture pool. /// public int TexturePoolMaximumId { get; } /// /// Constant buffer slot where the texture handles are located. /// public int TextureBufferIndex { get; } /// /// Early Z force enable. /// public bool EarlyZForce { get; } /// /// Primitive topology of current draw. /// public PrimitiveTopology Topology { get; } /// /// Tessellation mode. /// public TessMode TessellationMode { get; } /// /// Creates a new instance of the GPU accessor state. /// /// GPU virtual address of the texture pool /// Maximum ID of the texture pool /// Constant buffer slot where the texture handles are located /// Early Z force enable /// Primitive topology /// Tessellation mode public GpuAccessorState( ulong texturePoolGpuVa, int texturePoolMaximumId, int textureBufferIndex, bool earlyZForce, PrimitiveTopology topology, TessMode tessellationMode) { TexturePoolGpuVa = texturePoolGpuVa; TexturePoolMaximumId = texturePoolMaximumId; TextureBufferIndex = textureBufferIndex; EarlyZForce = earlyZForce; Topology = topology; TessellationMode = tessellationMode; } } }