Skip to content

turnip: draw overhead reduction when no state is changed

Danylo Piliaiev requested to merge Danil/mesa:turnip/perf/draw-overhead into main

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

Merge request reports