From 2ed832a0e87e96e37addb77597457408519e2a11 Mon Sep 17 00:00:00 2001 From: korenkonder Date: Tue, 10 Jun 2025 10:50:17 +0300 Subject: [PATCH] Fixed Meiteki Cybernetics' missing Light Proj Forgot that glClearBuffer is also affected by writemasks --- src/DivaGL/gl_rend_state.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/DivaGL/gl_rend_state.cpp b/src/DivaGL/gl_rend_state.cpp index c478371..49ecba2 100644 --- a/src/DivaGL/gl_rend_state.cpp +++ b/src/DivaGL/gl_rend_state.cpp @@ -825,6 +825,22 @@ inline void gl_rend_state::clear(GLbitfield mask) { inline void gl_rend_state::clear_buffer(GLenum buffer, GLint drawbuffer, const GLfloat* value) { update_draw_framebuffer(); + if (buffer == GL_COLOR) + update_color_mask(); + + if (buffer == GL_DEPTH) { + update_depth_test(); + update_depth_mask(); + } + + update_scissor_test(); + update_scissor(); + + if (buffer == GL_STENCIL) { + update_stencil_test(); + update_stencil_mask(); + } + glClearBufferfv(buffer, drawbuffer, value); enum_or(flags, GL_REND_STATE_EXECUTE); }