mesa: ensure pbo stencil buffers are mapped before use
authorAlan Hourihane <alanh@vmware.com>
Fri, 3 Apr 2009 11:49:05 +0000 (12:49 +0100)
committerAlan Hourihane <alanh@vmware.com>
Fri, 3 Apr 2009 11:49:53 +0000 (12:49 +0100)
src/mesa/state_tracker/st_cb_drawpixels.c

index f9f139ff0737c948ec9e6aacae3a281345d1a533..8926aa38a2819df04dc0931c7071449d477b7ae2 100644 (file)
@@ -640,6 +640,9 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y,
 
    stmap = screen->transfer_map(screen, pt);
 
+   pixels = _mesa_map_drawpix_pbo(ctx, unpack, pixels);
+   assert(pixels);
+
    /* if width > MAX_WIDTH, have to process image in chunks */
    skipPixels = 0;
    while (skipPixels < width) {
@@ -705,6 +708,8 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y,
       skipPixels += spanWidth;
    }
 
+   _mesa_unmap_drawpix_pbo(ctx, unpack);
+
    /* unmap the stencil buffer */
    screen->transfer_unmap(screen, pt);
    screen->tex_transfer_destroy(pt);