From eee1ff423c6a0c9c776b4e76b79bb5ed5480d83c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Mon, 22 Oct 2012 19:20:56 +0200 Subject: [PATCH] st/mesa: Fix assertions for copying texture image to finalized miptree. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Brian Paul Tested-by: Andreas Boll --- 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 b19dc67bfbb..6c287b3d482 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 */