summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2017-07-24 12:34:23 -0700
committerEric Anholt <[email protected]>2017-07-25 14:44:52 -0700
commit93fec49a75ce799bb6fe167f9409fd553a5781c6 (patch)
treef81c3e46993fb0e8f67ce2da8ea04e0df7252916 /src/gallium/drivers
parentb3c78a51f33a26b57f4bec64bab73ea720c1e619 (diff)
broadcom/vc4: Prefer blit via rendering to the software fallback.
I don't know how I managed to leave this here for so long. Found when working on a 1:1 overlapping blit extension for X11. Cc: [email protected]
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/vc4/vc4_blit.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/gallium/drivers/vc4/vc4_blit.c b/src/gallium/drivers/vc4/vc4_blit.c
index 1e056568acb..0e4ab5bfa0c 100644
--- a/src/gallium/drivers/vc4/vc4_blit.c
+++ b/src/gallium/drivers/vc4/vc4_blit.c
@@ -212,14 +212,16 @@ vc4_blit(struct pipe_context *pctx, const struct pipe_blit_info *blit_info)
if (vc4_tile_blit(pctx, blit_info))
return;
- if (util_try_blit_via_copy_region(pctx, &info)) {
- return; /* done */
- }
-
if (info.mask & PIPE_MASK_S) {
- fprintf(stderr, "cannot blit stencil, skipping\n");
+ if (util_try_blit_via_copy_region(pctx, &info))
+ return;
+
info.mask &= ~PIPE_MASK_S;
+ fprintf(stderr, "cannot blit stencil, skipping\n");
}
- vc4_render_blit(pctx, &info);
+ if (vc4_render_blit(pctx, &info))
+ return;
+
+ fprintf(stderr, "Unsupported blit\n");
}