lima/ppir: implement indirect load of varyings and uniforms
Utgard PP supports indirect loading of uniforms and varyings and it's beneficial to implement it instead of lowering all the indirect loads.
No piglit regressions
shader-db:
total instructions in shared programs: 82592 -> 81343 (-1.51%)
instructions in affected programs: 1946 -> 697 (-64.18%)
helped: 76
HURT: 3
helped stats (abs) min: 1 max: 231 x̄: 16.47 x̃: 5
helped stats (rel) min: 7.79% max: 99.14% x̄: 38.64% x̃: 37.98%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 14.29% max: 100.00% x̄: 71.43% x̃: 100.00%
95% mean confidence interval for instructions value: -25.32 -6.30
95% mean confidence interval for instructions %-change: -42.13% -26.78%
Instructions are helped.
total loops in shared programs: 81 -> 81 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total spills in shared programs: 99 -> 80 (-19.19%)
spills in affected programs: 24 -> 5 (-79.17%)
helped: 2
HURT: 1
total fills in shared programs: 251 -> 200 (-20.32%)
fills in affected programs: 61 -> 10 (-83.61%)
helped: 2
HURT: 1
LOST: 0
GAINED: 0
Total CPU time (seconds): 130.37 -> 121.09 (-7.12%)
Edited by Vasily Khoruzhick