tgsi_to_nir: expand vec3 system values to vec4
authorMarek Olšák <marek.olsak@amd.com>
Tue, 13 Aug 2019 19:26:51 +0000 (15:26 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 13 Aug 2019 22:15:53 +0000 (18:15 -0400)
for nir_intrinsic_load_work_group_id

Reviewed-by: Eric Anholt <eric@anholt.net>
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));