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: 55e513b978 "Use reference counting for tracking KMS framebuffer
                     lifetimes"
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Michel Dänzer
2017-10-19 18:57:45 +02:00
committed by Michel Dänzer
parent 61113768bd
commit b93ae9b159

View File

@@ -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;