https://bugs.freedesktop.org/show_bug.cgi?id=81139

--- Comment #11 from Boyan Ding <stu_...@126.com> ---
I found the following things:
1. When things are right the window_msc argument of present_pixmap is always a
small number (often 1 or sometimes 2), but when things starts to go wrong, it
can be very big.

2. When things go wrong (window_msc is very big), present_pixmap is directly
originated in dri3_swap_buffers in dri3_glx.c in mesa, which is called by
glXSwapBuffers like the following:
   (*pdraw->psc->driScreen->swapBuffers)(pdraw, 0, 0, 0, flush)
                                                ^
3. target_msc (will be window_msc in present_pixmap) in dri3_swap_buffers is
originally 0 (note the mark on the previous line). So it is re-calculated
according to the following expression:
    target_msc = priv->msc + priv->swap_interval * (priv->send_sbc -
priv->recv_sbc);
and priv->msc is guilty of the big value (Seems that it should be 0 or 1
normally).

How can priv->msc change?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to