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>
This commit is contained in:
Paul Berry 2011-08-11 17:33:06 -07:00
parent af243b55ac
commit 36c4b1a3da

View file

@ -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):
*