[PATCH xf86-video-amdgpu 3/3] Wait for scanout BO initialization to finish before setting mode

Alex Deucher alexdeucher at gmail.com
Fri Aug 7 07:23:04 PDT 2015


On Thu, Aug 6, 2015 at 11:44 PM, Michel Dänzer <michel at daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> This should avoid intermittent artifacts which could sometimes be visible
> when setting a new scanout pixmap, e.g. on server startup or when
> changing resolutions.
>
> (Ported from radeon commit 3791fceabf2cb037467dc41c15364e9f9ec1e47e)
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

For the series:

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

> ---
>  src/drmmode_display.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/drmmode_display.c b/src/drmmode_display.c
> index 98dd3b1..88987d0 100644
> --- a/src/drmmode_display.c
> +++ b/src/drmmode_display.c
> @@ -416,7 +416,7 @@ void drmmode_copy_fb(ScrnInfoPtr pScrn, drmmode_ptr drmmode)
>
>         FreeScratchGC(gc);
>
> -       amdgpu_glamor_flush(pScrn);
> +       amdgpu_glamor_finish(pScrn);
>
>         pScreen->canDoBGNoneRoot = TRUE;
>
> @@ -697,6 +697,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
>                                 x = y = 0;
>
>                                 amdgpu_scanout_update_handler(pScrn, 0, 0, crtc);
> +                               amdgpu_glamor_finish(pScrn);
>                         }
>                 }
>                 ret =
> @@ -1630,7 +1631,7 @@ static Bool drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
>         (*gc->ops->PolyFillRect)(&ppix->drawable, gc, 1, &rect);
>         info->force_accel = FALSE;
>         FreeScratchGC(gc);
> -       amdgpu_glamor_flush(scrn);
> +       amdgpu_glamor_finish(scrn);
>
>         for (i = 0; i < xf86_config->num_crtc; i++) {
>                 xf86CrtcPtr crtc = xf86_config->crtc[i];
> --
> 2.5.0
>
> _______________________________________________
> 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