summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@gmail.com>2015-07-09 19:25:36 +1000
committerDave Airlie <airlied@gmail.com>2015-07-10 07:38:32 +1000
commitb6d871bf299c7d0f106c07ee4d8bd3b2337f53cc (patch)
tree5db6a81aae8a1b6951edac1ade1e392640bccfed
parent95f5d09e3667ded027ae648c97eb4737d8bf67c5 (diff)
radeon: adopt for new X server dirty tracking APIs.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--src/drmmode_display.c4
-rw-r--r--src/radeon_kms.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index ad2f48b6..337ee556 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -969,7 +969,9 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
screen->height = screenpix->drawable.height = max_height;
}
drmmode_crtc->prime_pixmap_x = this_x;
-#ifdef HAS_DIRTYTRACKING2
+#ifdef HAS_DIRTYTRACKING_ROTATION
+ PixmapStartDirtyTracking(ppix, screenpix, 0, 0, this_x, 0, RR_Rotate_0);
+#elif defined(HAS_DIRTYTRACKING2)
PixmapStartDirtyTracking2(ppix, screenpix, 0, 0, this_x, 0);
#else
PixmapStartDirtyTracking(ppix, screenpix, 0, 0);
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index ec8f51cb..2dad0e69 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -287,7 +287,11 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty)
PixmapRegionInit(&pixregion, dirty->slave_dst);
DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion);
+#ifdef HAS_DIRTYTRACKING_ROTATION
+ PixmapSyncDirtyHelper(dirty);
+#else
PixmapSyncDirtyHelper(dirty, &pixregion);
+#endif
radeon_cs_flush_indirect(pScrn);
DamageRegionProcessPending(&dirty->slave_dst->drawable);