[PATCH xf86-video-amdgpu] Check Xorg version at runtime instead of build time in two places

Michel Dänzer michel at daenzer.net
Wed Nov 2 03:43:48 UTC 2016


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

This means that all possible paths can be handled as intended, no matter
which Xorg version the driver happened to be compiled against.

(Ported from radeon commit 350a2645a1b127227ff294c0b62d20000d0fd48a)

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 man/amdgpu.man        | 2 +-
 src/amdgpu_kms.c      | 6 +-----
 src/drmmode_display.c | 8 ++++----
 3 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/man/amdgpu.man b/man/amdgpu.man
index 93244a4..948cd70 100644
--- a/man/amdgpu.man
+++ b/man/amdgpu.man
@@ -65,7 +65,7 @@ will assign xrandr outputs LVDS and VGA-0 to this instance of the driver.
 Define the maximum level of DRI to enable. Valid values are 2 for DRI2 or 3 for DRI3.
 The default is
 .B 3 for DRI3
-if the driver was compiled for Xorg >= 1.18.3, otherwise
+if the Xorg version is >= 1.18.3, otherwise
 .B 2 for DRI2.
 .TP
 .BI "Option \*qEnablePageFlip\*q \*q" boolean \*q
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index acf3a7d..b21cd37 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -1713,11 +1713,7 @@ Bool AMDGPUScreenInit_KMS(SCREEN_INIT_ARGS_DECL)
 	}
 #endif
 
-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,18,3,0,0)
-	value = TRUE;
-#else
-	value = FALSE;
-#endif
+	value = xorgGetVersion() >= XORG_VERSION_NUMERIC(1,18,3,0,0);
 	from = X_DEFAULT;
 
 	if (info->use_glamor) {
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index f514866..2d36881 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -607,10 +607,10 @@ drmmode_can_use_hw_cursor(xf86CrtcPtr crtc)
 		return FALSE;
 #endif
 
-#if defined(AMDGPU_PIXMAP_SHARING) && \
-	XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(1,18,99,901,0)
-	/* HW cursor not supported with RandR 1.4 multihead */
-	if (!xorg_list_is_empty(&crtc->scrn->pScreen->pixmap_dirty_list))
+#if defined(AMDGPU_PIXMAP_SHARING)
+	/* HW cursor not supported with RandR 1.4 multihead up to 1.18.99.901 */
+	if (xorgGetVersion() <= XORG_VERSION_NUMERIC(1,18,99,901,0) &&
+	    !xorg_list_is_empty(&crtc->scrn->pScreen->pixmap_dirty_list))
 		return FALSE;
 #endif
 
-- 
2.10.2



More information about the amd-gfx mailing list