aco: allow SGPRs operands with p_jump_to_epilog

For TCS epilogs, we will have to pass SGPRs.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>
This commit is contained in:
Samuel Pitoiset
2023-08-11 23:59:00 +02:00
committed by Marge Bot
parent fc9283938f
commit e03c09dfb2

View File

@@ -551,9 +551,11 @@ validate_ir(Program* program)
instr->operands[0].size() == 2,
"First operand of p_jump_to_epilog must be a SGPR", instr.get());
for (unsigned i = 1; i < instr->operands.size(); i++) {
check(
instr->operands[i].isOfType(RegType::vgpr) || instr->operands[i].isUndefined(),
"Other operands of p_jump_to_epilog must be VGPRs or undef", instr.get());
check(instr->operands[i].isOfType(RegType::vgpr) ||
instr->operands[i].isOfType(RegType::sgpr) ||
instr->operands[i].isUndefined(),
"Other operands of p_jump_to_epilog must be VGPRs, SGPRs or undef",
instr.get());
}
} else if (instr->opcode == aco_opcode::p_dual_src_export_gfx11) {
check(instr->definitions.size() == 6,