glx/dri3: Fix glXWaitForSbcOML() to handle targetSBC==0 correctly. (v2)
authorMario Kleiner <mario.kleiner.de@gmail.com>
Fri, 5 Dec 2014 07:42:29 +0000 (08:42 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Sun, 14 Dec 2014 15:09:49 +0000 (15:09 +0000)
commit8cab54de16f4691672533967daa79c9cfa2e24cc
treeb283ce147c049a4594b7951df6eeac71db46f3c4
parentac0940224b7ce154f9492f07ef8c1df036a0b57b
glx/dri3: Fix glXWaitForSbcOML() to handle targetSBC==0 correctly. (v2)

targetSBC == 0 is a special case, which asks the function
to block until all pending OpenGL bufferswap requests have
completed.

Currently the function just falls through for targetSBC == 0,
returning bogus results.

This breaks applications originally written and tested against
DRI2 which also rely on this not regressing under DRI3/Present,
e.g., Neuro-Science software like Psychtoolbox-3.

This patch fixes the problem.

v2: Simplify as suggested by Axel Davy. Add comments proposed
by Eric Anholt.

Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/glx/dri3_glx.c