[PATCH xf86-video-amdgpu] glamor: Check glamor module version for depth 30 support
Alex Deucher
alexdeucher at gmail.com
Fri Aug 3 17:07:49 UTC 2018
On Fri, Aug 3, 2018 at 11:53 AM, Michel Dänzer <michel at daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> Instead of the Xorg version. This should allow glamor backported from
> xserver >= 1.20 to work with older Xorg versions.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> src/amdgpu_glamor.c | 8 ++++++++
> 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 ea49f822f..13d68fe36 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 7b13d777e..9807e084b 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");
> }
> --
> 2.18.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list