mirror of
https://github.com/X11Libre/xf86-video-amdgpu.git
synced 2026-03-24 01:24:31 +00:00
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>
This commit is contained in:
committed by
Michel Dänzer
parent
08c4d42f43
commit
7f65a8c9e0
@@ -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");
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user