Mesa (master): gallium/util: remove some block alignment assertions

Roland Scheidegger sroland at kemper.freedesktop.org
Wed Oct 25 17:52:40 UTC 2017


Module: Mesa
Branch: master
Commit: 20c77ae6390451a74e2463f02c49bd7fec3dd29c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=20c77ae6390451a74e2463f02c49bd7fec3dd29c

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Wed Oct 25 02:39:20 2017 +0200

gallium/util: remove some block alignment assertions

These assertions were revisited a couple of times in the past, and they
still weren't quite right.
The problem I was seeing (with some other state tracker) was a copy between
two 512x512 s3tc textures, but from mip level 0 to mip level 8. Therefore,
the destination has only size 2x2 (not a full block), so the box width/height
was only 2, causing the assertion to trigger for src alignment.
As far as I can tell, such a copy is completely legal, and because a correct
assertion would get ridiculously complicated just get rid of it for good.

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/util/u_surface.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_surface.c b/src/gallium/auxiliary/util/u_surface.c
index 5abf96625e..0a79a25a43 100644
--- a/src/gallium/auxiliary/util/u_surface.c
+++ b/src/gallium/auxiliary/util/u_surface.c
@@ -324,16 +324,8 @@ util_resource_copy_region(struct pipe_context *pipe,
    /* check that region boxes are block aligned */
    assert(src_box.x % src_bw == 0);
    assert(src_box.y % src_bh == 0);
-   assert(src_box.width % src_bw == 0 ||
-          src_box.x + src_box.width == u_minify(src->width0, src_level));
-   assert(src_box.height % src_bh == 0 ||
-          src_box.y + src_box.height == u_minify(src->height0, src_level));
    assert(dst_box.x % dst_bw == 0);
    assert(dst_box.y % dst_bh == 0);
-   assert(dst_box.width % dst_bw == 0 ||
-          dst_box.x + dst_box.width == u_minify(dst->width0, dst_level));
-   assert(dst_box.height % dst_bh == 0 ||
-          dst_box.y + dst_box.height == u_minify(dst->height0, dst_level));
 
    /* check that region boxes are not out of bounds */
    assert(src_box.x + src_box.width <= u_minify(src->width0, src_level));




More information about the mesa-commit mailing list