diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-02-12 11:33:45 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-02-12 14:26:21 +0000 |
commit | 607737cc47788e2a8896fddfece907a3cfb24f7f (patch) | |
tree | ab6f502a99808dbc7bd61a0eaba7b1ae1d69c707 /src/sna/gen5_render.c | |
parent | 3b43630f5525a60e935dbc46e70354bb45444814 (diff) |
sna: Support native primary plane rotations
Use the display hardware for simple rotations, when exported through the
rotation property on the CRTC.
As the kernel support is not yet merged upstream, the feature is hidden
behind --enable-rotation.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/gen5_render.c')
-rw-r--r-- | src/sna/gen5_render.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c index a89d31a3..c5ccaaca 100644 --- a/src/sna/gen5_render.c +++ b/src/sna/gen5_render.c @@ -1537,6 +1537,25 @@ gen5_composite_picture(struct sna *sna, return sna_render_picture_extract(sna, picture, channel, x, y, w, h, dst_x, dst_y); + DBG(("%s: pixmap, repeat=%d, filter=%d, transform?=%d [affine? %d], format=%08x\n", + __FUNCTION__, + channel->repeat, channel->filter, + channel->transform != NULL, channel->is_affine, + channel->pict_format)); + if (channel->transform) { + DBG(("%s: transform=[%f %f %f, %f %f %f, %f %f %f]\n", + __FUNCTION__, + channel->transform->matrix[0][0] / 65536., + channel->transform->matrix[0][1] / 65536., + channel->transform->matrix[0][2] / 65536., + channel->transform->matrix[1][0] / 65536., + channel->transform->matrix[1][1] / 65536., + channel->transform->matrix[1][2] / 65536., + channel->transform->matrix[2][0] / 65536., + channel->transform->matrix[2][1] / 65536., + channel->transform->matrix[2][2] / 65536.)); + } + return sna_render_pixmap_bo(sna, channel, pixmap, x, y, w, h, dst_x, dst_y); } |