diff options
author | Timothy Arceri <[email protected]> | 2015-12-23 14:11:04 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2016-01-06 10:52:54 +1100 |
commit | 21590a307cac5cf9fc963f0700131c2d8b0d9731 (patch) | |
tree | f073e84159dd0ccf1fbe22c5221516c31197454a | |
parent | 0508d9504aa71cd5032ec27a8ab1127037f2df78 (diff) |
glsl: move lowering after matching validation
After lowering the matching flag is_unmatched_generic_inout is lost so
we need to move this validation before lowering.
Reviewed-by: Anuj Phogat <[email protected]>
Reviewed-by: Edward O'Callaghan <[email protected]>
-rw-r--r-- | src/glsl/link_varyings.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index 1ff25b85253..6119eff2fa3 100644 --- a/src/glsl/link_varyings.cpp +++ b/src/glsl/link_varyings.cpp @@ -1629,17 +1629,6 @@ assign_varying_locations(struct gl_context *ctx, hash_table_dtor(consumer_inputs); hash_table_dtor(consumer_interface_inputs); - if (!disable_varying_packing) { - if (producer) { - lower_packed_varyings(mem_ctx, slots_used, ir_var_shader_out, - 0, producer); - } - if (consumer) { - lower_packed_varyings(mem_ctx, slots_used, ir_var_shader_in, - consumer_vertices, consumer); - } - } - if (consumer && producer) { foreach_in_list(ir_instruction, node, consumer->ir) { ir_variable *const var = node->as_variable(); @@ -1689,6 +1678,17 @@ assign_varying_locations(struct gl_context *ctx, } } + if (!disable_varying_packing) { + if (producer) { + lower_packed_varyings(mem_ctx, slots_used, ir_var_shader_out, + 0, producer); + } + if (consumer) { + lower_packed_varyings(mem_ctx, slots_used, ir_var_shader_in, + consumer_vertices, consumer); + } + } + return true; } |