summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_simplify.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-07-05 00:53:13 +1000
committerBen Skeggs <skeggsb@gmail.com>2008-07-05 00:53:13 +1000
commit77f8167d75d0016c76812fc147c06072e5729965 (patch)
treef610929b3fa6d62013593df797b9e05d7c1452b4 /src/mesa/shader/slang/slang_simplify.c
parent6f56b527d866506a323feb19f9d8529d40034af2 (diff)
parent194cfc7a4ed86653db34be0e331ad7c23b5334eb (diff)
Merge remote branch 'upstream/gallium-0.1' into gallium-0.1
Diffstat (limited to 'src/mesa/shader/slang/slang_simplify.c')
-rw-r--r--src/mesa/shader/slang/slang_simplify.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/mesa/shader/slang/slang_simplify.c b/src/mesa/shader/slang/slang_simplify.c
index 21d004db88..158d6bc8cf 100644
--- a/src/mesa/shader/slang/slang_simplify.c
+++ b/src/mesa/shader/slang/slang_simplify.c
@@ -49,20 +49,26 @@ _slang_lookup_constant(const char *name)
struct constant_info {
const char *Name;
const GLenum Token;
+ GLint Divisor;
};
static const struct constant_info info[] = {
- { "gl_MaxClipPlanes", GL_MAX_CLIP_PLANES },
- { "gl_MaxCombinedTextureImageUnits", GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS },
- { "gl_MaxDrawBuffers", GL_MAX_DRAW_BUFFERS },
- { "gl_MaxFragmentUniformComponents", GL_MAX_FRAGMENT_UNIFORM_COMPONENTS },
- { "gl_MaxLights", GL_MAX_LIGHTS },
- { "gl_MaxTextureUnits", GL_MAX_TEXTURE_UNITS },
- { "gl_MaxTextureCoords", GL_MAX_TEXTURE_COORDS },
- { "gl_MaxVertexAttribs", GL_MAX_VERTEX_ATTRIBS },
- { "gl_MaxVertexUniformComponents", GL_MAX_VERTEX_UNIFORM_COMPONENTS },
- { "gl_MaxVaryingFloats", GL_MAX_VARYING_FLOATS },
- { "gl_MaxVertexTextureImageUnits", GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS },
- { "gl_MaxTextureImageUnits", GL_MAX_TEXTURE_IMAGE_UNITS },
+ { "gl_MaxClipPlanes", GL_MAX_CLIP_PLANES, 1 },
+ { "gl_MaxCombinedTextureImageUnits", GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, 1 },
+ { "gl_MaxDrawBuffers", GL_MAX_DRAW_BUFFERS, 1 },
+ { "gl_MaxFragmentUniformComponents", GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, 1 },
+ { "gl_MaxLights", GL_MAX_LIGHTS, 1 },
+ { "gl_MaxTextureUnits", GL_MAX_TEXTURE_UNITS, 1 },
+ { "gl_MaxTextureCoords", GL_MAX_TEXTURE_COORDS, 1 },
+ { "gl_MaxVertexAttribs", GL_MAX_VERTEX_ATTRIBS, 1 },
+ { "gl_MaxVertexUniformComponents", GL_MAX_VERTEX_UNIFORM_COMPONENTS, 1 },
+ { "gl_MaxVaryingFloats", GL_MAX_VARYING_FLOATS, 1 },
+ { "gl_MaxVertexTextureImageUnits", GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, 1 },
+ { "gl_MaxTextureImageUnits", GL_MAX_TEXTURE_IMAGE_UNITS, 1 },
+#if FEATURE_es2_glsl
+ { "gl_MaxVertexUniformVectors", GL_MAX_VERTEX_UNIFORM_COMPONENTS, 4 },
+ { "gl_MaxVaryingVectors", GL_MAX_VARYING_FLOATS, 4 },
+ { "gl_MaxFragmentUniformVectors", GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, 4 },
+#endif
{ NULL, 0 }
};
GLuint i;
@@ -73,7 +79,7 @@ _slang_lookup_constant(const char *name)
GLint value = -1.0;
_mesa_GetIntegerv(info[i].Token, &value);
ASSERT(value >= 0); /* sanity check that glGetFloatv worked */
- return value;
+ return value / info[i].Divisor;
}
}
return -1;