mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 01:38:06 +02:00
mesa: fix GetTexImage for 1D array depth textures
While running piglit in virgl, I hit an assert in intel driver.
"qemu-system-x86_64: intel_tex.c:219: intel_map_texture_image: Assertion `tex_image->TexObject->Target != 0x8C18 || h == 1' failed."
Thanks to Eric and Ken for pointing me in the right direction,
Fix the get_tex_depth to do the same fixup as get_tex_rgba does
for 1D array textures.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 8df3c02cdc)
This commit is contained in:
parent
fa98c74692
commit
08f7e3591d
1 changed files with 7 additions and 2 deletions
|
|
@ -78,8 +78,8 @@ get_tex_depth(struct gl_context *ctx, GLuint dimensions,
|
|||
struct gl_texture_image *texImage)
|
||||
{
|
||||
const GLint width = texImage->Width;
|
||||
const GLint height = texImage->Height;
|
||||
const GLint depth = texImage->Depth;
|
||||
GLint height = texImage->Height;
|
||||
GLint depth = texImage->Depth;
|
||||
GLint img, row;
|
||||
GLfloat *depthRow = malloc(width * sizeof(GLfloat));
|
||||
|
||||
|
|
@ -88,6 +88,11 @@ get_tex_depth(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 srcRowStride;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue