diff options
author | marha <marha@users.sourceforge.net> | 2011-07-22 08:22:17 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-07-22 08:22:17 +0200 |
commit | 91e91b72f07f4e61db17ee86c6933a7217f0e25c (patch) | |
tree | 67cfe3dfc7562d2f53e9827b979e1dbbc1acec7b /mesalib/src/glsl/linker.cpp | |
parent | 88101146f2ec7d53ffb793e365f05097ffd35fd3 (diff) | |
download | vcxsrv-91e91b72f07f4e61db17ee86c6933a7217f0e25c.tar.gz vcxsrv-91e91b72f07f4e61db17ee86c6933a7217f0e25c.tar.bz2 vcxsrv-91e91b72f07f4e61db17ee86c6933a7217f0e25c.zip |
mesa git update 22 July 2011
Diffstat (limited to 'mesalib/src/glsl/linker.cpp')
-rw-r--r-- | mesalib/src/glsl/linker.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mesalib/src/glsl/linker.cpp b/mesalib/src/glsl/linker.cpp index 34b64837a..fe570b6cc 100644 --- a/mesalib/src/glsl/linker.cpp +++ b/mesalib/src/glsl/linker.cpp @@ -1343,7 +1343,7 @@ assign_attribute_or_color_locations(gl_shader_program *prog, foreach_list(node, sh->ir) { ir_variable *const var = ((ir_instruction *) node)->as_variable(); - if ((var == NULL) || (var->mode != direction)) + if ((var == NULL) || (var->mode != (unsigned) direction)) continue; if (var->explicit_location) { @@ -1702,6 +1702,10 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) if (prog->_LinkedShaders[i] == NULL) continue; + detect_recursion_linked(prog, prog->_LinkedShaders[i]->ir); + if (!prog->LinkStatus) + goto done; + while (do_common_optimization(prog->_LinkedShaders[i]->ir, true, 32)) ; } |