diff options
author | Subv <subv2112@gmail.com> | 2015-08-21 16:48:43 +0200 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2015-08-21 16:48:43 +0200 |
commit | 8e6336d96bf7ee0e31ca51064c85f1b65913fe7a (patch) | |
tree | 0ec894d5bda08780179968a3fc82a146574c6a7c /src | |
parent | Rasterizer: Abstract duplicated stencil code into a lambda. (diff) | |
download | yuzu-8e6336d96bf7ee0e31ca51064c85f1b65913fe7a.tar yuzu-8e6336d96bf7ee0e31ca51064c85f1b65913fe7a.tar.gz yuzu-8e6336d96bf7ee0e31ca51064c85f1b65913fe7a.tar.bz2 yuzu-8e6336d96bf7ee0e31ca51064c85f1b65913fe7a.tar.lz yuzu-8e6336d96bf7ee0e31ca51064c85f1b65913fe7a.tar.xz yuzu-8e6336d96bf7ee0e31ca51064c85f1b65913fe7a.tar.zst yuzu-8e6336d96bf7ee0e31ca51064c85f1b65913fe7a.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/rasterizer.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/video_core/rasterizer.cpp b/src/video_core/rasterizer.cpp index c768a5eea..696839da6 100644 --- a/src/video_core/rasterizer.cpp +++ b/src/video_core/rasterizer.cpp @@ -888,21 +888,19 @@ static void ProcessTriangleInternal(const Shader::OutputVertex& v0, } if (!pass) { - if (stencil_action_enable) { + if (stencil_action_enable) UpdateStencil(stencil_test.action_depth_fail); - } continue; } if (output_merger.depth_write_enable) SetDepth(x >> 4, y >> 4, z); - - if (stencil_action_enable) { - // TODO: What happens if stencil testing is enabled, but depth testing is not? Will stencil get updated anyway? - UpdateStencil(stencil_test.action_depth_pass); - } } + // The stencil depth_pass action is executed even if depth testing is disabled + if (stencil_action_enable) + UpdateStencil(stencil_test.action_depth_pass); + auto dest = GetPixel(x >> 4, y >> 4); Math::Vec4<u8> blend_output = combiner_output; |