[PATCH xf86-video-ati] Unreference pixmap's FB with EXA as well in radeon_set_pixmap_bo

Michel Dänzer michel at daenzer.net
Thu Oct 19 16:58:35 UTC 2017


From: Michel Dänzer <michel.daenzer at amd.com>

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"
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/radeon.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/radeon.h b/src/radeon.h
index 81b04ae24..d54e4990c 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;
 
-- 
2.14.2



More information about the amd-gfx mailing list