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.
dEQP-VK.glsl.linkage.varying.struct.* Test run totals: Passed: 23/23 (100.0%) Failed: 0/23 (0.0%) Not supported: 0/23 (0.0%) Warnings: 0/23 (0.0%)
Also this makes most xfb CTSes to be run. Not all passed though, no crashes at least.
dEQP-VK.transform_feedback.* Test run totals: Passed: 531/2604 (20.4%) Failed: 15/2604 (0.6%) Not supported: 2058/2604 (79.0%) Warnings: 0/2604 (0.0%)