summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2013-04-10 09:49:37 -0700
committerEric Anholt <[email protected]>2013-04-29 11:41:33 -0700
commit2534f0a57d27cf99b6eed5ab94cdbd96e36a6fb9 (patch)
tree8e0713f12ce31239725121ac91733916df489f70
parentd63a10afcc98d51ee1a297ab40ef3c1b9d8b1c1f (diff)
mesa: Fix error checking for getters consisting of only API versions.
In almost all of our cases, getters that are turned on for only some API variants will have an extension listed as one of the things that can enable it, and thus api_check gets set. For extra_gl30_es3 (used for NUM_EXTENSIONS, MAJOR_VERSION, MINOR_VERSION) on a GL 2.1 context, though, we would check twice, not find either one, but never actually throw the error.
-rw-r--r--src/mesa/main/get.c56
1 files changed, 24 insertions, 32 deletions
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 09022bc7166..6bc5f2976e0 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -908,50 +908,43 @@ check_extra(struct gl_context *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) {
- api_check = GL_TRUE;
- api_found = GL_TRUE;
- }
+ api_check = GL_TRUE;
+ if (version >= 30)
+ api_found = GL_TRUE;
break;
case EXTRA_VERSION_31:
- if (version >= 31) {
- api_check = GL_TRUE;
- api_found = GL_TRUE;
- }
+ api_check = GL_TRUE;
+ if (version >= 31)
+ api_found = GL_TRUE;
break;
case EXTRA_VERSION_32:
- if (version >= 32) {
- api_check = GL_TRUE;
- api_found = GL_TRUE;
- }
+ api_check = GL_TRUE;
+ if (version >= 32)
+ api_found = GL_TRUE;
break;
case EXTRA_NEW_FRAG_CLAMP:
if (ctx->NewState & (_NEW_BUFFERS | _NEW_FRAG_CLAMP))
_mesa_update_state(ctx);
break;
case EXTRA_API_ES2:
- if (ctx->API == API_OPENGLES2) {
- api_check = GL_TRUE;
- api_found = GL_TRUE;
- }
+ api_check = GL_TRUE;
+ if (ctx->API == API_OPENGLES2)
+ api_found = GL_TRUE;
break;
case EXTRA_API_ES3:
- if (_mesa_is_gles3(ctx)) {
- api_check = GL_TRUE;
- api_found = GL_TRUE;
- }
+ api_check = GL_TRUE;
+ if (_mesa_is_gles3(ctx))
+ api_found = GL_TRUE;
break;
case EXTRA_API_GL:
- if (_mesa_is_desktop_gl(ctx)) {
- api_check = GL_TRUE;
- api_found = GL_TRUE;
- }
+ api_check = GL_TRUE;
+ if (_mesa_is_desktop_gl(ctx))
+ api_found = GL_TRUE;
break;
case EXTRA_API_GL_CORE:
- if (ctx->API == API_OPENGL_CORE) {
- api_check = GL_TRUE;
- api_found = GL_TRUE;
- }
+ api_check = GL_TRUE;
+ if (ctx->API == API_OPENGL_CORE)
+ api_found = GL_TRUE;
break;
case EXTRA_NEW_BUFFERS:
if (ctx->NewState & _NEW_BUFFERS)
@@ -982,10 +975,9 @@ check_extra(struct gl_context *ctx, const char *func, const struct value_desc *d
}
break;
case EXTRA_GLSL_130:
- if (ctx->Const.GLSLVersion >= 130) {
- api_check = GL_TRUE;
- api_found = GL_TRUE;
- }
+ api_check = GL_TRUE;
+ if (ctx->Const.GLSLVersion >= 130)
+ api_found = GL_TRUE;
break;
case EXTRA_END:
break;