radv/llvm: assign driver locations for VS, TCS, TES and GS correctly

RADV/LLVM doesn't use assigned IO locations (yet).

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6912>
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index d67d9eb..32b8511 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -2327,6 +2327,18 @@
 	nir_foreach_shader_out_variable(var, shaders[last_vtg_stage]) {
 		var->data.driver_location = var->data.location;
 	}
+
+	/* TODO: Switch RADV/LLVM to the assigned IO locations. */
+	for (unsigned i = MESA_SHADER_VERTEX; i <= MESA_SHADER_GEOMETRY; i++) {
+		if (!shaders[i] ||
+		    !radv_use_llvm_for_stage(pipeline->device, i))
+			continue;
+
+		nir_foreach_shader_in_variable(var, shaders[i])
+			var->data.driver_location = var->data.location;
+		nir_foreach_shader_out_variable(var, shaders[i])
+			var->data.driver_location = var->data.location;
+	}
 }
 
 static uint32_t