lima/gpir: Always schedule complex2 and *_impl right after complex1
authorConnor Abbott <cwabbott0@gmail.com>
Sat, 27 Jul 2019 23:13:10 +0000 (01:13 +0200)
committerConnor Abbott <cwabbott0@gmail.com>
Tue, 30 Jul 2019 21:00:41 +0000 (23:00 +0200)
commitc2f48d8f324a7577a63f7f4ad4628564f02687b0
treedb58b92bec634d198ffd69c53a0b44a2feb7ee6b
parent2b53c49d2f7e54c4b3693abb0f13adf27d179ea8
lima/gpir: Always schedule complex2 and *_impl right after complex1

See https://gitlab.freedesktop.org/lima/mesa/issues/94 for the gory
details of why this is needed. For *_impl this is easy, since it never
increases register pressure and it goes in the complex slot hence it
never counts against max nodes. It's a bit more challenging for
complex2, since it does count against max nodes, so we need to change
the reservation logic to reserve an extra slot for complex2 when
scheduling complex1. This second part isn't strictly necessary yet, but
it will be for exp2.

Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Acked-by: Qiang Yu <yuq825@gmail.com>
src/gallium/drivers/lima/ir/gp/gpir.h
src/gallium/drivers/lima/ir/gp/instr.c
src/gallium/drivers/lima/ir/gp/node.c
src/gallium/drivers/lima/ir/gp/scheduler.c