The width and height of the copy don't have to be aligned to the block
size if they specify the right or bottom edges of the image.  (See also
the comment and asserts right above).  We need to round them up when we
do the division in order to get it 100% right.

Cc: "17.0 17.1" <[email protected]>
---
 src/mesa/drivers/dri/i965/intel_blit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/intel_blit.c 
b/src/mesa/drivers/dri/i965/intel_blit.c
index 568ed54..2925fc2 100644
--- a/src/mesa/drivers/dri/i965/intel_blit.c
+++ b/src/mesa/drivers/dri/i965/intel_blit.c
@@ -411,8 +411,8 @@ intel_miptree_copy(struct brw_context *brw,
 
       src_x /= (int)bw;
       src_y /= (int)bh;
-      src_width /= (int)bw;
-      src_height /= (int)bh;
+      src_width = DIV_ROUND_UP(src_width, (int)bw);
+      src_height = DIV_ROUND_UP(src_height, (int)bh);
    }
    src_x += src_image_x;
    src_y += src_image_y;
-- 
2.5.0.400.gff86faf

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to