diff options
Diffstat (limited to 'src/drmmode_display.c')
-rw-r--r-- | src/drmmode_display.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 2ca49bd..5bab3d5 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -701,7 +701,11 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) int c, total_width = 0, max_height = 0, this_x = 0; if (!ppix) { if (crtc->randr_crtc->scanout_pixmap) { +#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC + PixmapStopDirtyTracking(&crtc->randr_crtc->scanout_pixmap->drawable, screenpix); +#else PixmapStopDirtyTracking(crtc->randr_crtc->scanout_pixmap, screenpix); +#endif if (drmmode && drmmode->fb_id) { drmModeRmFB(drmmode->fd, drmmode->fb_id); drmmode->fb_id = 0; @@ -747,7 +751,10 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) screen->height = screenpix->drawable.height = max_height; } drmmode_crtc->scanout_pixmap_x = this_x; -#ifdef HAS_DIRTYTRACKING_ROTATION + +#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC + PixmapStartDirtyTracking(&ppix->drawable, screenpix, 0, 0, this_x, 0, RR_Rotate_0); +#elif defined(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); |