turnip: Implement stream-out emit and vkApis for transform feedback
authorHyunjun Ko <zzoon@igalia.com>
Tue, 25 Feb 2020 01:08:25 +0000 (10:08 +0900)
committerMarge Bot <eric+marge@anholt.net>
Thu, 12 Mar 2020 03:10:16 +0000 (03:10 +0000)
commit9ff1959ca5d24afe48bec20edf7e3d059d254134
treee8445c0611b8dca3bc419fad7234d59c068dcaff
parent374406a7c420d266f920461f904864a94dc1b8c8
turnip: Implement stream-out emit and vkApis for transform feedback

1. Implement vkCmdBindTransformFeedbackBuffersEXT,
vkCmdBeginTransformFeedbackEXT and vkCmdEndTransformFeedbackEXT.
 - Not handling counter buffers yet.
2. Implement streamout emit function, mostly taken from fd6_emit.c

v2. Replace emit_pkt4 funcs with emit_regs.

v3. Don't copy the state of stream-output from tu_pipeline.

v4. Set zero to VPC_SO_CNTL/VPC_SO_BUF_CNTL in tu6_init_hw.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3942>
src/freedreno/vulkan/tu_cmd_buffer.c
src/freedreno/vulkan/tu_extensions.py
src/freedreno/vulkan/tu_private.h