summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
authorAlan Hourihane <[email protected]>2009-04-03 12:49:05 +0100
committerAlan Hourihane <[email protected]>2009-04-03 12:49:53 +0100
commitf7039fde4f9e1175c3dae534e5b91e22e693124a (patch)
treef97c6eb055fe2014a48f5b969ab48fc3667838bb /src/mesa/state_tracker
parent016052c18ff6f7ea7f4cf0e7e93c796688f772ed (diff)
mesa: ensure pbo stencil buffers are mapped before use
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_cb_drawpixels.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c
index f9f139ff073..8926aa38a28 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -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);