Module: Mesa Branch: 7.8 Commit: 6628188a871b3ee354c2b0e2c6276af582035656 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6628188a871b3ee354c2b0e2c6276af582035656
Author: Brian Paul <[email protected]> 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 952d9ce..7ff10d4 100644 --- a/src/mesa/state_tracker/st_cb_readpixels.c +++ b/src/mesa/state_tracker/st_cb_readpixels.c @@ -69,6 +69,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; } @@ -366,6 +370,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 */ _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
