Mesa (master): st/mesa: fix ReadPixels crashes when reading depth/ stencil from a FBO
Brian Paul
brianp at kemper.freedesktop.org
Mon Aug 23 01:05:34 UTC 2010
Module: Mesa
Branch: master
Commit: 6b90d1b1acaaf42b9c8b787d0dac54ac74d4fdcc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b90d1b1acaaf42b9c8b787d0dac54ac74d4fdcc
Author: Brian Paul <brianp at vmware.com>
Date: Sun Aug 22 19:04:47 2010 -0600
st/mesa: fix ReadPixels crashes when reading depth/stencil from a FBO
This is based on a patch from Marek Olšák.
NOTE: This is a candidate for the Mesa 7.8 branch.
---
src/mesa/state_tracker/st_cb_readpixels.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c
index d5f5d42..6ab03ec 100644
--- a/src/mesa/state_tracker/st_cb_readpixels.c
+++ b/src/mesa/state_tracker/st_cb_readpixels.c
@@ -68,6 +68,10 @@ st_read_stencil_pixels(GLcontext *ctx, GLint x, GLint y,
ubyte *stmap;
GLint j;
+ if (strb->Base.Wrapped) {
+ strb = st_renderbuffer(strb->Base.Wrapped);
+ }
+
if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP) {
y = ctx->DrawBuffer->Height - y - height;
}
@@ -359,6 +363,9 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,
}
else if (format == GL_DEPTH_COMPONENT) {
strb = st_renderbuffer(ctx->ReadBuffer->_DepthBuffer);
+ if (strb->Base.Wrapped) {
+ strb = st_renderbuffer(strb->Base.Wrapped);
+ }
}
else {
/* Read color buffer */
More information about the mesa-commit
mailing list