aco: validate that SMEM operands can use fixed registers
To fix a validation error when loading the scalar tma buffer descriptor because it's not a temp but a fixed reg (tma_lo/tma_hi). Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6384>
This commit is contained in:
committed by
Marge Bot
parent
baa9268eb6
commit
a6146aa598
@@ -378,7 +378,8 @@ bool validate_ir(Program* program)
|
||||
}
|
||||
case Format::SMEM: {
|
||||
if (instr->operands.size() >= 1)
|
||||
check(instr->operands[0].isTemp() && instr->operands[0].regClass().type() == RegType::sgpr, "SMEM operands must be sgpr", instr.get());
|
||||
check((instr->operands[0].isFixed() && !instr->operands[0].isConstant()) ||
|
||||
(instr->operands[0].isTemp() && instr->operands[0].regClass().type() == RegType::sgpr), "SMEM operands must be sgpr", instr.get());
|
||||
if (instr->operands.size() >= 2)
|
||||
check(instr->operands[1].isConstant() || (instr->operands[1].isTemp() && instr->operands[1].regClass().type() == RegType::sgpr),
|
||||
"SMEM offset must be constant or sgpr", instr.get());
|
||||
|
||||
Reference in New Issue
Block a user