| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- namespace Ryujinx.Graphics.Gal
- {
- public struct ColorMaskRgba
- {
- private static readonly ColorMaskRgba _Default = new ColorMaskRgba()
- {
- Red = true,
- Green = true,
- Blue = true,
- Alpha = true
- };
- public static ColorMaskRgba Default => _Default;
- public bool Red;
- public bool Green;
- public bool Blue;
- public bool Alpha;
- }
- public class GalPipelineState
- {
- public const int Stages = 5;
- public const int ConstBuffersPerStage = 18;
- public const int RenderTargetsCount = 8;
- public long[][] ConstBufferKeys;
- public GalVertexBinding[] VertexBindings;
- public bool FramebufferSrgb;
- public float FlipX;
- public float FlipY;
- public int Instance;
- public GalFrontFace FrontFace;
- public bool CullFaceEnabled;
- public GalCullFace CullFace;
- public bool DepthTestEnabled;
- public bool DepthWriteEnabled;
- public GalComparisonOp DepthFunc;
- public float DepthRangeNear;
- public float DepthRangeFar;
- public bool StencilTestEnabled;
- public bool StencilTwoSideEnabled;
- public GalComparisonOp StencilBackFuncFunc;
- public int StencilBackFuncRef;
- public uint StencilBackFuncMask;
- public GalStencilOp StencilBackOpFail;
- public GalStencilOp StencilBackOpZFail;
- public GalStencilOp StencilBackOpZPass;
- public uint StencilBackMask;
- public GalComparisonOp StencilFrontFuncFunc;
- public int StencilFrontFuncRef;
- public uint StencilFrontFuncMask;
- public GalStencilOp StencilFrontOpFail;
- public GalStencilOp StencilFrontOpZFail;
- public GalStencilOp StencilFrontOpZPass;
- public uint StencilFrontMask;
- public bool BlendEnabled;
- public bool BlendSeparateAlpha;
- public GalBlendEquation BlendEquationRgb;
- public GalBlendFactor BlendFuncSrcRgb;
- public GalBlendFactor BlendFuncDstRgb;
- public GalBlendEquation BlendEquationAlpha;
- public GalBlendFactor BlendFuncSrcAlpha;
- public GalBlendFactor BlendFuncDstAlpha;
- public bool ColorMaskCommon;
- public ColorMaskRgba[] ColorMasks;
- public bool PrimitiveRestartEnabled;
- public uint PrimitiveRestartIndex;
- public GalPipelineState()
- {
- ConstBufferKeys = new long[Stages][];
- for (int Stage = 0; Stage < Stages; Stage++)
- {
- ConstBufferKeys[Stage] = new long[ConstBuffersPerStage];
- }
- ColorMasks = new ColorMaskRgba[RenderTargetsCount];
- }
- }
- }
|