xf86-video-amdgpu: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Aug 16 13:59:02 UTC 2018


 src/amdgpu_glamor.c |    8 ++++++++
 src/amdgpu_kms.c    |   20 ++++++++------------
 2 files changed, 16 insertions(+), 12 deletions(-)

New commits:
commit 7f65a8c9e03bddf2378aaa928460632ed6b1a688
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Fri Aug 3 17:52:28 2018 +0200

    glamor: Check glamor module version for depth 30 support
    
    Instead of the Xorg version. This should allow glamor backported from
    xserver >= 1.20 to work with older Xorg versions.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

diff --git a/src/amdgpu_glamor.c b/src/amdgpu_glamor.c
index ea49f82..13d68fe 100644
--- a/src/amdgpu_glamor.c
+++ b/src/amdgpu_glamor.c
@@ -99,6 +99,14 @@ Bool amdgpu_glamor_pre_init(ScrnInfoPtr scrn)
 		} else {
 			AMDGPUEntPtr pAMDGPUEnt = AMDGPUEntPriv(scrn);
 
+			if (scrn->depth == 30 &&
+			    version < MODULE_VERSION_NUMERIC(1, 0, 1)) {
+				xf86DrvMsg(scrn->scrnIndex, X_WARNING,
+					   "Depth 30 requires glamor >= 1.0.1 (xserver 1.20),"
+					   " can't enable glamor\n");
+				return FALSE;
+			}
+
 			if (glamor_egl_init(scrn, pAMDGPUEnt->fd)) {
 				xf86DrvMsg(scrn->scrnIndex, X_INFO,
 					   "glamor detected, initialising EGL layer.\n");
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 7b13d77..9807e08 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -1168,14 +1168,6 @@ static Bool AMDGPUPreInitAccel_KMS(ScrnInfoPtr pScrn)
 			use_glamor = FALSE;
 #endif
 
-		if (pScrn->depth == 30 && use_glamor &&
-		    xorgGetVersion() < XORG_VERSION_NUMERIC(1,19,99,1,0)) {
-			xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-				   "Depth 30 is not supported by GLAMOR with "
-				   "Xorg < 1.19.99.1\n");
-			goto shadowfb;
-		}
-
 #ifdef DRI2
 		info->dri2.available = ! !xf86LoadSubModule(pScrn, "dri2");
 #endif
@@ -1184,16 +1176,20 @@ static Bool AMDGPUPreInitAccel_KMS(ScrnInfoPtr pScrn)
 			info->gbm = gbm_create_device(pAMDGPUEnt->fd);
 
 		if (info->gbm) {
-			if (!use_glamor ||
-			    amdgpu_glamor_pre_init(pScrn))
-				return TRUE;
+			if (use_glamor) {
+				if (amdgpu_glamor_pre_init(pScrn))
+					return TRUE;
+
+				xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+					   "amdgpu_glamor_pre_init returned "
+					   "FALSE, using ShadowFB\n");
+			}
 		} else {
 			xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
 				   "gbm_create_device returned NULL, using "
 				   "ShadowFB\n");
 		}
 	} else {
-shadowfb:
 		xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
 			   "GPU acceleration disabled, using ShadowFB\n");
 	}


More information about the xorg-commit mailing list