From ed7dbaa5a7246d72cc9bc2b59667d9a784c4c28d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Tue, 25 Aug 2020 23:00:14 +0200 Subject: GPUState: Fix missing writemask encapsulation This was the last remaining. --- source/blender/gpu/intern/gpu_framebuffer.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/blender/gpu/intern') diff --git a/source/blender/gpu/intern/gpu_framebuffer.cc b/source/blender/gpu/intern/gpu_framebuffer.cc index 88013640bfc..67320ed61b6 100644 --- a/source/blender/gpu/intern/gpu_framebuffer.cc +++ b/source/blender/gpu/intern/gpu_framebuffer.cc @@ -660,7 +660,9 @@ void GPU_framebuffer_multi_clear(GPUFrameBuffer *fb, const float (*clear_cols)[4 { CHECK_FRAMEBUFFER_IS_BOUND(fb); - glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); + /* Save and restore the state. */ + eGPUWriteMask write_mask = GPU_write_mask_get(); + GPU_color_mask(true, true, true, true); int i_type = GPU_FB_COLOR_ATTACHMENT0; for (int i = 0; i_type < GPU_FB_MAX_ATTACHEMENT; i++, i_type++) { @@ -669,6 +671,8 @@ void GPU_framebuffer_multi_clear(GPUFrameBuffer *fb, const float (*clear_cols)[4 glClearBufferfv(GL_COLOR, i, clear_cols[i]); } } + + GPU_write_mask(write_mask); } void GPU_framebuffer_read_depth(GPUFrameBuffer *fb, int x, int y, int w, int h, float *data) -- cgit v1.2.3