[PATCH xf86-video-ati] Add radeon_is_gpu_screen helper

Michel Dänzer michel at daenzer.net
Fri Nov 25 09:15:01 UTC 2016


From: Michel Dänzer <michel.daenzer at amd.com>

This will hopefully decrease the chance of accidentally breaking the
build against xserver < 1.13 in the future.

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/drmmode_display.c |  5 +----
 src/radeon.h          |  3 +++
 src/radeon_kms.c      | 14 +++-----------
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index f856f67..95e3acd 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -779,10 +779,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
 			fb_id = drmmode_crtc->rotate.fb_id;
 			x = y = 0;
 
-		} else if (
-#ifdef RADEON_PIXMAP_SHARING
-			!pScreen->isGPU &&
-#endif
+		} else if (!radeon_is_gpu_screen(pScreen) &&
 			   (info->tear_free ||
 #if XF86_CRTC_VERSION >= 4
 			    crtc->driverIsPerformingTransform ||
diff --git a/src/radeon.h b/src/radeon.h
index ad7e69c..8ca8d31 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -182,6 +182,9 @@ typedef enum {
 
 #if XF86_CRTC_VERSION >= 5
 #define RADEON_PIXMAP_SHARING 1
+#define radeon_is_gpu_screen(screen) (screen)->isGPU
+#else
+#define radeon_is_gpu_screen(screen) 0
 #endif
 
 #define RADEON_VSYNC_TIMEOUT	20000 /* Maximum wait for VSYNC (in usecs) */
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index d0a474e..6281fa5 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -317,10 +317,7 @@ static Bool RADEONCreateScreenResources_KMS(ScreenPtr pScreen)
     if (dixPrivateKeyRegistered(rrPrivKey)) {
 	rrScrPrivPtr rrScrPriv = rrGetScrPriv(pScreen);
 
-	if (
-#ifdef RADEON_PIXMAP_SHARING
-	    !pScreen->isGPU &&
-#endif
+	if (!radeon_is_gpu_screen(pScreen) &&
 	    !rrScrPriv->primaryOutput)
 	{
 	    xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
@@ -360,10 +357,7 @@ static Bool RADEONCreateScreenResources_KMS(ScreenPtr pScreen)
 	radeon_glamor_create_screen_resources(pScreen);
 
     info->callback_event_type = -1;
-    if (
-#ifdef RADEON_PIXMAP_SHARING
-	!pScreen->isGPU &&
-#endif
+    if (!radeon_is_gpu_screen(pScreen) &&
 	(damage_ext = CheckExtension("DAMAGE"))) {
 	info->callback_event_type = damage_ext->eventBase + XDamageNotify;
 
@@ -1099,9 +1093,7 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)
     (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS);
     pScreen->BlockHandler = RADEONBlockHandler_KMS;
 
-#ifdef RADEON_PIXMAP_SHARING
-    if (!pScreen->isGPU)
-#endif
+    if (!radeon_is_gpu_screen(pScreen))
     {
 	for (c = 0; c < xf86_config->num_crtc; c++) {
 	    if (info->tear_free)
-- 
2.10.2



More information about the amd-gfx mailing list