diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2016-11-27 13:57:31 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-27 13:57:31 -0800 |
commit | 77b7cec8afcaf9c267c8dbae49e123d980a32e73 (patch) | |
tree | b8952ee6c0ab6b8ef94fe2bbd32285554d60ca59 /src | |
parent | d3b7f57b2b45752084eb31dab8eeaa644e964935 (diff) | |
parent | 46234150263c105bb6d1fbcbd45b8c324d108a99 (diff) |
Merge pull request #2218 from Subv/stencil_lines
Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 6 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_state.cpp | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 7cc3b407a..d4d5903ce 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -893,7 +893,7 @@ bool RasterizerOpenGL::AccelerateFill(const GPU::Regs::MemoryFillConfig& config) value_float = config.value_32bit / 16777215.0f; // 2^24 - 1 } - cur_state.depth.write_mask = true; + cur_state.depth.write_mask = GL_TRUE; cur_state.Apply(); glClearBufferfv(GL_DEPTH, 0, &value_float); } else if (dst_type == SurfaceType::DepthStencil) { @@ -908,8 +908,8 @@ bool RasterizerOpenGL::AccelerateFill(const GPU::Regs::MemoryFillConfig& config) GLfloat value_float = (config.value_32bit & 0xFFFFFF) / 16777215.0f; // 2^24 - 1 GLint value_int = (config.value_32bit >> 24); - cur_state.depth.write_mask = true; - cur_state.stencil.write_mask = true; + cur_state.depth.write_mask = GL_TRUE; + cur_state.stencil.write_mask = 0xFF; cur_state.Apply(); glClearBufferfi(GL_DEPTH_STENCIL, 0, value_float, value_int); } diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp index ed84cadea..2a731f483 100644 --- a/src/video_core/renderer_opengl/gl_state.cpp +++ b/src/video_core/renderer_opengl/gl_state.cpp @@ -27,8 +27,8 @@ OpenGLState::OpenGLState() { stencil.test_enabled = false; stencil.test_func = GL_ALWAYS; stencil.test_ref = 0; - stencil.test_mask = -1; - stencil.write_mask = -1; + stencil.test_mask = 0xFF; + stencil.write_mask = 0xFF; stencil.action_depth_fail = GL_KEEP; stencil.action_depth_pass = GL_KEEP; stencil.action_stencil_fail = GL_KEEP; |