turnip: Lazily call tu6_emit_descriptor_sets() at draw time.
authorEmma Anholt <emma@anholt.net>
Wed, 30 Nov 2022 19:31:22 +0000 (11:31 -0800)
committerMarge Bot <emma+marge@anholt.net>
Mon, 19 Dec 2022 19:14:02 +0000 (19:14 +0000)
commitc1968deec252b99d8dd9b6b75a7c160309416343
tree79fae00bd49c3cfd43366473fbf81238754b6e92
parent73db82c8160d619625ed14828178462cdbfba83b
turnip: Lazily call tu6_emit_descriptor_sets() at draw time.

This lets us batch up the state changes from multiple
vkCmdBindDescriptorSets, which ANGLE and zink will both do in a single
draw.

Improves ANGLE (sysmem) driver_overhead perf by 5.18806% +/- 1.03444% (n=5).
Improves ANGLE aztec_ruins_high perf by ~.3%. (clear result in the graph,
but the screen went to sleep mid way through and so it was high variance)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20084>
src/freedreno/vulkan/tu_cmd_buffer.c
src/freedreno/vulkan/tu_cmd_buffer.h