__glXInitializeVisualConfigFromTags doesn't skip the payload of unrecognized
tags.  Instead, it treats the value as if it were the next tag, which can happen
if the server's GLX extension is not Mesa's.  For example, this falls down when
NVIDIA sends a GLX_FLOAT_COMPONENTS_NV = 0 pair, causing
__glXInitializeVisualConfigFromTags to bail out early.

Signed-off-by: Aaron Plattner <aplatt...@nvidia.com>
---
 src/glx/glxext.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 5289354..6d6f89e 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
@@ -539,6 +539,8 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * 
config, int count,
          i = count;
          break;
       default:
+         /* Ignore the unrecognized tag's value */
+         bp++;
          break;
       }
    }
-- 
1.6.3.3

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to