summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2017-10-19 18:57:45 +0200
committerMichel Dänzer <michel@daenzer.net>2017-10-20 10:28:37 +0200
commitb93ae9b159790e8a979e9d5d567a0e6fccd7d08a (patch)
tree0354b517ab7f97e94f71c924001739496e854411
parent61113768bd79ec5c2164835e2e048e8f2a42ce9a (diff)
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 <alexander.deucher@amd.com>
-rw-r--r--src/radeon.h2
1 files changed, 2 insertions, 0 deletions
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;