summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_variable.cpp
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2011-08-11 17:33:06 -0700
committerPaul Berry <[email protected]>2011-09-08 09:37:12 -0700
commit36c4b1a3da44a80624eab9da6543540b4b253f1d (patch)
tree70c08a3443e9c91ba0561b090d6d0092f2fd3dad /src/glsl/ir_variable.cpp
parentaf243b55ac346f39acda1ad20d90e7c8cc1a33c7 (diff)
glsl: Add constant gl_MaxClipDistances.
Fixes piglit tests {vs,fs}-clip-distance-sizeable-to-max.shader_test. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/ir_variable.cpp')
-rw-r--r--src/glsl/ir_variable.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/glsl/ir_variable.cpp b/src/glsl/ir_variable.cpp
index 38094568b4f..e0b6f38f1c9 100644
--- a/src/glsl/ir_variable.cpp
+++ b/src/glsl/ir_variable.cpp
@@ -585,6 +585,17 @@ generate_120_vs_variables(exec_list *instructions,
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 @@ generate_130_vs_variables(exec_list *instructions,
& 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_130_fs_variables(exec_list *instructions,
{
generate_120_fs_variables(instructions, state);
+ generate_130_uniforms(instructions, state);
+
/* From the GLSL 1.30 spec, section 7.2 (Fragment Shader Special
* Variables):
*