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, because the
variable's type is no longer required.

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

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Status Job ID Name Coverage
  Container+Docs
passed #4063069
aarch64 manual
arm_build

00:00:19

passed #4063070
manual
arm_test-base

00:00:14

manual #4063066
manual
x86_build-base
manual #4063068
manual
x86_build_old
manual #4063067
manual
x86_test-base
 
  Container 2
passed #4063080
arm64_test

00:00:17

created #4063075
i386_build
created #4063071
kernel+rootfs_amd64
passed #4063072
aarch64
kernel+rootfs_arm64

00:00:24

passed #4063073
aarch64
kernel+rootfs_armhf

00:00:23

created #4063076
ppc64el_build
created #4063077
s390x_build
created #4063074
x86_build
created #4063078
x86_test-gl
created #4063079
x86_test-vk
 
  Meson X86 64
created #4063084
meson-android
created #4063085
meson-clang
created #4063083
meson-classic
created #4063086
meson-clover
created #4063087
meson-clover-old-llvm
created #4063082
meson-gallium
created #4063081
meson-testing
created #4063088
meson-vulkan
 
  Scons
created #4063089
allowed to fail
scons-win64
 
  Meson Misc
passed #4063091
aarch64
meson-arm64

00:02:48

passed #4063092
aarch64
meson-arm64-build-test

00:04:06

passed #4063090
aarch64
meson-armhf

00:04:03

created #4063093
meson-i386
created #4063096
meson-mingw32-x86_64
created #4063095
kvm
meson-ppc64el
created #4063094
kvm
meson-s390x
 
  Llvmpipe
created #4063100
llvmpipe-gles2
created #4063101
llvmpipe-traces
created #4063098
piglit-glslparser
created #4063097
piglit-quick_gl
created #4063099
piglit-quick_shader
 
  Softpipe
created #4063102
softpipe-gles2
created #4063103
softpipe-gles3
created #4063104
softpipe-gles31 1/2
created #4063105
softpipe-gles31 2/2
 
  Freedreno
passed #4063115
google-freedreno-db410c
arm64_a306_gles2

00:06:47

passed #4063116
google-freedreno-db410c
arm64_a306_gles3

00:05:52

passed #4063117
google-freedreno-db410c
arm64_a306_gles3_options

00:04:29

passed #4063118
google-freedreno-db820c
arm64_a530_gles2

00:11:23

passed #4063119
google-freedreno-db820c
arm64_a530_gles3

00:03:48

passed #4063120
google-freedreno-db820c
arm64_a530_gles31

00:05:43

passed #4063110
google-freedreno-cheza
arm64_a630_bypass

00:02:49

passed #4063106
google-freedreno-cheza
arm64_a630_gles2

00:03:11

passed #4063108
google-freedreno-cheza
arm64_a630_gles3

00:07:34

passed #4063107
google-freedreno-cheza
arm64_a630_gles31

00:05:36

passed #4063112
google-freedreno-cheza
arm64_a630_gmem

00:07:56

passed #4063109
google-freedreno-cheza
arm64_a630_noubo

00:02:36

passed #4063111
google-freedreno-cheza
arm64_a630_traces

00:04:26

passed #4063113
google-freedreno-cheza
arm64_a630_vk

00:04:47

passed #4063114
google-freedreno-cheza
arm64_a630_vk_sysmem

00:02:29

 
  Panfrost
passed #4063121
mesa-ci-aarch64-lava-collabora
panfrost-t720-gles2:arm64

00:07:10

passed #4063122
mesa-ci-aarch64-lava-collabora
panfrost-t760-gles2:armhf

00:04:55

passed #4063123
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64

00:05:33

passed #4063124
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 1/2

00:08:36

passed #4063125
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 2/2

00:11:04

passed #4063126
mesa-ci-aarch64-lava-collabora
panfrost-t860-traces:arm64

00:07:41

 
  Radv
created #4063127
radv-fossils
 
  Virgl
created #4063132
virgl-gl30-on-gl
created #4063133
virgl-gl31-on-gl
created #4063134
virgl-gl32-on-gl
created #4063128
virgl-gles2-on-gl
created #4063130
virgl-gles31-on-gl 1/2
created #4063131
virgl-gles31-on-gl 2/2
created #4063129
virgl-gles3-on-gl
created #4063135
virgl-traces
 
  Radeonsi
created #4063136
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-traces:amd64