From: Eric Anholt Date: Fri, 20 Jan 2012 23:03:12 +0000 (-0800) Subject: mesa: Add support for glGetTexImage on GL_TEXTURE_1D_ARRAY X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=08acd4bd61430beb20a74af23de9f63c8f077467;p=mesa.git mesa: Add support for glGetTexImage on GL_TEXTURE_1D_ARRAY Similarly to how we handle this in texstore, we have to remap height to depth so that we MapTextureImage each image layer individually. Fixes part of Intel oglconform's int-textures advanced.fbo.rtt NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul --- diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index 91b4892fe25..818deb8e41e 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -312,8 +312,8 @@ get_tex_rgba_uncompressed(struct gl_context *ctx, GLuint dimensions, const gl_format texFormat = _mesa_get_srgb_format_linear(texImage->TexFormat); const GLuint width = texImage->Width; - const GLuint height = texImage->Height; - const GLuint depth = texImage->Depth; + GLuint height = texImage->Height; + GLuint depth = texImage->Depth; GLuint img, row; GLfloat (*rgba)[4]; GLuint (*rgba_uint)[4]; @@ -327,6 +327,11 @@ get_tex_rgba_uncompressed(struct gl_context *ctx, GLuint dimensions, return; } + if (texImage->TexObject->Target == GL_TEXTURE_1D_ARRAY) { + depth = height; + height = 1; + } + for (img = 0; img < depth; img++) { GLubyte *srcMap; GLint rowstride;