summaryrefslogtreecommitdiff
path: root/src/sna/sna_driver.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-07-17 14:40:51 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-07-17 15:20:05 +0100
commita45b2ea11c15f35c36330ff27cb45854a29c2e2c (patch)
tree59e71316b8e266f34ae340fa7315b29f222e92e5 /src/sna/sna_driver.c
parent339c9dd0d5206180995731ab22304776e544f2f7 (diff)
sna: Handle rotated slaved scanouts
As per the usual handling of rotated scanouts with unsupported rotations, we stage the drawing onto a backbuffer then rotate onto the crtc later. The difference here is that we must read the contents from the master pixmap rather than our own screen pixmap. Spotted was looking at slaved scanouts mistakenly setting the CRTC transformed flag. Reported-by: Tomas Pruzina <pruzinat@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81383 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_driver.c')
-rw-r--r--src/sna/sna_driver.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 4454b327..2eac852f 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -487,6 +487,11 @@ static void setup_dri(struct sna *sna)
static bool enable_tear_free(struct sna *sna)
{
+#if HAS_PIXMAP_SHARING
+ if (sna->scrn->is_gpu)
+ return false;
+#endif
+
/* Under certain conditions, we should enable TearFree by default,
* for example when the hardware requires pageflipping to run within
* its power/performance budget.