From 357b8b59065c50dd4d8eecf437bb721be38092bd Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 31 Mar 2020 13:37:12 -0400 Subject: [PATCH] pan/bi: Fix unused port swapping Fixes INSTR_INVALID_ENC Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bi_pack.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/panfrost/bifrost/bi_pack.c b/src/panfrost/bifrost/bi_pack.c index 94a62ed..293a109 100644 --- a/src/panfrost/bifrost/bi_pack.c +++ b/src/panfrost/bifrost/bi_pack.c @@ -362,6 +362,15 @@ bi_pack_registers(struct bi_registers regs) } } + /* When port 3 isn't used, we have to set it to port 2, and vice versa, + * or we an INSTR_INVALID_ENC is raised. The reason is unknown. */ + + if (!regs.port[3]) + regs.port[3] = regs.port[2]; + + if (!regs.port[2]) + regs.port[2] = regs.port[3]; + s.reg3 = regs.port[3]; s.reg2 = regs.port[2]; s.uniform_const = regs.uniform_constant; -- 2.7.4