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

Reply via email to