diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2018-08-03 17:52:28 +0200 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2018-08-16 15:56:57 +0200 |
commit | 7f65a8c9e03bddf2378aaa928460632ed6b1a688 (patch) | |
tree | aef3181f4ce0535351164e0583b31af30e8d1faa /src | |
parent | 08c4d42f43f80baa4bbc2ff9d0a422202cdc3538 (diff) |
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@amd.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/amdgpu_glamor.c | 8 | ||||
-rw-r--r-- | src/amdgpu_kms.c | 20 |
2 files changed, 16 insertions, 12 deletions
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"); } |