[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