turnip: Gather information for transform feedback
authorHyunjun Ko <zzoon@igalia.com>
Thu, 20 Feb 2020 05:48:28 +0000 (14:48 +0900)
committerMarge Bot <eric+marge@anholt.net>
Thu, 12 Mar 2020 03:10:16 +0000 (03:10 +0000)
commit2a1d6b81ed54971d33e83b7f5545da096b13b043
treef6df600eb56c6c18f21cf83ff18440317223be50
parent31c420565c713a0398c7b872119acaf4f8dc3978
turnip: Gather information for transform feedback

- Add one member to the existed ir3_stream_output so that we could
assign location information from nir_xfb_info, rather than defining
new struct.

- Redefine maximum of so buffers, streams and outputs, which will be
used for turnip.

- Also enable caps for transform feedback for spirv_to_nir.

v2. Remove redefined maximums and use IR3_MAX_SO_* and add
IR3_MAX_SO_STREAMS.

v3. Remove the newly added location field so that we could keep aligned
with 32 bytes. Instead we create an array mapping between the location
and consecutive index, which is GL driver is doing.

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/ir3/ir3_shader.h
src/freedreno/vulkan/tu_shader.c