pvr: Adjust instruction repeat offset

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430>
This commit is contained in:
Simon Perretta 2023-01-18 15:41:23 +00:00 committed by Marge Bot
parent d431adaecd
commit 8ac16c97cf
3 changed files with 5 additions and 2 deletions

View file

@ -174,9 +174,11 @@ static inline void rogue_instr_group_put(rogue_instr *instr,
group->instrs[phase] = instr;
group->header.phases |= BITFIELD_BIT(phase);
/* Ensure we're not mixing and matching repeats! */
assert(group->header.repeat == 0 || group->header.repeat == instr->repeat);
/* Update repeat count. */
group->header.repeat = instr->repeat;
instr->repeat = 0;
/* Set end flag. */
group->header.end = instr->end;

View file

@ -559,6 +559,7 @@ static inline void rogue_instr_init(rogue_instr *instr,
rogue_block *block)
{
instr->type = type;
instr->repeat = 1;
instr->index = block->shader->next_instr++;
instr->block = block;
}

View file

@ -171,7 +171,7 @@ static void rogue_encode_instr_group_header(rogue_instr_group *group,
h.end = group->header.end;
/* h.crel = ; */ /* Unused for now */
/* h.atom = ; */ /* Unused for now */
h.rpt = group->header.repeat ? group->header.repeat - 1 : 0;
h.rpt = group->header.repeat - 1;
}
util_dynarray_append_mem(binary, group->size.header, &h);