On Thu, Mar 3, 2016 at 6:44 PM, Kenneth Graunke <kenn...@whitecape.org> wrote:
> 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}

That seems decidedly better than my attempt:
https://patchwork.freedesktop.org/patch/73398/ :)

It seems like you're hitting pretty much the same failures as I was...
I think most of my fixes have been committed but not all. It may
interest you to look over my tree at
https://github.com/imirkin/mesa/commits/oes

>
> Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
> Cc: mesa-sta...@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 8525902..1601edd 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.7.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to