Am 13.06.2016 um 18:35 schrieb Brian Paul: > To cope with copies of compressed images which are not multiples of > the block size. Suggested by Jose. > --- > src/gallium/auxiliary/util/u_surface.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/src/gallium/auxiliary/util/u_surface.c > b/src/gallium/auxiliary/util/u_surface.c > index e48e47c..b9d2da0 100644 > --- a/src/gallium/auxiliary/util/u_surface.c > +++ b/src/gallium/auxiliary/util/u_surface.c > @@ -332,12 +332,16 @@ 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.width < src_bw); > - assert(src_box.height % src_bh == 0 || src_box.height < src_bh); > + assert(src_box.width % src_bw == 0 || > + src_box.x + src_box.width == minify(src->width0, src_level, > src_bw)); > + assert(src_box.height % src_bh == 0 || > + src_box.y + src_box.height == minify(src->height0, src_level, > src_bh)); > assert(dst_box.x % dst_bw == 0); > assert(dst_box.y % dst_bh == 0); > - assert(dst_box.width % dst_bw == 0 || dst_box.width < dst_bw); > - assert(dst_box.height % dst_bh == 0 || dst_box.height < src_bh); > + assert(dst_box.width % dst_bw == 0 || > + dst_box.x + dst_box.width == minify(dst->width0, dst_level, > dst_bw)); > + assert(dst_box.height % dst_bh == 0 || > + dst_box.y + dst_box.height == minify(dst->height0, dst_level, > dst_bh)); > > /* check that region boxes are not out of bounds */ > assert(src_box.x + src_box.width <= >
Looks good to me. Albeit at least half the code in that function is assertions ;-). Reviewed-by: Roland Scheidegger <sroland@[email protected]> _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
