aco/insert_exec: reset top exec for p_discard_if
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12363 Fixes:31f62a6123
("aco/insert_exec: don't always reset top exec") (cherry picked from commit272ff275fa
) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32852>
This commit is contained in:

committed by
Dylan Baker

parent
d72bf5b122
commit
cd01162e81
@@ -4,7 +4,7 @@
|
|||||||
"description": "aco/insert_exec: reset top exec for p_discard_if",
|
"description": "aco/insert_exec: reset top exec for p_discard_if",
|
||||||
"nominated": true,
|
"nominated": true,
|
||||||
"nomination_type": 2,
|
"nomination_type": 2,
|
||||||
"resolution": 0,
|
"resolution": 3,
|
||||||
"main_sha": null,
|
"main_sha": null,
|
||||||
"because_sha": "31f62a6123d46311bed7a54dc10e518bbe4c5f8d",
|
"because_sha": "31f62a6123d46311bed7a54dc10e518bbe4c5f8d",
|
||||||
"notes": null
|
"notes": null
|
||||||
|
@@ -467,6 +467,7 @@ process_instructions(exec_ctx& ctx, Block* block, std::vector<aco_ptr<Instructio
|
|||||||
exit_cond = andn2->definitions[1].getTemp();
|
exit_cond = andn2->definitions[1].getTemp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
info.exec.back().op = Operand(exec, bld.lm);
|
||||||
instr->opcode = aco_opcode::p_exit_early_if;
|
instr->opcode = aco_opcode::p_exit_early_if;
|
||||||
instr->operands[0] = bld.scc(exit_cond);
|
instr->operands[0] = bld.scc(exit_cond);
|
||||||
assert(!ctx.handle_wqm || (info.exec[0].type & mask_type_wqm) == 0);
|
assert(!ctx.handle_wqm || (info.exec[0].type & mask_type_wqm) == 0);
|
||||||
|
Reference in New Issue
Block a user