summaryrefslogtreecommitdiff
path: root/src/radeon_present.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/radeon_present.c')
-rw-r--r--src/radeon_present.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/radeon_present.c b/src/radeon_present.c
index 68be1c73..286b3f42 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -382,6 +382,12 @@ radeon_present_unflip(ScreenPtr screen, uint64_t event_id)
return;
modeset:
+ /* info->drmmode.fb_id still points to the FB for the last flipped BO.
+ * Clear it, drmmode_set_mode_major will re-create it
+ */
+ drmModeRmFB(info->drmmode.fd, info->drmmode.fb_id);
+ info->drmmode.fb_id = 0;
+
for (i = 0; i < config->num_crtc; i++) {
xf86CrtcPtr crtc = config->crtc[i];
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;