Track DRM event queue sequence number in scanout_update_pending

Preparation for next change, no behaviour change intended.
(Ported from amdgpu commit 04a5c5f7cfacad8d9ccffe81e388cc3da2036cb5)
Acked-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Michel Dänzer
2018-07-10 18:43:28 +02:00
committed by Michel Dänzer
parent d14ff6b778
commit 290291a115
2 changed files with 9 additions and 9 deletions

View File

@@ -88,7 +88,7 @@ typedef struct {
Bool ignore_damage;
RegionRec scanout_last_region;
unsigned scanout_id;
Bool scanout_update_pending;
uintptr_t scanout_update_pending;
Bool tear_free;
PixmapPtr prime_scanout_pixmap;

View File

@@ -526,7 +526,7 @@ radeon_scanout_flip_abort(xf86CrtcPtr crtc, void *event_data)
RADEONEntPtr pRADEONEnt = RADEONEntPriv(crtc->scrn);
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
drmmode_crtc->scanout_update_pending = FALSE;
drmmode_crtc->scanout_update_pending = 0;
drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->flip_pending,
NULL);
}
@@ -611,7 +611,7 @@ radeon_prime_scanout_update_abort(xf86CrtcPtr crtc, void *event_data)
{
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
drmmode_crtc->scanout_update_pending = FALSE;
drmmode_crtc->scanout_update_pending = 0;
}
void
@@ -752,7 +752,7 @@ radeon_prime_scanout_update_handler(xf86CrtcPtr crtc, uint32_t frame, uint64_t u
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
radeon_prime_scanout_do_update(crtc, 0);
drmmode_crtc->scanout_update_pending = FALSE;
drmmode_crtc->scanout_update_pending = 0;
}
static void
@@ -793,7 +793,7 @@ radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty)
return;
}
drmmode_crtc->scanout_update_pending = TRUE;
drmmode_crtc->scanout_update_pending = drm_queue_seq;
}
static void
@@ -851,7 +851,7 @@ radeon_prime_scanout_flip(PixmapDirtyUpdatePtr ent)
}
drmmode_crtc->scanout_id = scanout_id;
drmmode_crtc->scanout_update_pending = TRUE;
drmmode_crtc->scanout_update_pending = drm_queue_seq;
}
static void
@@ -1000,7 +1000,7 @@ radeon_scanout_update_abort(xf86CrtcPtr crtc, void *event_data)
{
drmmode_crtc_private_ptr drmmode_crtc = event_data;
drmmode_crtc->scanout_update_pending = FALSE;
drmmode_crtc->scanout_update_pending = 0;
}
static void
@@ -1077,7 +1077,7 @@ radeon_scanout_update(xf86CrtcPtr xf86_crtc)
return;
}
drmmode_crtc->scanout_update_pending = TRUE;
drmmode_crtc->scanout_update_pending = drm_queue_seq;
}
static void
@@ -1144,7 +1144,7 @@ radeon_scanout_flip(ScreenPtr pScreen, RADEONInfoPtr info,
}
drmmode_crtc->scanout_id = scanout_id;
drmmode_crtc->scanout_update_pending = TRUE;
drmmode_crtc->scanout_update_pending = drm_queue_seq;
}
static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)