diff options
author | Ian Romanick <[email protected]> | 2011-10-11 16:15:47 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2011-11-07 13:33:15 -0800 |
commit | f6ee7bce65697ea3c6a78a000a49af901ba77c1d (patch) | |
tree | 8020b8e53dc1456703315022f2211252eff3f91b /src/glsl | |
parent | 68db407b20e780d3f45b90b01f1271b7bd7e7a2b (diff) |
linker: Make invalidate_variable_locations available outside the compilation unit
Signed-off-by: Ian Romanick <[email protected]>
Tested-by: Tom Stellard <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/linker.cpp | 10 | ||||
-rw-r--r-- | src/glsl/linker.h | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 915d5bbcf7d..32f4ca71464 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 78c63296133..669549bf0c5 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 * |