turnip: remove use of tu_cs_entry for draw states
authorJonathan Marek <jonathan@marek.ca>
Thu, 18 Jun 2020 20:24:26 +0000 (16:24 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 14 Jul 2020 17:00:08 +0000 (17:00 +0000)
commitf37f1a1a645819d841eb26ae01e3e770a465a80c
tree90c75e9a79940047ddf7c4e1b0ab1fcd0d99f465
parent7f24a69acee5aa22a531d9321ca9294a38f1b12d
turnip: remove use of tu_cs_entry for draw states

The tu_cs_entry struct doesn't match well what we want for SET_DRAW_STATE
and CP_INDIRECT_BUFFER (requires extra steps to get iova and size), so
start phasing it out.

Additionally, use newly added tu_cs_draw_state where it doesn't require any
effort (it requires a fixed size, but gets rid of the extra end_sub_stream)

Note this also changes the behavior of CmdBindDescriptorSets for compute to
emit directly in cmd->cs instead of doing through a CP_INDIRECT.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558>
src/freedreno/vulkan/tu_cmd_buffer.c
src/freedreno/vulkan/tu_cs.h
src/freedreno/vulkan/tu_pipeline.c
src/freedreno/vulkan/tu_private.h