r600/sfn: Fix opcode and result dest slot mask for variable size dot

Fixes: commit 2df023a1f1
    r600/sfn: pre-evaluate allowed dest mask in Alu instructions

Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8120

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20826>
This commit is contained in:
Gert Wollny 2023-01-21 11:17:58 +01:00
parent 797b839111
commit ac30c40211

View file

@ -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;