From d048b7d36e502a3013b19be894d0db6c68414955 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Wed, 14 Jun 2006 10:48:09 +0000 Subject: [PATCH] Protect _swrast_read_rgba_span with RENDER_START/FINISH --- src/mesa/swrast/s_imaging.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mesa/swrast/s_imaging.c b/src/mesa/swrast/s_imaging.c index 43e955c..ac69d27 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; -- 2.7.4