turnip: Handle struct varyings

For the moment, ir3 compiler doesn't handle struct varyings but turnip
at least needs to handle them. So we do scan varyings before ir3
compilation, get flattend(up to vec4) inouts and set this information
beforehand.

Presumably this could be shared with freedreno in the future.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
47 jobs for !4475 with turnip-xfb
latest detached
Status Name Job ID Coverage
  Container
manual arm_build #2422651
aarch64 manual
manual arm_test #2422653
aarch64 manual
manual windows_build_vs2019 #2422655
windows shell 1809 mesa manual
manual x86_build #2422645
manual
manual x86_build_old #2422650
manual
manual x86_test-gl #2422647
manual
manual x86_test-vk #2422648
manual
 
  Meson X86 64
created meson-clang #2422663
created meson-classic #2422661
created meson-clover #2422664
created meson-clover-old-llvm #2422666
created meson-gallium #2422659
created meson-testing #2422658
created meson-vulkan #2422667
 
  Scons
created scons-win64 #2422669
allowed to fail
 
  Meson Misc
created meson-arm64 #2422672
aarch64
created meson-arm64-build-test #2422674
aarch64
created meson-armhf #2422671
aarch64
created meson-i386 #2422679
created meson-mingw32-x86_64 #2422683
created meson-ppc64el #2422682
kvm
created meson-s390x #2422681
kvm
created meson-windows-vs2019 #2422677
windows docker 1809 mesa
 
  Llvmpipe
created llvmpipe-gles2 #2422687
created llvmpipe-traces #2422688
created piglit-glslparser #2422685
created piglit-quick_gl #2422684
created piglit-quick_shader #2422686
 
  Softpipe
created softpipe-gles2 #2422689
created softpipe-gles31 1/4 #2422692
created softpipe-gles3 1/2 #2422690
created softpipe-gles31 2/4 #2422693
created softpipe-gles31 3/4 #2422694
created softpipe-gles31 4/4 #2422695
created softpipe-gles3 2/2 #2422691
 
  Freedreno
created arm64_a306_gles2 #2422699
google-freedreno-db410c
created arm64_a530_gles2 #2422700
google-freedreno-db820c
created arm64_a630_gles2 #2422696
mesa-cheza
created arm64_a630_gles3 #2422698
mesa-cheza
created arm64_a630_gles31 #2422697
mesa-cheza
 
  Panfrost
created panfrost-t720-gles2:arm64 #2422701
mesa-ci-aarch64-lava-collabora
created panfrost-t760-gles2:armhf #2422702
mesa-ci-aarch64-lava-collabora
created panfrost-t860-gles2:arm64 #2422703
mesa-ci-aarch64-lava-collabora
created panfrost-t860-gles3:arm64 #2422704
mesa-ci-aarch64-lava-collabora
 
  Radv
created radv-fossils #2422705
 
  Virgl
created virgl-gles2 #2422706
created virgl-gles3 #2422707