freedreno/ir3: track register pressure in sched
authorRob Clark <robdclark@gmail.com>
Wed, 27 Feb 2019 14:56:18 +0000 (09:56 -0500)
committerRob Clark <robdclark@gmail.com>
Sun, 3 Mar 2019 18:27:50 +0000 (13:27 -0500)
commit00f838fa730f5c765902fe2e5ce9754df5276e91
tree9b855a29283e348829a004644baf3222d257e91c
parent8a5f2d9444879dc4c8b2b1f192b2a667a1278a2b
freedreno/ir3: track register pressure in sched

Not a perfect solution, and the "pressure" target is hard-coded.  But it
doesn't really seem to much in the common case, and avoids exploding
register usage in dEQP ssbo tests.

So this should serve as a stop-gap solution until I have time to re-
write the scheduler.

Hurts slightly in instruction count, but gains (reduces) slightly the
register usage in shader-db.  Fixes ~150 dEQP-GLES31.functional.ssbo.*
that were failing due to RA fail.

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/freedreno/ir3/ir3_depth.c
src/freedreno/ir3/ir3_sched.c