From 4ba7ad6cc13b087e5e95073ab2e24de591d8b5a5 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 3 Mar 2016 11:13:29 -0800 Subject: [PATCH] i965: Only magnify depth for 3D textures, not array textures. When BaseLevel > 0, we magnify the dimensions to fill out the size of miplevels [0..BaseLevel). In particular, this was magnifying depth, thinking that the depth doubles at each level. This is perfectly reasonable for 3D textures, but dead wrong for array textures. Changing the depth != 1 condition to a target == GL_TEXTURE_3D check should make this only happen in the appropriate cases. Fixes about 32 dEQP tests: - dEQP-GLES31.functional.texture.gather.*.level_{1,2} Signed-off-by: Kenneth Graunke Reviewed-by: Matt Turner Cc: mesa-stable@lists.freedesktop.org --- src/mesa/drivers/dri/i965/intel_tex_image.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index 85259022c64..1601edddef6 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_image.c +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c @@ -50,7 +50,7 @@ intel_miptree_create_for_teximage(struct brw_context *brw, width <<= 1; if (height != 1) height <<= 1; - if (depth != 1) + if (intelObj->base.Target == GL_TEXTURE_3D) depth <<= 1; } -- 2.30.2