panfrost: Fix general purpose varying handling
[mesa.git] / src / gallium / drivers / panfrost / midgard / midgard_compile.c
index 6761b27681433226fe65430a695b1c0d2246c3ee..1374c1ee6475a06a88077de33248c504163818d4 100644 (file)
@@ -2414,9 +2414,9 @@ midgard_compile_shader_nir(nir_shader *nir, midgard_program *program, bool is_bl
                 unsigned loc = var->data.driver_location;
                 unsigned sz = glsl_type_size(var->type, FALSE);
 
-                for (int c = loc; c < (loc + sz); ++c) {
-                        program->varyings[c] = var->data.location;
-                        max_varying = MAX2(max_varying, c);
+                for (int c = 0; c < sz; ++c) {
+                        program->varyings[loc + c] = var->data.location + c;
+                        max_varying = MAX2(max_varying, loc + c);
                 }
         }