diff options
author | Mario Kleiner <mario.kleiner@tuebingen.mpg.de> | 2010-12-19 03:56:17 +0100 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2010-12-19 00:11:03 -0500 |
commit | e27e9b4e50ad42885ad2e25be897cdf29aa59712 (patch) | |
tree | 3ecd0d0bac43e34180ee9f4a208872c2b9448873 /src/radeon_dri2.c | |
parent | 69639ef377a9d6701cdef902f8a1c5e0b58cf833 (diff) |
ddx/ati: Bugfix for pageflip consistency check.
target_msc wasn't passed from vblank event handler
to pageflip routine, due to a missing initalization.
Now fixed.
Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Diffstat (limited to 'src/radeon_dri2.c')
-rw-r--r-- | src/radeon_dri2.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c index 8b12872a..e8e16ff9 100644 --- a/src/radeon_dri2.c +++ b/src/radeon_dri2.c @@ -595,7 +595,7 @@ static Bool radeon_dri2_schedule_flip(ScrnInfoPtr scrn, ClientPtr client, DrawablePtr draw, DRI2BufferPtr front, DRI2BufferPtr back, DRI2SwapEventPtr func, - void *data) + void *data, unsigned int target_msc) { struct dri2_buffer_priv *back_priv; struct radeon_exa_pixmap_priv *exa_priv; @@ -613,6 +613,8 @@ radeon_dri2_schedule_flip(ScrnInfoPtr scrn, ClientPtr client, flip_info->type = DRI2_SWAP; flip_info->event_complete = func; flip_info->event_data = data; + flip_info->frame = target_msc; + xf86DrvMsgVerb(scrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, "%s:%d fevent[%p]\n", __func__, __LINE__, flip_info); @@ -717,7 +719,8 @@ void radeon_dri2_frame_event_handler(unsigned int frame, unsigned int tv_sec, event->front, event->back, event->event_complete, - event->event_data)) { + event->event_data, + event->frame)) { radeon_dri2_exchange_buffers(drawable, event->front, event->back); break; } |