summaryrefslogtreecommitdiff
path: root/src/glsl
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2011-10-11 16:15:47 -0700
committerIan Romanick <ian.d.romanick@intel.com>2011-11-07 13:33:15 -0800
commitf6ee7bce65697ea3c6a78a000a49af901ba77c1d (patch)
tree8020b8e53dc1456703315022f2211252eff3f91b /src/glsl
parent68db407b20e780d3f45b90b01f1271b7bd7e7a2b (diff)
linker: Make invalidate_variable_locations available outside the compilation unit
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Tested-by: Tom Stellard <thomas.stellard@amd.com>
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/linker.cpp10
-rw-r--r--src/glsl/linker.h4
2 files changed, 9 insertions, 5 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 915d5bbcf7..32f4ca7146 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -191,8 +191,8 @@ linker_warning(gl_shader_program *prog, const char *fmt, ...)
void
-invalidate_variable_locations(gl_shader *sh, enum ir_variable_mode mode,
- int generic_base)
+link_invalidate_variable_locations(gl_shader *sh, enum ir_variable_mode mode,
+ int generic_base)
{
foreach_list(node, sh->ir) {
ir_variable *const var = ((ir_instruction *) node)->as_variable();
@@ -1337,7 +1337,7 @@ assign_attribute_or_color_locations(gl_shader_program *prog,
(target_index == MESA_SHADER_VERTEX) ? ir_var_in : ir_var_out;
- invalidate_variable_locations(sh, direction, generic_base);
+ link_invalidate_variable_locations(sh, direction, generic_base);
/* Temporary storage for the set of attributes that need locations assigned.
*/
@@ -1539,8 +1539,8 @@ assign_varying_locations(struct gl_context *ctx,
* not being inputs. This lets the optimizer eliminate them.
*/
- invalidate_variable_locations(producer, ir_var_out, VERT_RESULT_VAR0);
- invalidate_variable_locations(consumer, ir_var_in, FRAG_ATTRIB_VAR0);
+ link_invalidate_variable_locations(producer, ir_var_out, VERT_RESULT_VAR0);
+ link_invalidate_variable_locations(consumer, ir_var_in, FRAG_ATTRIB_VAR0);
foreach_list(node, producer->ir) {
ir_variable *const output_var = ((ir_instruction *) node)->as_variable();
diff --git a/src/glsl/linker.h b/src/glsl/linker.h
index 78c6329613..669549bf0c 100644
--- a/src/glsl/linker.h
+++ b/src/glsl/linker.h
@@ -30,6 +30,10 @@ extern bool
link_function_calls(gl_shader_program *prog, gl_shader *main,
gl_shader **shader_list, unsigned num_shaders);
+extern void
+link_invalidate_variable_locations(gl_shader *sh, enum ir_variable_mode mode,
+ int generic_base);
+
/**
* Class for processing all of the leaf fields of an uniform
*