Browse Source
Merge pull request #3560 from ReinUsesLisp/fix-stencil
gl_rasterizer: Synchronize stencil testing on clears
pull/15/merge
bunnei
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
2 additions and
5 deletions
-
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), |
|
|
|
|