yuzu-emu
/
yuzu
Archived
1
0
Fork 0

Merge pull request #2218 from Subv/stencil_lines

Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
This commit is contained in:
Yuri Kunde Schlesner 2016-11-27 13:57:31 -08:00 committed by GitHub
commit 77b7cec8af
2 changed files with 5 additions and 5 deletions

View File

@ -893,7 +893,7 @@ bool RasterizerOpenGL::AccelerateFill(const GPU::Regs::MemoryFillConfig& config)
value_float = config.value_32bit / 16777215.0f; // 2^24 - 1 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(); cur_state.Apply();
glClearBufferfv(GL_DEPTH, 0, &value_float); glClearBufferfv(GL_DEPTH, 0, &value_float);
} else if (dst_type == SurfaceType::DepthStencil) { } 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 GLfloat value_float = (config.value_32bit & 0xFFFFFF) / 16777215.0f; // 2^24 - 1
GLint value_int = (config.value_32bit >> 24); GLint value_int = (config.value_32bit >> 24);
cur_state.depth.write_mask = true; cur_state.depth.write_mask = GL_TRUE;
cur_state.stencil.write_mask = true; cur_state.stencil.write_mask = 0xFF;
cur_state.Apply(); cur_state.Apply();
glClearBufferfi(GL_DEPTH_STENCIL, 0, value_float, value_int); glClearBufferfi(GL_DEPTH_STENCIL, 0, value_float, value_int);
} }

View File

@ -27,8 +27,8 @@ OpenGLState::OpenGLState() {
stencil.test_enabled = false; stencil.test_enabled = false;
stencil.test_func = GL_ALWAYS; stencil.test_func = GL_ALWAYS;
stencil.test_ref = 0; stencil.test_ref = 0;
stencil.test_mask = -1; stencil.test_mask = 0xFF;
stencil.write_mask = -1; stencil.write_mask = 0xFF;
stencil.action_depth_fail = GL_KEEP; stencil.action_depth_fail = GL_KEEP;
stencil.action_depth_pass = GL_KEEP; stencil.action_depth_pass = GL_KEEP;
stencil.action_stencil_fail = GL_KEEP; stencil.action_stencil_fail = GL_KEEP;