diff options
| author | bunnei <bunneidev@gmail.com> | 2020-03-30 17:03:07 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-30 17:03:07 -0400 | 
| commit | 4c72190a062e8df53f4602986ca1139deb9669a7 (patch) | |
| tree | 1920ef4fb161d5e306d12fe6aa962d965d2a1649 /src/video_core | |
| parent | 2c9879d2ebb9790676363a6ea165b3aa9287f39f (diff) | |
| parent | 7617e88fb2310b8a05169b699d2fa2a6a3199646 (diff) | |
Merge pull request #3560 from ReinUsesLisp/fix-stencil
gl_rasterizer: Synchronize stencil testing on clears
Diffstat (limited to 'src/video_core')
| -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() {      }      SyncRasterizeEnable(); +    SyncStencilTestState();      if (regs.clear_flags.scissor) {          SyncScissorTest(); @@ -1052,12 +1053,8 @@ void RasterizerOpenGL::SyncStencilTestState() {      flags[Dirty::StencilTest] = false;      const auto& regs = gpu.regs; -    if (!regs.stencil_enable) { -        glDisable(GL_STENCIL_TEST); -        return; -    } +    oglEnable(GL_STENCIL_TEST, regs.stencil_enable); -    glEnable(GL_STENCIL_TEST);      glStencilFuncSeparate(GL_FRONT, MaxwellToGL::ComparisonOp(regs.stencil_front_func_func),                            regs.stencil_front_func_ref, regs.stencil_front_func_mask);      glStencilOpSeparate(GL_FRONT, MaxwellToGL::StencilOp(regs.stencil_front_op_fail), | 
