From 36c4b1a3da44a80624eab9da6543540b4b253f1d Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Thu, 11 Aug 2011 17:33:06 -0700 Subject: [PATCH] glsl: Add constant gl_MaxClipDistances. Fixes piglit tests {vs,fs}-clip-distance-sizeable-to-max.shader_test. Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- src/glsl/ir_variable.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 @@ -584,6 +584,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): * -- 2.30.2