freedreno/ir3/validate: also check instr->address

Verify that instructions which have a relative src and/or dest, have
`instr->address`.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280>
This commit is contained in:
Rob Clark 2020-06-07 11:11:23 -07:00 committed by Marge Bot
parent f598786775
commit 1bee79996b
1 changed files with 9 additions and 0 deletions

View File

@ -77,7 +77,16 @@ validate_instr(struct ir3_validate_ctx *ctx, struct ir3_instruction *instr)
{
struct ir3_register *last_reg = NULL;
if (writes_gpr(instr)) {
if (instr->regs[0]->flags & IR3_REG_RELATIV) {
validate_assert(ctx, instr->address);
}
}
foreach_src_n (reg, n, instr) {
if (reg->flags & IR3_REG_RELATIV)
validate_assert(ctx, instr->address);
validate_src(ctx, reg);
/* Validate that all src's are either half of full.