Tracking the CRTC associated with an event will save us some lookups later in event handlers.
Signed-off-by: Ilija Hadzic <[email protected]> --- src/radeon_dri2.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c index be3aef6..d5840db 100644 --- a/src/radeon_dri2.c +++ b/src/radeon_dri2.c @@ -498,6 +498,7 @@ typedef struct _DRI2FrameEvent { ClientPtr client; enum DRI2FrameEventType type; int frame; + xf86CrtcPtr crtc; /* for swaps & flips only */ DRI2SwapEventPtr event_complete; @@ -645,6 +646,7 @@ radeon_dri2_schedule_flip(ScrnInfoPtr scrn, ClientPtr client, flip_info->event_complete = func; flip_info->event_data = data; flip_info->frame = target_msc; + flip_info->crtc = crtc; xf86DrvMsgVerb(scrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, "%s:%d fevent[%p]\n", __func__, __LINE__, flip_info); @@ -1021,6 +1023,7 @@ static int radeon_dri2_schedule_wait_msc(ClientPtr client, DrawablePtr draw, wait_info->client = client; wait_info->type = DRI2_WAITMSC; wait_info->valid = TRUE; + wait_info->crtc = crtc; if (ListAddDRI2ClientEvents(client, &wait_info->link)) { xf86DrvMsg(scrn->scrnIndex, X_WARNING, @@ -1246,6 +1249,7 @@ static int radeon_dri2_schedule_swap(ClientPtr client, DrawablePtr draw, swap_info->front = front; swap_info->back = back; swap_info->valid = TRUE; + swap_info->crtc = crtc; if (ListAddDRI2ClientEvents(client, &swap_info->link)) { xf86DrvMsg(scrn->scrnIndex, X_WARNING, "add events to client private failed.\n"); -- 1.8.1.5 _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
