@@ -37,27 +37,26 @@ MTL::DepthStencilState* MetalDepthStencilCache::GetDepthStencilState(const Latte
37
37
}
38
38
desc->setDepthCompareFunction (depthCompareFunc);
39
39
40
- // get stencil control parameters
40
+ // Stencil state
41
41
bool stencilEnable = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ENABLE ();
42
- bool backStencilEnable = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_BACK_STENCIL_ENABLE ();
43
- auto frontStencilFunc = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_FUNC_F ();
44
- auto frontStencilZPass = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ZPASS_F ();
45
- auto frontStencilZFail = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ZFAIL_F ();
46
- auto frontStencilFail = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_FAIL_F ();
47
- auto backStencilFunc = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_FUNC_B ();
48
- auto backStencilZPass = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ZPASS_B ();
49
- auto backStencilZFail = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ZFAIL_B ();
50
- auto backStencilFail = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_FAIL_B ();
51
- // get stencil control parameters
52
- uint32 stencilCompareMaskFront = LatteGPUState.contextNew .DB_STENCILREFMASK .get_STENCILMASK_F ();
53
- uint32 stencilWriteMaskFront = LatteGPUState.contextNew .DB_STENCILREFMASK .get_STENCILWRITEMASK_F ();
54
- uint32 stencilRefFront = LatteGPUState.contextNew .DB_STENCILREFMASK .get_STENCILREF_F ();
55
- uint32 stencilCompareMaskBack = LatteGPUState.contextNew .DB_STENCILREFMASK_BF .get_STENCILMASK_B ();
56
- uint32 stencilWriteMaskBack = LatteGPUState.contextNew .DB_STENCILREFMASK_BF .get_STENCILWRITEMASK_B ();
57
- uint32 stencilRefBack = LatteGPUState.contextNew .DB_STENCILREFMASK_BF .get_STENCILREF_B ();
58
-
59
42
if (stencilEnable)
60
43
{
44
+ // get stencil control parameters
45
+ bool backStencilEnable = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_BACK_STENCIL_ENABLE ();
46
+ auto frontStencilFunc = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_FUNC_F ();
47
+ auto frontStencilZPass = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ZPASS_F ();
48
+ auto frontStencilZFail = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ZFAIL_F ();
49
+ auto frontStencilFail = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_FAIL_F ();
50
+ auto backStencilFunc = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_FUNC_B ();
51
+ auto backStencilZPass = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ZPASS_B ();
52
+ auto backStencilZFail = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_ZFAIL_B ();
53
+ auto backStencilFail = LatteGPUState.contextNew .DB_DEPTH_CONTROL .get_STENCIL_FAIL_B ();
54
+ // get stencil control parameters
55
+ uint32 stencilCompareMaskFront = LatteGPUState.contextNew .DB_STENCILREFMASK .get_STENCILMASK_F ();
56
+ uint32 stencilWriteMaskFront = LatteGPUState.contextNew .DB_STENCILREFMASK .get_STENCILWRITEMASK_F ();
57
+ uint32 stencilCompareMaskBack = LatteGPUState.contextNew .DB_STENCILREFMASK_BF .get_STENCILMASK_B ();
58
+ uint32 stencilWriteMaskBack = LatteGPUState.contextNew .DB_STENCILREFMASK_BF .get_STENCILWRITEMASK_B ();
59
+
61
60
MTL::StencilDescriptor* frontStencil = MTL::StencilDescriptor::alloc ()->init ();
62
61
// TODO: set reference
63
62
// depthStencilState.front.reference = stencilRefFront;
0 commit comments