From cd7705de443d34aeddb3a68cc8d6b762a2808261 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 15 Dec 2017 14:27:55 -0700 Subject: [PATCH] glsl: simplify loop in varying_matches::assign_locations() The use of break/continue was kind of weird/confusing. Reviewed-by: Timothy Arceri --- src/compiler/glsl/link_varyings.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp index 6d74f9a4637..7821b1ec816 100644 --- a/src/compiler/glsl/link_varyings.cpp +++ b/src/compiler/glsl/link_varyings.cpp @@ -1834,13 +1834,13 @@ varying_matches::assign_locations(struct gl_shader_program *prog, const uint64_t slot_mask = ((1ull << slots) - 1) << (*location / 4u); assert(slots > 0); - if (reserved_slots & slot_mask) { - *location = ALIGN(*location + 1, 4); - slot_end = *location + num_components - 1; - continue; + + if ((reserved_slots & slot_mask) == 0) { + break; } - break; + *location = ALIGN(*location + 1, 4); + slot_end = *location + num_components - 1; } if (!var->data.patch && slot_end >= MAX_VARYING * 4u) { -- 2.30.2