diff options
author | Brian Paul <brianp@vmware.com> | 2013-01-03 17:31:22 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2013-01-04 15:18:53 -0700 |
commit | 46bad058eb1f2fa73a4db19655bc660dde1befb9 (patch) | |
tree | b01cee9ad5301cea066c6dc5a164c75dd097d0f2 /src/mesa/drivers/x11 | |
parent | fe90762414ea3191143a82534e304871c1e311a8 (diff) | |
download | external_mesa3d-46bad058eb1f2fa73a4db19655bc660dde1befb9.zip external_mesa3d-46bad058eb1f2fa73a4db19655bc660dde1befb9.tar.gz external_mesa3d-46bad058eb1f2fa73a4db19655bc660dde1befb9.tar.bz2 |
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>
Diffstat (limited to 'src/mesa/drivers/x11')
-rw-r--r-- | src/mesa/drivers/x11/fakeglx.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mesa/drivers/x11/fakeglx.c b/src/mesa/drivers/x11/fakeglx.c index 3dca405..2208d5e 100644 --- a/src/mesa/drivers/x11/fakeglx.c +++ b/src/mesa/drivers/x11/fakeglx.c @@ -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) { |