Protect _swrast_read_rgba_span with RENDER_START/FINISH
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user