brw: implement mesh/task URB lowering in NIR
What does this MR do and why?
I captured some shaders from dEQP-VK.mesh_shader.*
using fossilize and replay before/after this MR :
DG2:
Totals from 69 (47.26% of 146) affected shaders:
Instrs: 10382 -> 10028 (-3.41%); split: -4.62%, +1.21%
Send messages: 1393 -> 1368 (-1.79%)
Cycle count: 124722 -> 116588 (-6.52%); split: -8.45%, +1.93%
Max live registers: 1457 -> 1467 (+0.69%); split: -2.06%, +2.75%
LNL:
Totals from 70 (64.81% of 108) affected shaders:
Instrs: 7294 -> 6123 (-16.05%); split: -16.10%, +0.04%
Cycle count: 106774 -> 99386 (-6.92%); split: -9.90%, +2.98%
Max live registers: 2145 -> 2283 (+6.43%)
Not significant change in traci a/b testing.