glsl: Add constant gl_MaxClipDistances.
Fixes piglit tests {vs,fs}-clip-distance-sizeable-to-max.shader_test.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
diff --git a/src/glsl/ir_variable.cpp b/src/glsl/ir_variable.cpp
index 3809456..e0b6f38 100644
--- a/src/glsl/ir_variable.cpp
+++ b/src/glsl/ir_variable.cpp
@@ -585,6 +585,17 @@
static void
+generate_130_uniforms(exec_list *instructions,
+ struct _mesa_glsl_parse_state *state)
+{
+ glsl_symbol_table *const symtab = state->symbols;
+
+ add_builtin_constant(instructions, symtab, "gl_MaxClipDistances",
+ state->Const.MaxClipPlanes);
+}
+
+
+static void
generate_130_vs_variables(exec_list *instructions,
struct _mesa_glsl_parse_state *state)
{
@@ -595,6 +606,8 @@
& builtin_130_vs_variables[i]);
}
+ generate_130_uniforms(instructions, state);
+
/* From the GLSL 1.30 spec, section 7.1 (Vertex Shader Special
* Variables):
*
@@ -811,6 +824,8 @@
{
generate_120_fs_variables(instructions, state);
+ generate_130_uniforms(instructions, state);
+
/* From the GLSL 1.30 spec, section 7.2 (Fragment Shader Special
* Variables):
*