mesa: set up gl_vert_result and gl_frag_attrib values for gl_ClipDistance.
This patch assigns enumerated values for gl_ClipDistance in the
gl_vert_result and gl_frag_attrib enums, so that driver back-ends can
assign gl_ClipDistance to the appropriate hardware registers. It also
adjusts the functions _mesa_vert_result_to_frag_attrib() and
_mesa_frag_attrib_to_vert_result() (which translate between the two
enums) to correctly translate the new enumerated values.
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Brian Paul <brianp@vmware.com>
diff --git a/src/glsl/ir_variable.cpp b/src/glsl/ir_variable.cpp
index e0b6f38..58be64b 100644
--- a/src/glsl/ir_variable.cpp
+++ b/src/glsl/ir_variable.cpp
@@ -621,9 +621,9 @@
const glsl_type *const clip_distance_array_type =
glsl_type::get_array_instance(glsl_type::float_type, 0);
- /* FINISHME: gl_ClipDistance needs a real location assigned. */
add_variable(instructions, state->symbols,
- "gl_ClipDistance", clip_distance_array_type, ir_var_out, -1);
+ "gl_ClipDistance", clip_distance_array_type, ir_var_out,
+ VERT_RESULT_CLIP_DIST0);
}
@@ -841,9 +841,9 @@
const glsl_type *const clip_distance_array_type =
glsl_type::get_array_instance(glsl_type::float_type, 0);
- /* FINISHME: gl_ClipDistance needs a real location assigned. */
add_variable(instructions, state->symbols,
- "gl_ClipDistance", clip_distance_array_type, ir_var_in, -1);
+ "gl_ClipDistance", clip_distance_array_type, ir_var_in,
+ FRAG_ATTRIB_CLIP_DIST0);
}
static void