[Mesa-dev] [PATCH v2] st/mesa: Fix assertions for copying texture image to finalized miptree.

Andreas Boll andreas.boll.dev at gmail.com
Wed Oct 24 08:47:54 PDT 2012


2012/10/23 Michel Dänzer <michel at daenzer.net>:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> The layer dimension of array textures is not subject to mipmap minification.
> OTOH we were missing an assertion for the depth dimension.
>
> Fixes assertion failures with piglit {f,v}s-textureSize-sampler1DArrayShadow.
> For some reason, they only resulted in piglit 'warn' results for me, not
> failures.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56211
>
> NOTE: This is a candidate for the stable branches.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

Tested-by: Andreas Boll <andreas.boll.dev at gmail.com>

no piglit regression on r600g (rv770), softpipe and llvmpipe
and I can confirm that it fixes the assertion failures with piglit
tests {f,v}s-textureSize-sampler1DArrayShadow

Thanks Michel!

> ---
>
> v2: Test for == PIPE_TEXTURE_2D_ARRAY instead of >= PIPE_TEXTURE_1D_ARRAY.
>
>  src/mesa/state_tracker/st_cb_texture.c |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
> index b19dc67..6c287b3 100644
> --- a/src/mesa/state_tracker/st_cb_texture.c
> +++ b/src/mesa/state_tracker/st_cb_texture.c
> @@ -1120,7 +1120,10 @@ copy_image_data_to_texture(struct st_context *st,
>
>        assert(src_level <= stImage->pt->last_level);
>        assert(u_minify(stImage->pt->width0, src_level) == stImage->base.Width);
> -      assert(u_minify(stImage->pt->height0, src_level) == stImage->base.Height);
> +      assert(stImage->pt->target == PIPE_TEXTURE_1D_ARRAY ||
> +             u_minify(stImage->pt->height0, src_level) == stImage->base.Height);
> +      assert(stImage->pt->target == PIPE_TEXTURE_2D_ARRAY ||
> +             u_minify(stImage->pt->depth0, src_level) == stImage->base.Depth);
>
>        st_texture_image_copy(st->pipe,
>                              stObj->pt, dstLevel,  /* dest texture, level */
> --
> 1.7.10.4
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list