Protect _swrast_read_rgba_span with RENDER_START/FINISH
authorKeith Whitwell <keith@tungstengraphics.com>
Wed, 14 Jun 2006 10:48:09 +0000 (10:48 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Wed, 14 Jun 2006 10:48:09 +0000 (10:48 +0000)
src/mesa/swrast/s_imaging.c

index 43e955c..ac69d27 100644 (file)
@@ -38,6 +38,7 @@ _swrast_CopyColorTable( GLcontext *ctx,
                        GLenum target, GLenum internalformat,
                        GLint x, GLint y, GLsizei width)
 {
+   SWcontext *swrast = SWRAST_CONTEXT(ctx);
    GLchan data[MAX_WIDTH][4];
    struct gl_buffer_object *bufferSave;
 
@@ -49,10 +50,14 @@ _swrast_CopyColorTable( GLcontext *ctx,
    if (width > MAX_WIDTH)
       width = MAX_WIDTH;
 
+   RENDER_START( swrast, ctx );
+
    /* read the data from framebuffer */
    _swrast_read_rgba_span( ctx, ctx->ReadBuffer->_ColorReadBuffer,
                            width, x, y, data );
 
+   RENDER_FINISH(swrast,ctx);
+
    /* save PBO binding */
    bufferSave = ctx->Unpack.BufferObj;
    ctx->Unpack.BufferObj = ctx->Array.NullBufferObj;
@@ -68,6 +73,7 @@ void
 _swrast_CopyColorSubTable( GLcontext *ctx,GLenum target, GLsizei start,
                           GLint x, GLint y, GLsizei width)
 {
+   SWcontext *swrast = SWRAST_CONTEXT(ctx);
    GLchan data[MAX_WIDTH][4];
    struct gl_buffer_object *bufferSave;
 
@@ -79,10 +85,14 @@ _swrast_CopyColorSubTable( GLcontext *ctx,GLenum target, GLsizei start,
    if (width > MAX_WIDTH)
       width = MAX_WIDTH;
 
+   RENDER_START( swrast, ctx );
+
    /* read the data from framebuffer */
    _swrast_read_rgba_span( ctx, ctx->ReadBuffer->_ColorReadBuffer,
                            width, x, y, data );
 
+   RENDER_FINISH(swrast,ctx);
+
    /* save PBO binding */
    bufferSave = ctx->Unpack.BufferObj;
    ctx->Unpack.BufferObj = ctx->Array.NullBufferObj;