From: Jesse Barnes Date: Mon, 22 Mar 2010 23:39:11 +0000 (-0700) Subject: GLX/OML: honor OML semantics even if target, divisor and remainder are 0 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8f4f2a0c3625de2bb2b8e955afc23b3ce8c95f93;p=mesa.git GLX/OML: honor OML semantics even if target, divisor and remainder are 0 This change passes a remainder of 1 to the server with the DRI2SwapBuffers request, causing it to honor the OML semantics for the swap rather than falling through to glXSwapBuffers behavior. The remainder actually ends up ignored since the divisor is 0, but we need to differentiate the OML and standard behavior somehow. Reported-by: Mario Kleiner Signed-off-by: Jesse Barnes --- diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 49cbce72f8a..ea267f3dd8a 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -2507,6 +2507,9 @@ __glXSwapBuffersMscOML(Display * dpy, GLXDrawable drawable, if (divisor > 0 && remainder >= divisor) return -1; + if (target_msc == 0 && divisor == 0 && remainder == 0) + remainder = 1; + #ifdef __DRI_SWAP_BUFFER_COUNTER if (psc->counters != NULL) return (*psc->sbc->swapBuffersMSC)(pdraw->driDrawable, target_msc,