diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2016-03-03 11:13:29 -0800 |
---|---|---|
committer | Dylan Baker <baker.dylan.c@gmail.com> | 2016-03-28 16:07:33 -0700 |
commit | d1a9af92da6a4f6e53b2a77224c96b3191d5b4ab (patch) | |
tree | 638abb70ad8015ceef33035e66a7a407b672e428 | |
parent | a1ede8c3d5b4da1b013061f1a07e03f528668b36 (diff) |
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 <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 4ba7ad6cc13b087e5e95073ab2e24de591d8b5a5)
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_tex_image.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index e21c3ac543..7611a65745 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; } |