summaryrefslogtreecommitdiff
path: root/src/radeon_dri2.c
diff options
context:
space:
mode:
authorMario Kleiner <mario.kleiner@tuebingen.mpg.de>2010-12-19 03:56:17 +0100
committerAlex Deucher <alexdeucher@gmail.com>2010-12-19 00:11:03 -0500
commite27e9b4e50ad42885ad2e25be897cdf29aa59712 (patch)
tree3ecd0d0bac43e34180ee9f4a208872c2b9448873 /src/radeon_dri2.c
parent69639ef377a9d6701cdef902f8a1c5e0b58cf833 (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.c7
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;
}