mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
pan/bi: +JUMP can't read same-cycle temp
Minor ISA detail missed in the Bifrost scheduler. I hit this in an early version of this series (where a move feeding into a blend shader return was not coalesced). Let's get it fixed in the scheduler. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585>
This commit is contained in:
parent
c387096eca
commit
c8882ee115
2 changed files with 10 additions and 0 deletions
|
|
@ -787,6 +787,10 @@ bi_reads_t(bi_instr *ins, unsigned src)
|
|||
case BI_OPCODE_BLEND:
|
||||
return src != 2 && src != 3;
|
||||
|
||||
/* +JUMP can't read the offset from T */
|
||||
case BI_OPCODE_JUMP:
|
||||
return false;
|
||||
|
||||
/* Else, just check if we can read any temps */
|
||||
default:
|
||||
return bi_reads_temps(ins, src);
|
||||
|
|
|
|||
|
|
@ -150,3 +150,9 @@ TEST_F(SchedulerPredicates, RestrictionsOnFAddV2F16)
|
|||
ASSERT_FALSE(bi_can_fma(fadd));
|
||||
ASSERT_FALSE(bi_can_add(fadd));
|
||||
}
|
||||
|
||||
TEST_F(SchedulerPredicates, BranchOffset)
|
||||
{
|
||||
bi_instr *jump = bi_jump(b, TMP());
|
||||
ASSERT_FALSE(bi_reads_t(jump, 0));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue