diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c index edf643d..8e8c55d 100644 --- a/src/radeon_dri2.c +++ b/src/radeon_dri2.c @@ -643,7 +643,7 @@ radeon_dri2_schedule_flip(ScrnInfoPtr scrn, ClientPtr client, void *data, unsigned int target_msc) { struct dri2_buffer_priv *back_priv; - struct radeon_bo *bo; + uint32_t handle; DRI2FrameEventPtr flip_info; /* Main crtc for this drawable shall finally deliver pageflip event. */ xf86CrtcPtr crtc = radeon_dri2_drawable_crtc(draw, FALSE); @@ -666,9 +666,10 @@ radeon_dri2_schedule_flip(ScrnInfoPtr scrn, ClientPtr client, /* Page flip the full screen buffer */ back_priv = back->driverPrivate; - bo = radeon_get_pixmap_bo(back_priv->pixmap); + if (!radeon_get_pixmap_handle(back_priv->pixmap, &handle)) + return FALSE; - return radeon_do_pageflip(scrn, client, bo->handle, + return radeon_do_pageflip(scrn, client, handle, RADEON_DRM_QUEUE_ID_DEFAULT, flip_info, ref_crtc_hw_id, radeon_dri2_flip_event_handler,