Browse Source

gl_rasterizer: Notify depth mask changes on clear

nce_cpp
ReinUsesLisp 6 years ago
parent
commit
a48930ac7c
  1. 2
      src/video_core/renderer_opengl/gl_rasterizer.cpp
  2. 5
      src/video_core/renderer_opengl/gl_state_tracker.h

2
src/video_core/renderer_opengl/gl_rasterizer.cpp

@ -435,7 +435,7 @@ void RasterizerOpenGL::Clear() {
ASSERT_MSG(regs.zeta_enable != 0, "Tried to clear Z but buffer is not enabled!");
use_depth = true;
// TODO: Signal state tracker about these changes
state_tracker.NotifyDepthMask();
glDepthMask(GL_TRUE);
}
if (regs.clear_buffers.S) {

5
src/video_core/renderer_opengl/gl_state_tracker.h

@ -149,6 +149,11 @@ public:
flags[OpenGL::Dirty::CullTest] = true;
}
void NotifyDepthMask() {
auto& flags = system.GPU().Maxwell3D().dirty.flags;
flags[OpenGL::Dirty::DepthMask] = true;
}
void NotifyDepthTest() {
auto& flags = system.GPU().Maxwell3D().dirty.flags;
flags[OpenGL::Dirty::DepthTest] = true;

Loading…
Cancel
Save