From 323ad98496cc4b5b95be69d1a81c2bb07ff5bf56 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Mon, 1 Oct 2012 07:53:54 +0000 Subject: Fix: gpu_colors_enable could cause 3d display corruption because it always enables glColorMaterial. Make sure to call gpu_colors_disable even if we don't have a mask layer, to match gpu_colors_enable above --- source/blender/gpu/intern/gpu_buffers.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/blender/gpu') diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c index 2aa7bb9cc6b..3e5a14774c2 100644 --- a/source/blender/gpu/intern/gpu_buffers.c +++ b/source/blender/gpu/intern/gpu_buffers.c @@ -1986,7 +1986,7 @@ void GPU_draw_buffers(GPU_Buffers *buffers, DMSetMaterial setMaterial) if (buffers->vert_buf && buffers->index_buf) { glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_NORMAL_ARRAY); - if (buffers->vmask || buffers->gridkey.has_mask) { + if (has_mask) { gpu_colors_enable(VBO_ENABLED); } else { @@ -2036,6 +2036,9 @@ void GPU_draw_buffers(GPU_Buffers *buffers, DMSetMaterial setMaterial) if (has_mask) { gpu_colors_disable(VBO_ENABLED); } + else { + gpu_colors_disable(VBO_DISABLED); + } } /* fallbacks if we are out of memory or VBO is disabled */ else if (buffers->totface) { -- cgit v1.2.3