turnip: draw overhead reduction when no state is changed
turnip: do not re-emit same vs params
Improves drawoverhead perf through Zink up to 260%
Before:
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 1518
After:
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 3981
This brings it close to Freedreno, which has around 4300.
In vkQuake vs params re-emission now occurs in 0.23% of draw calls.
turnip: early exit in tu6_draw_common to save cpu cycles
Improves Zink + drawoverhead perf up to 4%
Before:
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 3981
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 3977
After:
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 4136
1, DrawElements ( 1 VBO| 0 UBO| 0 ) w/ no state change, 4163