On 10/23/2012 07:24 AM, Michel Dänzer wrote:
On Die, 2012-10-23 at 15:21 +0200, Marek Olšák wrote:
On Tue, Oct 23, 2012 at 11:24 AM, Michel Dänzer<mic...@daenzer.net>  wrote:
From: Michel Dänzer<michel.daen...@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.daen...@amd.com>
---

Can anyone think of something else I'm missing for these assertions?

  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..03c09ff 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_1D_ARRAY ||
+             u_minify(stImage->pt->depth0, src_level) == stImage->base.Depth);

Shouldn't we check for 2D_ARRAY here as well?

It's included in stImage->pt->target>= PIPE_TEXTURE_1D_ARRAY. Do you
think it would be better to spell it out separately?

I'd be careful with inequality operators and PIPE_TEXTURE_x targets. PIPE_TEXTURE_CUBE_ARRAY will be coming along one of these days and it might just get added to the end of the enum list.

-Brian

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to