Add some FLUSH_CURRENT() calls.
authorBrian <brian.paul@tungstengraphics.com>
Wed, 17 Oct 2007 22:18:45 +0000 (16:18 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Wed, 17 Oct 2007 22:18:45 +0000 (16:18 -0600)
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...

src/mesa/main/buffers.c
src/mesa/main/drawpix.c

index 0e6ca8ea1c2053f850b180cbb9a4218299536403..7a918c53a7e155c5b2f94f7d0168e338aa96d5c6 100644 (file)
@@ -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);
 
index 296dcf8f0bc99ba74aad002e6f5cbd0f93230d5d..e4be0d496e9b5364e41f26f25bed408b92c2d83f 100644 (file)
@@ -276,6 +276,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 );