Module: Mesa Branch: main Commit: ac30c402112558f4b7f6af3c8bdd5a92f5c0fd9b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac30c402112558f4b7f6af3c8bdd5a92f5c0fd9b
Author: Gert Wollny <[email protected]> Date: Sat Jan 21 11:17:58 2023 +0100 r600/sfn: Fix opcode and result dest slot mask for variable size dot Fixes: commit 2df023a1f1990aad6c20eca85af19c7d21a43203 r600/sfn: pre-evaluate allowed dest mask in Alu instructions Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8120 Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20826> --- src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp b/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp index ceeb90ea035..d778a3465a5 100644 --- a/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp @@ -71,7 +71,8 @@ AluInstr::AluInstr(EAluOp opcode, if (dest && slots > 1) { switch (m_opcode) { - case op2_dot: m_allowed_desk_mask = (1 << (4 - slots)) - 1; break; + case op2_dot_ieee: m_allowed_desk_mask = (1 << (5 - slots)) - 1; + break; default: if (has_alu_flag(alu_is_cayman_trans)) { m_allowed_desk_mask = (1 << slots) - 1;
