pan/bi: Use nodearrays for linear constraints
authorIcecream95 <ixn@disroot.org>
Thu, 2 Jun 2022 15:57:08 +0000 (11:57 -0400)
committerMarge Bot <emma+marge@anholt.net>
Thu, 2 Jun 2022 17:13:16 +0000 (17:13 +0000)
commit1bfff407b96e286ce8ef4d2089f3f3123075351a
tree7aa82b2b3a9a814733d698acaa6a377c3ddb5fdb
parentc70daa74f03aff5985710d87fc209279d115db7e
pan/bi: Use nodearrays for linear constraints

Speeds up compiling shaders/skia/781.shader_test in shader-db by 8x
(Icecream95).

...At least it did before I extended to support register allocation of vec8.  On
Valhall, texture instructions require up to 8 consecutive registers. To handle
this, provide for vec8 register allocation. Liveness was already (accidentally?)
vec8. The increased memory requirement is acceptable given that the interference
matrix is now stored sparsely (Alyssa).

Icecream95 reports the vec8 changes hurt RA performance by about 1% on average.
I consider this acceptable for now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16780>
src/panfrost/bifrost/bi_ra.c
src/panfrost/bifrost/compiler.h