using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Threed; namespace Ryujinx.Graphics.Gpu.Shader { /// /// State used by the . /// struct GpuChannelGraphicsState { // New fields should be added to the end of the struct to keep disk shader cache compatibility. /// /// Early Z force enable. /// public readonly bool EarlyZForce; /// /// Primitive topology of current draw. /// public readonly PrimitiveTopology Topology; /// /// Tessellation mode. /// public readonly TessMode TessellationMode; /// /// Indicates whenever the viewport transform is disabled. /// public readonly bool ViewportTransformDisable; /// /// Indicates whenever alpha-to-coverage is enabled. /// public readonly bool AlphaToCoverageEnable; /// /// Indicates whenever alpha-to-coverage dithering is enabled. /// public readonly bool AlphaToCoverageDitherEnable; /// /// Creates a new GPU graphics state. /// /// Early Z force enable /// Primitive topology /// Tessellation mode /// Indicates whenever the viewport transform is disabled /// Indicates whenever alpha-to-coverage is enabled /// Indicates whenever alpha-to-coverage dithering is enabled public GpuChannelGraphicsState( bool earlyZForce, PrimitiveTopology topology, TessMode tessellationMode, bool viewportTransformDisable, bool alphaToCoverageEnable, bool alphaToCoverageDitherEnable) { EarlyZForce = earlyZForce; Topology = topology; TessellationMode = tessellationMode; ViewportTransformDisable = viewportTransformDisable; AlphaToCoverageEnable = alphaToCoverageEnable; AlphaToCoverageDitherEnable = alphaToCoverageDitherEnable; } } }