diff options
Diffstat (limited to 'src/gallium/auxiliary/nir/tgsi_to_nir.c')
-rw-r--r-- | src/gallium/auxiliary/nir/tgsi_to_nir.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c index cd8604eec71..cb03c56e406 100644 --- a/src/gallium/auxiliary/nir/tgsi_to_nir.c +++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c @@ -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)); |