Mesa (master): Fix inverted version checks in check_extra.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Aug 30 19:42:10 UTC 2010


Module: Mesa
Branch: master
Commit: 9b0ba68b4489557c48efa088c3884120dabc68fb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b0ba68b4489557c48efa088c3884120dabc68fb

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Aug 30 12:22:39 2010 -0700

Fix inverted version checks in check_extra.

Previously, if an attribute was enabled by either a specific GL version
or an extension, the check would require -both- to be enabled.  This bug
was not discovered earlier because version checks are currently only ever
used on their own.

Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/main/get.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 632dadd..a3cb5ec 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -1661,16 +1661,22 @@ check_extra(GLcontext *ctx, const char *func, const struct value_desc *d)
    for (e = d->extra; *e != EXTRA_END; e++)
       switch (*e) {
       case EXTRA_VERSION_30:
-	 if (version < 30)
-	    return GL_FALSE;
+	 if (version >= 30) {
+	    total++;
+	    enabled++;
+	 }
 	 break;
       case EXTRA_VERSION_31:
-	 if (version < 31)
-	    return GL_FALSE;
+	 if (version >= 31) {
+	    total++;
+	    enabled++;
+	 }
 	 break;
       case EXTRA_VERSION_32:
-	 if (version < 32)
-	    return GL_FALSE;
+	 if (version >= 32) {
+	    total++;
+	    enabled++;
+	 }
 	 break;
       case EXTRA_NEW_BUFFERS:
 	 if (ctx->NewState & _NEW_BUFFERS)




More information about the mesa-commit mailing list