summaryrefslogtreecommitdiff
path: root/src/sna/sna.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-03-12 22:29:29 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2015-03-13 11:33:38 +0000
commitd867d48bb63273e72d45baaaf53cb23f0e493de5 (patch)
tree9e9d569624e9fe85f5b11127d76d2ef0f4272128 /src/sna/sna.h
parent56ebdb7d95a9da8fb66ae82d3f546d15bd89b5a6 (diff)
sna: Apply affine transformations to HW cursors
Until now we only applied pixel-exact rotations to the cursors. However, this left the cursors ignoring scaling and so appearing incorrect on outputs with transformations applied. An extra complications comes from making sure that the scaling routine is signal safe. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna.h')
-rw-r--r--src/sna/sna.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/sna/sna.h b/src/sna/sna.h
index 40184041..a4984849 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -1141,6 +1141,16 @@ memcpy_blt(const void *src, void *dst, int bpp,
uint16_t width, uint16_t height);
void
+affine_blt(const void *src, void *dst, int bpp,
+ int16_t src_x, int16_t src_y,
+ int16_t src_width, int16_t src_height,
+ int32_t src_stride,
+ int16_t dst_x, int16_t dst_y,
+ uint16_t dst_width, uint16_t dst_height,
+ int32_t dst_stride,
+ const struct pixman_f_transform *t);
+
+void
memmove_box(const void *src, void *dst,
int bpp, int32_t stride,
const BoxRec *box,