[PATCH xf86-video-amdgpu] Only map front buffer if necessary for ShadowFB

Alex Deucher alexdeucher at gmail.com
Tue Jan 26 06:02:35 PST 2016


On Tue, Jan 26, 2016 at 2:14 AM, Michel Dänzer <michel at daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> Otherwise the front buffer may not be accessible by the CPU, because Mesa
> sets the AMDGPU_GEM_CREATE_NO_CPU_ACCESS flag for tiled buffers, because
> accessing tiled buffers with the CPU makes little sense.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

Good catch!

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>


> ---
>  src/amdgpu_kms.c      | 3 ++-
>  src/drmmode_display.c | 2 +-
>  2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
> index e090c25..4475bff 100644
> --- a/src/amdgpu_kms.c
> +++ b/src/amdgpu_kms.c
> @@ -1431,7 +1431,8 @@ static Bool amdgpu_setup_kernel_mem(ScreenPtr pScreen)
>                         return FALSE;
>                 }
>
> -               if (amdgpu_bo_map(pScrn, info->front_buffer)) {
> +               if (info->shadow_fb &&
> +                   amdgpu_bo_map(pScrn, info->front_buffer) != 0) {
>                         ErrorF("Failed to map front buffer memory\n");
>                         return FALSE;
>                 }
> diff --git a/src/drmmode_display.c b/src/drmmode_display.c
> index 3f015f9..fe1d17e 100644
> --- a/src/drmmode_display.c
> +++ b/src/drmmode_display.c
> @@ -1741,7 +1741,7 @@ static Bool drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
>                 goto fail;
>         }
>
> -       if (amdgpu_bo_map(scrn, info->front_buffer)) {
> +       if (info->shadow_fb && amdgpu_bo_map(scrn, info->front_buffer) != 0) {
>                 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
>                            "Failed to map front buffer memory\n");
>                 goto fail;
> --
> 2.7.0.rc3
>
> _______________________________________________
> xorg-driver-ati mailing list
> xorg-driver-ati at lists.x.org
> http://lists.x.org/mailman/listinfo/xorg-driver-ati


More information about the xorg-driver-ati mailing list