aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/midgard
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-05-13 18:42:19 -0400
committerMarge Bot <[email protected]>2020-06-01 15:46:23 +0000
commit0ff0291896a91dde9c6f7f0a1bc5b7c3962e72a0 (patch)
tree0ba84ff7428811ee78f533a485a92a00c4e22e6e /src/panfrost/midgard
parente9c780b1d08092880a1ad769fffbad571f094c46 (diff)
pan/mdg: Handle bitsize for packs
Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
Diffstat (limited to 'src/panfrost/midgard')
-rw-r--r--src/panfrost/midgard/midgard_compile.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index 196c600078a..804a32f5f10 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -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: