diff options
| author | 2020-03-30 17:03:07 -0400 | |
|---|---|---|
| committer | 2020-03-30 17:03:07 -0400 | |
| commit | 4c72190a062e8df53f4602986ca1139deb9669a7 (patch) | |
| tree | 1920ef4fb161d5e306d12fe6aa962d965d2a1649 | |
| parent | Merge pull request #3568 from bunnei/time-calcspan (diff) | |
| parent | gl_rasterizer: Update stencil test regardless of it being disabled (diff) | |
| download | yuzu-4c72190a062e8df53f4602986ca1139deb9669a7.tar.gz yuzu-4c72190a062e8df53f4602986ca1139deb9669a7.tar.xz yuzu-4c72190a062e8df53f4602986ca1139deb9669a7.zip | |
Merge pull request #3560 from ReinUsesLisp/fix-stencil
gl_rasterizer: Synchronize stencil testing on clears
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 826eee7df..31add708f 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -444,6 +444,7 @@ void RasterizerOpenGL::Clear() { | |||
| 444 | } | 444 | } |
| 445 | 445 | ||
| 446 | SyncRasterizeEnable(); | 446 | SyncRasterizeEnable(); |
| 447 | SyncStencilTestState(); | ||
| 447 | 448 | ||
| 448 | if (regs.clear_flags.scissor) { | 449 | if (regs.clear_flags.scissor) { |
| 449 | SyncScissorTest(); | 450 | SyncScissorTest(); |
| @@ -1052,12 +1053,8 @@ void RasterizerOpenGL::SyncStencilTestState() { | |||
| 1052 | flags[Dirty::StencilTest] = false; | 1053 | flags[Dirty::StencilTest] = false; |
| 1053 | 1054 | ||
| 1054 | const auto& regs = gpu.regs; | 1055 | const auto& regs = gpu.regs; |
| 1055 | if (!regs.stencil_enable) { | 1056 | oglEnable(GL_STENCIL_TEST, regs.stencil_enable); |
| 1056 | glDisable(GL_STENCIL_TEST); | ||
| 1057 | return; | ||
| 1058 | } | ||
| 1059 | 1057 | ||
| 1060 | glEnable(GL_STENCIL_TEST); | ||
| 1061 | glStencilFuncSeparate(GL_FRONT, MaxwellToGL::ComparisonOp(regs.stencil_front_func_func), | 1058 | glStencilFuncSeparate(GL_FRONT, MaxwellToGL::ComparisonOp(regs.stencil_front_func_func), |
| 1062 | regs.stencil_front_func_ref, regs.stencil_front_func_mask); | 1059 | regs.stencil_front_func_ref, regs.stencil_front_func_mask); |
| 1063 | glStencilOpSeparate(GL_FRONT, MaxwellToGL::StencilOp(regs.stencil_front_op_fail), | 1060 | glStencilOpSeparate(GL_FRONT, MaxwellToGL::StencilOp(regs.stencil_front_op_fail), |