v3d: Don't try to use the TFU blit path if a scissor is enabled.
authorEric Anholt <eric@anholt.net>
Wed, 3 Apr 2019 19:39:54 +0000 (12:39 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 5 Apr 2019 00:30:35 +0000 (17:30 -0700)
We'll need to do a render-based blit for scissors, since the TFU (as seen
in this conditional) can only update a whole surface.

Fixes: 976ea90bdca2 ("v3d: Add support for using the TFU to do some blits.")
Fixes piglit fbo-scissor-blit.

src/gallium/drivers/v3d/v3d_blit.c

index 2f36bdd46e39b3f267178e4941f8c31e0b782e93..d42e8fd0e6979f2345e41f5df93c190eaaf74b0c 100644 (file)
@@ -491,7 +491,8 @@ v3d_tfu_blit(struct pipe_context *pctx, const struct pipe_blit_info *info)
         if ((info->mask & PIPE_MASK_RGBA) == 0)
                 return false;
 
-        if (info->dst.box.x != 0 ||
+        if (info->scissor_enable ||
+            info->dst.box.x != 0 ||
             info->dst.box.y != 0 ||
             info->dst.box.width != dst_width ||
             info->dst.box.height != dst_height ||