diff options
| author | bunnei <bunneidev@gmail.com> | 2018-07-21 02:14:04 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2018-07-21 21:51:06 -0400 |
| commit | 602ff24d5c62dd38283de4b849aefdd2fb06f682 (patch) | |
| tree | 18ca83548630ab7f49f1cfdca03626f43b222d40 /src | |
| parent | 6d96a4fc0a39edeb69918f1e1b6f51df000ac0e7 (diff) | |
gl_rasterizer: Use zeta_enable register to enable depth buffer.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 65a2fd5e86..c4ce57f1c3 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -387,7 +387,7 @@ void RasterizerOpenGL::Clear() { } if (regs.clear_buffers.Z) { clear_mask |= GL_DEPTH_BUFFER_BIT; - use_depth_fb = true; + use_depth_fb = regs.zeta_enable != 0; // Always enable the depth write when clearing the depth buffer. The depth write mask is // ignored when clearing the buffer in the Switch, but OpenGL obeys it so we set it to true. @@ -431,7 +431,7 @@ void RasterizerOpenGL::DrawArrays() { ScopeAcquireGLContext acquire_context; auto [dirty_color_surface, dirty_depth_surface] = - ConfigureFramebuffers(true, regs.zeta.Address() != 0); + ConfigureFramebuffers(true, regs.zeta.Address() != 0 && regs.zeta_enable != 0); SyncDepthTestState(); SyncBlendState(); |
