aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.GAL/DepthStencilState.cs
blob: d81e84360d4194ec75bf86ef9a1dbea2db92c114 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
namespace Ryujinx.Graphics.GAL
{
    public struct DepthStencilState
    {
        public bool DepthTestEnable   { get; }
        public bool DepthWriteEnable  { get; }
        public bool StencilTestEnable { get; }

        public CompareOp DepthFunc          { get; }
        public CompareOp StencilFrontFunc   { get; }
        public StencilOp StencilFrontSFail  { get; }
        public StencilOp StencilFrontDpPass { get; }
        public StencilOp StencilFrontDpFail { get; }
        public CompareOp StencilBackFunc    { get; }
        public StencilOp StencilBackSFail   { get; }
        public StencilOp StencilBackDpPass  { get; }
        public StencilOp StencilBackDpFail  { get; }

        public DepthStencilState(
            bool      depthTestEnable,
            bool      depthWriteEnable,
            bool      stencilTestEnable,
            CompareOp depthFunc,
            CompareOp stencilFrontFunc,
            StencilOp stencilFrontSFail,
            StencilOp stencilFrontDpPass,
            StencilOp stencilFrontDpFail,
            CompareOp stencilBackFunc,
            StencilOp stencilBackSFail,
            StencilOp stencilBackDpPass,
            StencilOp stencilBackDpFail)
        {
            DepthTestEnable    = depthTestEnable;
            DepthWriteEnable   = depthWriteEnable;
            StencilTestEnable  = stencilTestEnable;
            DepthFunc          = depthFunc;
            StencilFrontFunc   = stencilFrontFunc;
            StencilFrontSFail  = stencilFrontSFail;
            StencilFrontDpPass = stencilFrontDpPass;
            StencilFrontDpFail = stencilFrontDpFail;
            StencilBackFunc    = stencilBackFunc;
            StencilBackSFail   = stencilBackSFail;
            StencilBackDpPass  = stencilBackDpPass;
            StencilBackDpFail  = stencilBackDpFail;
        }
    }
}