Mesa (master): st/glx: allow GLX_DONT_CARE for glXChooseFBConfig() attribute values
Brian Paul
brianp at kemper.freedesktop.org
Fri Jan 4 22:30:37 UTC 2013
Module: Mesa
Branch: master
Commit: fe90762414ea3191143a82534e304871c1e311a8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe90762414ea3191143a82534e304871c1e311a8
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jan 3 17:30:34 2013 -0700
st/glx: 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 at linux.intel.com>
---
src/gallium/state_trackers/glx/xlib/glx_api.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/src/gallium/state_trackers/glx/xlib/glx_api.c b/src/gallium/state_trackers/glx/xlib/glx_api.c
index 8e3c6b8..20fae26 100644
--- a/src/gallium/state_trackers/glx/xlib/glx_api.c
+++ b/src/gallium/state_trackers/glx/xlib/glx_api.c
@@ -687,6 +687,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, 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) {
More information about the mesa-commit
mailing list