pan/mdg: Handle bitsize for packs
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 13 May 2020 22:42:19 +0000 (18:42 -0400)
committerMarge Bot <eric+marge@anholt.net>
Mon, 1 Jun 2020 15:46:23 +0000 (15:46 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>

src/panfrost/midgard/midgard_compile.c

index 196c600078a9cc23cc67cc25fed237428b813cbc..804a32f5f10c0779f3abc7bcaaa6fce3df0dc3bc 100644 (file)
@@ -580,13 +580,23 @@ reg_mode_for_nir(nir_alu_instr *instr)
         case nir_op_fexp2:
         case nir_op_flog2:
                 max_bitsize = MAX2(max_bitsize, 32);
+                break;
+
+        /* These get lowered to moves */
+        case nir_op_pack_32_4x8:
+                max_bitsize = 8;
+                break;
+        case nir_op_pack_32_2x16:
+                max_bitsize = 16;
+                break;
         default:
                 break;
         }
 
+
         switch (max_bitsize) {
+                /* Use 16 pipe for 8 since we don't support vec16 yet */
         case 8:
-                return midgard_reg_mode_8;
         case 16:
                 return midgard_reg_mode_16;
         case 32: