From: Brian Date: Wed, 17 Oct 2007 22:18:45 +0000 (-0600) Subject: Add some FLUSH_CURRENT() calls. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=87534210bb9fe5f4e3053d12123491a8c2ccbf6d;p=mesa.git Add some FLUSH_CURRENT() calls. Without these we can find ourselves in _mesa_load_state_parameters() computing derived lighting/material values whhen the current material properties haven't been updated from the VBO. This may be a somewhat wide-spread problem that needs more attention... (cherry picked from commit 49adf51eeec31c9f3c995a70acc5008522689708) --- diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c index 5ab969e0ebb..a4aa5e9cf4a 100644 --- a/src/mesa/main/buffers.c +++ b/src/mesa/main/buffers.c @@ -118,6 +118,8 @@ _mesa_Clear( GLbitfield mask ) GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); + FLUSH_CURRENT(ctx, 0); + if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "glClear 0x%x\n", mask); diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c index fde93384309..244ca65e708 100644 --- a/src/mesa/main/drawpix.c +++ b/src/mesa/main/drawpix.c @@ -293,6 +293,8 @@ _mesa_ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); + FLUSH_CURRENT(ctx, 0); + if (width < 0 || height < 0) { _mesa_error( ctx, GL_INVALID_VALUE, "glReadPixels(width=%d height=%d)", width, height );