diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/swrast/s_imaging.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mesa/swrast/s_imaging.c b/src/mesa/swrast/s_imaging.c index 43e955c6a72..ac69d270b88 100644 --- a/src/mesa/swrast/s_imaging.c +++ b/src/mesa/swrast/s_imaging.c @@ -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; |