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

Author: Eric Anholt <e...@anholt.net>
Date:   Mon Dec  7 15:18:59 2015 -0800

vc4: Allow RCL blits to the edge of the surface.

The recent unaligned fix successfully prevented RCL blits that weren't
aligned inside of the surface, but we also want to be able to do RCL blits
for the whole surface when the width or height of the surface aren't
aligned (we don't care what renders inside of the padding).

---

 src/gallium/drivers/vc4/vc4_blit.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/vc4/vc4_blit.c 
b/src/gallium/drivers/vc4/vc4_blit.c
index 2aed540..757583c 100644
--- a/src/gallium/drivers/vc4/vc4_blit.c
+++ b/src/gallium/drivers/vc4/vc4_blit.c
@@ -70,10 +70,16 @@ vc4_tile_blit(struct pipe_context *pctx, const struct 
pipe_blit_info *info)
                 return false;
         }
 
+        int dst_surface_width = u_minify(info->dst.resource->width0,
+                                         info->dst.level);
+        int dst_surface_height = u_minify(info->dst.resource->height0,
+                                         info->dst.level);
         if (is_tile_unaligned(info->dst.box.x, tile_width) ||
             is_tile_unaligned(info->dst.box.y, tile_height) ||
-            is_tile_unaligned(info->dst.box.width, tile_width) ||
-            is_tile_unaligned(info->dst.box.height, tile_height)) {
+            (is_tile_unaligned(info->dst.box.width, tile_width) &&
+             info->dst.box.x + info->dst.box.width != dst_surface_width) ||
+            (is_tile_unaligned(info->dst.box.height, tile_height) &&
+             info->dst.box.y + info->dst.box.height != dst_surface_height)) {
                 return false;
         }
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to