mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 15:20:17 +01:00
aco: fix ds_sub_gs_reg_rtn validation
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Fixes: 8d5cc23c18 ("aco: use gds reg when ordered xfb counter add")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23434>
This commit is contained in:
parent
e2927dd5e7
commit
53383fe8a5
1 changed files with 3 additions and 1 deletions
|
|
@ -280,6 +280,7 @@ validate_ir(Program* program)
|
|||
(flat && i == 1) || (instr->isMIMG() && (i == 1 || i == 2)) ||
|
||||
((instr->isMUBUF() || instr->isMTBUF()) && i == 1) ||
|
||||
(instr->isScratch() && i == 0) ||
|
||||
(instr->isDS() && i == 0) ||
|
||||
(instr->opcode == aco_opcode::p_init_scratch && i == 0);
|
||||
check(can_be_undef, "Undefs can only be used in certain operands", instr.get());
|
||||
} else {
|
||||
|
|
@ -744,7 +745,8 @@ validate_ir(Program* program)
|
|||
}
|
||||
case Format::DS: {
|
||||
for (const Operand& op : instr->operands) {
|
||||
check((op.isTemp() && op.regClass().type() == RegType::vgpr) || op.physReg() == m0,
|
||||
check((op.isTemp() && op.regClass().type() == RegType::vgpr) || op.physReg() == m0 ||
|
||||
op.isUndefined(),
|
||||
"Only VGPRs are valid DS instruction operands", instr.get());
|
||||
}
|
||||
if (!instr->definitions.empty())
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue