st/glx: accept GLX_SAMPLE_BUFFERS/SAMPLES_ARB == 0
authorBrian Paul <brianp@vmware.com>
Sun, 2 Dec 2012 23:18:22 +0000 (16:18 -0700)
committerBrian Paul <brianp@vmware.com>
Mon, 3 Dec 2012 18:10:09 +0000 (11:10 -0700)
Only fail if GLX_SAMPLE_BUFFERS_ARB or GLX_SAMPLES_ARB are non-zero.
We were already doing this in the older swrast/glx code.

This fixes a piglit/waffle problem where we'd always fail to get a
visual/config and report the test as "skip".

Note: This is a candidate for the stable branches.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/gallium/state_trackers/glx/xlib/glx_api.c

index 08db6e821ec1cc856420437b04572f2c31d209ac..8e3c6b89f24fab90c8a4b99cdb28554f2c50e2a8 100644 (file)
@@ -832,11 +832,13 @@ choose_visual( Display *dpy, int screen, const int *list, GLboolean fbConfig )
           * GLX_ARB_multisample
           */
          case GLX_SAMPLE_BUFFERS_ARB:
-            /* ms not supported */
-            return NULL;
          case GLX_SAMPLES_ARB:
-            /* ms not supported */
-            return NULL;
+            parselist++;
+            if (*parselist++ != 0) {
+               /* ms not supported */
+               return NULL;
+            }
+            break;
 
          /*
           * FBConfig attribs.