From ee907e9b9563609cb4a4817e17215b50bb1c7177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Fri, 1 Dec 2017 15:49:11 +0100 Subject: [PATCH] Add radeon_dirty_src_drawable helper Allows tidying up radeon_dirty_src_equals and redisplay_dirty slightly. (Cherry picked from amdgpu commit 1d65ac395971571094df21ca0408d5972c6b56ec) Acked-by: Alex Deucher --- src/radeon.h | 22 +++++++++++----------- src/radeon_kms.c | 7 ++----- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/radeon.h b/src/radeon.h index 3e04101c..cc5dc09f 100644 --- a/src/radeon.h +++ b/src/radeon.h @@ -192,23 +192,23 @@ radeon_master_screen(ScreenPtr screen) static inline ScreenPtr radeon_dirty_master(PixmapDirtyUpdatePtr dirty) { -#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC - ScreenPtr screen = dirty->src->pScreen; -#else - ScreenPtr screen = dirty->src->drawable.pScreen; -#endif + return radeon_master_screen(dirty->slave_dst->drawable.pScreen); +} - return radeon_master_screen(screen); +static inline DrawablePtr +radeon_dirty_src_drawable(PixmapDirtyUpdatePtr dirty) +{ +#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC + return dirty->src; +#else + return &dirty->src->drawable; +#endif } static inline Bool radeon_dirty_src_equals(PixmapDirtyUpdatePtr dirty, PixmapPtr pixmap) { -#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC - return dirty->src == &pixmap->drawable; -#else - return dirty->src == pixmap; -#endif + return radeon_dirty_src_drawable(dirty) == &pixmap->drawable; } diff --git a/src/radeon_kms.c b/src/radeon_kms.c index 5fcd8f0b..a9300d40 100644 --- a/src/radeon_kms.c +++ b/src/radeon_kms.c @@ -570,11 +570,8 @@ dirty_region(PixmapDirtyUpdatePtr dirty) static void redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region) { -#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC - ScrnInfoPtr src_scrn = xf86ScreenToScrn(dirty->src->pScreen); -#else - ScrnInfoPtr src_scrn = xf86ScreenToScrn(dirty->src->drawable.pScreen); -#endif + ScrnInfoPtr src_scrn = + xf86ScreenToScrn(radeon_dirty_src_drawable(dirty)->pScreen); if (RegionNil(region)) goto out;