From b93ae9b159790e8a979e9d5d567a0e6fccd7d08a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Thu, 19 Oct 2017 18:57:45 +0200 Subject: [PATCH] Unreference pixmap's FB with EXA as well in radeon_set_pixmap_bo Not doing so resulted in DRI2 page flips not actually changing the FB being scanned out, showing intermittent flicker of the "back" buffer rendering. Bugzilla: https://bugs.freedesktop.org/102643 Fixes: 55e513b978b2 "Use reference counting for tracking KMS framebuffer lifetimes" Reviewed-by: Alex Deucher --- src/radeon.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/radeon.h b/src/radeon.h index 81b04ae2..d54e4990 100644 --- a/src/radeon.h +++ b/src/radeon.h @@ -769,6 +769,8 @@ static inline Bool radeon_set_pixmap_bo(PixmapPtr pPix, struct radeon_bo *bo) if (driver_priv->bo) radeon_bo_unref(driver_priv->bo); + drmmode_fb_reference(pRADEONEnt->fd, &driver_priv->fb, NULL); + radeon_bo_ref(bo); driver_priv->bo = bo;