xlib: allow GLX_DONT_CARE for glXChooseFBConfig() attribute values

Fixes piglit glx-dont-care-mask test.

Note: This is a candidate for the stable branches.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
Brian Paul 2013-01-03 17:31:22 -07:00
parent fe90762414
commit 46bad058eb

View file

@ -911,6 +911,20 @@ choose_visual( Display *dpy, int screen, const int *list, GLboolean fbConfig )
while (*parselist) {
if (fbConfig &&
parselist[1] == GLX_DONT_CARE &&
parselist[0] != GLX_LEVEL) {
/* For glXChooseFBConfig(), skip attributes whose value is
* GLX_DONT_CARE (-1), unless it's GLX_LEVEL (which can legitimately be
* a negative value).
*
* From page 17 (23 of the pdf) of the GLX 1.4 spec:
* GLX DONT CARE may be specified for all attributes except GLX LEVEL.
*/
parselist += 2;
continue;
}
switch (*parselist) {
case GLX_USE_GL:
if (fbConfig) {