summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2008-09-25 19:57:34 -0600
committerBrian Paul <brianp@vmware.com>2009-01-06 14:18:57 -0700
commitc3be5e4a050561e25854f38aa221bbf657848762 (patch)
treed22e0ac35c074025fb4a6c71cfba5eae12b55d6c
parentbec14ebf5e4253cdb9e7610273cdd38360394404 (diff)
mesa: fix cast/conversion for optional code
(cherry picked from commit 1e3a44fab068f00378613456036716d0c3772969)
-rw-r--r--src/mesa/main/get.c2
-rw-r--r--src/mesa/main/get_gen.py8
2 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 19cc4806f9..80dcea9bca 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -1092,7 +1092,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE);
ASSERT(n <= 100);
for (i = 0; i < n; i++)
- params[i] = ENUM_TO_INT(formats[i]);
+ params[i] = ENUM_TO_BOOLEAN(formats[i]);
}
break;
case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT:
diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py
index 4c841d05a4..f99e0a080d 100644
--- a/src/mesa/main/get_gen.py
+++ b/src/mesa/main/get_gen.py
@@ -50,7 +50,8 @@ TypeStrings = {
# - the GL state name, such as GL_CURRENT_COLOR
# - the state datatype, one of GLint, GLfloat, GLboolean or GLenum
# - list of code fragments to get the state, such as ["ctx->Foo.Bar"]
-# - optional extra code or empty string
+# - optional extra code or empty string. If present, "CONVERSION" will be
+# replaced by ENUM_TO_FLOAT, INT_TO_FLOAT, etc.
# - optional extensions to check, or None
#
StateVars = [
@@ -532,7 +533,7 @@ StateVars = [
GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE);
ASSERT(n <= 100);
for (i = 0; i < n; i++)
- params[i] = ENUM_TO_INT(formats[i]);""",
+ params[i] = CONVERSION(formats[i]);""",
["ARB_texture_compression"] ),
# GL_EXT_compiled_vertex_array
@@ -1078,10 +1079,11 @@ def EmitGetFunction(stateVars, returnType):
assert len(extensions) == 4
print (' CHECK_EXT4(%s, %s, %s, %s, "%s");' %
(extensions[0], extensions[1], extensions[2], extensions[3], function))
+ conversion = ConversionFunc(varType, returnType)
if optionalCode:
+ optionalCode = string.replace(optionalCode, "CONVERSION", conversion);
print " {"
print " " + optionalCode
- conversion = ConversionFunc(varType, returnType)
n = len(state)
for i in range(n):
if conversion: