nouveau/mme: Turing can't have emit and state in the same op

Fixes: 6a84d5439d ("nvk: Move the ANTI_ALIAS_CONTROL logic to the MME")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585>
This commit is contained in:
Faith Ekstrand 2024-10-09 16:34:15 -05:00 committed by Marge Bot
parent 095db78474
commit cf31388a9a

View file

@ -540,6 +540,14 @@ mme_tu104_next_inst_can_add_emit(struct mme_tu104_builder *tb,
return false;
}
/* We can't have an emit in an op with STATE */
struct mme_tu104_inst *cur = mme_tu104_cur_inst(tb);
if (((tb->inst_parts & MME_TU104_INSTR_PART_ALU0) &&
cur->alu[0].op == MME_TU104_ALU_OP_STATE) ||
((tb->inst_parts & MME_TU104_INSTR_PART_ALU1) &&
cur->alu[1].op == MME_TU104_ALU_OP_STATE))
return false;
const unsigned used_imms =
util_bitcount(tb->inst_parts & (MME_TU104_INSTR_PART_IMM0 |
MME_TU104_INSTR_PART_IMM1));