diff options
| author | 2020-01-02 22:31:04 -0300 | |
|---|---|---|
| committer | 2020-02-28 17:56:43 -0300 | |
| commit | 35bb9239cae38a173204cfc36bdfa22aec88fb00 (patch) | |
| tree | 9817caf00960bd09fea238fcd7a8be9affaf6cab /src | |
| parent | gl_rasterizer: Minor sort changes to clearing (diff) | |
| download | yuzu-35bb9239cae38a173204cfc36bdfa22aec88fb00.tar.gz yuzu-35bb9239cae38a173204cfc36bdfa22aec88fb00.tar.xz yuzu-35bb9239cae38a173204cfc36bdfa22aec88fb00.zip | |
gl_rasterizer: Notify depth mask changes on clear
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_state_tracker.h | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index dabb22ae8..c8aa342ef 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -435,7 +435,7 @@ void RasterizerOpenGL::Clear() { | |||
| 435 | ASSERT_MSG(regs.zeta_enable != 0, "Tried to clear Z but buffer is not enabled!"); | 435 | ASSERT_MSG(regs.zeta_enable != 0, "Tried to clear Z but buffer is not enabled!"); |
| 436 | use_depth = true; | 436 | use_depth = true; |
| 437 | 437 | ||
| 438 | // TODO: Signal state tracker about these changes | 438 | state_tracker.NotifyDepthMask(); |
| 439 | glDepthMask(GL_TRUE); | 439 | glDepthMask(GL_TRUE); |
| 440 | } | 440 | } |
| 441 | if (regs.clear_buffers.S) { | 441 | if (regs.clear_buffers.S) { |
diff --git a/src/video_core/renderer_opengl/gl_state_tracker.h b/src/video_core/renderer_opengl/gl_state_tracker.h index 992b915fb..a390e0b99 100644 --- a/src/video_core/renderer_opengl/gl_state_tracker.h +++ b/src/video_core/renderer_opengl/gl_state_tracker.h | |||
| @@ -149,6 +149,11 @@ public: | |||
| 149 | flags[OpenGL::Dirty::CullTest] = true; | 149 | flags[OpenGL::Dirty::CullTest] = true; |
| 150 | } | 150 | } |
| 151 | 151 | ||
| 152 | void NotifyDepthMask() { | ||
| 153 | auto& flags = system.GPU().Maxwell3D().dirty.flags; | ||
| 154 | flags[OpenGL::Dirty::DepthMask] = true; | ||
| 155 | } | ||
| 156 | |||
| 152 | void NotifyDepthTest() { | 157 | void NotifyDepthTest() { |
| 153 | auto& flags = system.GPU().Maxwell3D().dirty.flags; | 158 | auto& flags = system.GPU().Maxwell3D().dirty.flags; |
| 154 | flags[OpenGL::Dirty::DepthTest] = true; | 159 | flags[OpenGL::Dirty::DepthTest] = true; |