summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-01-02 22:31:04 -0300
committerGravatar ReinUsesLisp2020-02-28 17:56:43 -0300
commit35bb9239cae38a173204cfc36bdfa22aec88fb00 (patch)
tree9817caf00960bd09fea238fcd7a8be9affaf6cab /src
parentgl_rasterizer: Minor sort changes to clearing (diff)
downloadyuzu-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.cpp2
-rw-r--r--src/video_core/renderer_opengl/gl_state_tracker.h5
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;