tgsi_to_nir: expand vec3 system values to vec4
[mesa.git] / src / gallium / auxiliary / nir / tgsi_to_nir.c
index cd8604eec71a01a9107078a2988e7768bda7a75b..cb03c56e406b96c816ac04e2e3b5d661ec6afdfe 100644 (file)
@@ -655,6 +655,9 @@ ttn_src_for_file_and_index(struct ttn_compile *c, unsigned file, unsigned index,
          unreachable("bad system value");
       }
 
+      if (load->num_components == 3)
+         load = nir_swizzle(b, load, SWIZ(X, Y, Z, Z), 4);
+
       src = nir_src_for_ssa(load);
       b->shader->info.system_values_read |=
          (1 << nir_system_value_from_intrinsic(op));