Module: Mesa Branch: master Commit: 462df6449523ffbc144641fd8525e55d193ece37 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=462df6449523ffbc144641fd8525e55d193ece37
Author: Brian Paul <[email protected]> Date: Fri Dec 15 15:21:46 2017 -0700 glsl: simply packing class comparison Handle comparing the packing class using the same method as we do for var->data.is_xfb_only Reviewed-by: Timothy Arceri <[email protected]> --- src/compiler/glsl/link_varyings.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp index 7f42f8a215..e0f3afb961 100644 --- a/src/compiler/glsl/link_varyings.cpp +++ b/src/compiler/glsl/link_varyings.cpp @@ -1775,6 +1775,7 @@ varying_matches::assign_locations(struct gl_shader_program *prog, unsigned generic_location = 0; unsigned generic_patch_location = MAX_VARYING*4; bool previous_var_xfb_only = false; + unsigned previous_packing_class = ~0u; for (unsigned i = 0; i < this->num_matches; i++) { unsigned *location = &generic_location; @@ -1809,12 +1810,12 @@ varying_matches::assign_locations(struct gl_shader_program *prog, if (var->data.must_be_shader_input || (this->disable_varying_packing && !(previous_var_xfb_only && var->data.is_xfb_only)) || - (i > 0 && this->matches[i - 1].packing_class - != this->matches[i].packing_class )) { + (previous_packing_class != this->matches[i].packing_class )) { *location = ALIGN(*location, 4); } previous_var_xfb_only = var->data.is_xfb_only; + previous_packing_class = this->matches[i].packing_class; /* The number of components taken up by this variable. For vertex shader * inputs, we use the number of slots * 4, as they have different _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
