freedreno/ir3: rework setup_{input,output} to make struct varyings work
authorJonathan Marek <jonathan@marek.ca>
Thu, 13 Aug 2020 01:59:33 +0000 (21:59 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 1 Sep 2020 15:10:47 +0000 (15:10 +0000)
commita6291b1b1177f5728e2e1998225f0b8676c6e710
tree381acf5daedbb1893610a31c758005ba8a3a5d13
parentc694af40bf341b08ddf74f62fde66c9030e1ac80
freedreno/ir3: rework setup_{input,output} to make struct varyings work

Rework setup_{input,output} to be called during emit_intrinsic, in a way
which allows struct/array/matrix type varyings to work.

This allows turnip to pass dEQP-VK.glsl.linkage.varying.struct.*

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6181>
.gitlab-ci/deqp-freedreno-a630-fails.txt
src/freedreno/ir3/ir3_compiler_nir.c
src/freedreno/ir3/ir3_parser.y
src/freedreno/ir3/ir3_shader.h
src/freedreno/vulkan/tu_pipeline.c
src/gallium/drivers/freedreno/a3xx/fd3_program.c
src/gallium/drivers/freedreno/a4xx/fd4_program.c
src/gallium/drivers/freedreno/a5xx/fd5_program.c
src/gallium/drivers/freedreno/a6xx/fd6_program.c