[Mesa-dev] [PATCH] swrast: fix glReadPixels from texture attachment
Brian Paul
brianp at vmware.com
Sat Nov 12 12:26:33 PST 2011
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=42635
---
src/mesa/swrast/s_texrender.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/mesa/swrast/s_texrender.c b/src/mesa/swrast/s_texrender.c
index 83e7a6a..3734ce6 100644
--- a/src/mesa/swrast/s_texrender.c
+++ b/src/mesa/swrast/s_texrender.c
@@ -567,6 +567,19 @@ update_wrapper(struct gl_context *ctx, struct gl_renderbuffer_attachment *att)
trb->Base.InternalFormat = trb->TexImage->Base.InternalFormat;
trb->Base.Format = trb->TexImage->Base.TexFormat;
+ /* Set the gl_renderbuffer::Data field so that mapping the buffer
+ * in renderbuffer.c succeeds.
+ */
+ if (att->Texture->Target == GL_TEXTURE_3D ||
+ att->Texture->Target == GL_TEXTURE_2D_ARRAY_EXT) {
+ trb->Base.Data = trb->TexImage->Buffer +
+ trb->TexImage->ImageOffsets[trb->Zoffset] *
+ _mesa_get_format_bytes(trb->TexImage->Base.TexFormat);
+ }
+ else {
+ trb->Base.Data = trb->TexImage->Buffer;
+ }
+
/* XXX may need more special cases here */
switch (trb->TexImage->Base.TexFormat) {
case MESA_FORMAT_Z24_S8:
--
1.7.3.4
More information about the mesa-dev
mailing list