diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-08-18 17:28:08 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-08-18 17:35:41 +0100 |
commit | 75a2fab766d8aed180ef795919e503db22c0e0fd (patch) | |
tree | 97e33a5e59dcafe5d8b990b49f96ba9a6e2d5076 /src/sna/sna_render.c | |
parent | 110d5519f3523b1e2c50db637cdc4c5bc44c960a (diff) |
sna: Avoid forcing an upload for an unblittable bo unless on a fallback path
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_render.c')
-rw-r--r-- | src/sna/sna_render.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c index 757b2f41..0f1fa4bf 100644 --- a/src/sna/sna_render.c +++ b/src/sna/sna_render.c @@ -84,20 +84,19 @@ no_render_composite(struct sna *sna, { DBG(("%s (op=%d, mask? %d)\n", __FUNCTION__, op, mask != NULL)); + if (mask) + return false; + if (!is_gpu(dst->pDrawable) && (src->pDrawable == NULL || !is_gpu(src->pDrawable))) return false; - if (mask == NULL && - sna_blt_composite(sna, - op, src, dst, - src_x, src_y, - dst_x, dst_y, - width, height, - tmp)) - return true; - - return false; + return sna_blt_composite(sna, + op, src, dst, + src_x, src_y, + dst_x, dst_y, + width, height, + tmp, true); (void)mask_x; (void)mask_y; } |