diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-06-24 08:58:51 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-06-24 10:55:02 +0100 |
commit | 1d74b2e07d125ad95b9db6c9c032e90faf2bfa60 (patch) | |
tree | 77d9bdd0aa0f8d8dd98fbb9a6c29d7b8b4410d87 /src/sna/sna_render.h | |
parent | 6e2cee27c379278b0321fd1db34ed80c439115a7 (diff) |
sna: Decompose self-copy into overlapping/non-overlapping regions
We only need to stage the copy for the overlapping portion of the
self-copy, for the rest we can do in a single pass.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_render.h')
-rw-r--r-- | src/sna/sna_render.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/sna/sna_render.h b/src/sna/sna_render.h index 52bb44e6..0637ceb2 100644 --- a/src/sna/sna_render.h +++ b/src/sna/sna_render.h @@ -285,6 +285,7 @@ struct sna_render { const BoxRec *box, int n, unsigned flags); #define COPY_LAST 0x1 #define COPY_SYNC 0x2 +#define COPY_NO_OVERLAP 0x4 bool (*copy)(struct sna *sna, uint8_t alu, PixmapPtr src, struct kgem_bo *src_bo, @@ -814,8 +815,9 @@ sna_render_composite_redirect_done(struct sna *sna, bool sna_render_copy_boxes__overlap(struct sna *sna, uint8_t alu, - PixmapPtr src, struct kgem_bo *src_bo, int16_t src_dx, int16_t src_dy, - PixmapPtr dst, struct kgem_bo *dst_bo, int16_t dst_dx, int16_t dst_dy, + PixmapPtr pixmap, struct kgem_bo *bo, + int16_t src_dx, int16_t src_dy, + int16_t dst_dx, int16_t dst_dy, const BoxRec *box, int n, const BoxRec *extents); bool |