gl_rasterizer: Notify depth mask changes on clear

This commit is contained in:
ReinUsesLisp 2020-01-02 22:31:04 -03:00
parent 98c8948b23
commit 35bb9239ca
2 changed files with 6 additions and 1 deletions

View File

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

View File

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