pan/mdg: Fix auxiliary load/store swizzle packing
[mesa.git] / src / panfrost / midgard / midgard_emit.c
index 8b022554a94068c0fc32ee540f8a97aa500df1d0..77f2e3b7bf2c7a3da7ea59c2e4704ac45300de69 100644 (file)
@@ -501,12 +501,14 @@ load_store_from_instr(midgard_instruction *ins)
 
         if (ins->src[1] != ~0) {
                 unsigned src = SSA_REG_FROM_FIXED(ins->src[1]);
-                ldst.arg_1 |= midgard_ldst_reg(src, ins->swizzle[1][0]);
+                unsigned sz = nir_alu_type_get_type_size(ins->src_types[1]);
+                ldst.arg_1 |= midgard_ldst_reg(src, ins->swizzle[1][0], sz);
         }
 
         if (ins->src[2] != ~0) {
                 unsigned src = SSA_REG_FROM_FIXED(ins->src[2]);
-                ldst.arg_2 |= midgard_ldst_reg(src, ins->swizzle[2][0]);
+                unsigned sz = nir_alu_type_get_type_size(ins->src_types[2]);
+                ldst.arg_2 |= midgard_ldst_reg(src, ins->swizzle[2][0], sz);
         }
 
         return ldst;