turnip: dEQP-VK.tessellation.invariance.outer_triangle_set.quads_fractional_odd_spacing failure
This test is similar to tests that were fixed by !8497 (merged). However, it was not fixed by that MR and seem to have a different cause.
I'm bit stuck with it so I'll post what I have found.
RenderDoc capture of the test: deqp-vk_2021.01.14_17.46_capture.rdc
Extracted vkrunner test: tessellation.invariance.outer_triangle_set.quads_fractional_odd_spacing.vkscript
(Tthere is no condition of failure in vkscript so one would need to inspect ssbo to see the results...)
The failing part is again the passing of varyings between TES and GS.
To make it easier I minimized the test to pass constants between the stages: tessellation.invariance-minimal-quad.vkscript and now it's easier to check the failure. Also now fails with triangles
in TES...
Several observations:
- The varyings are correct only for the first patch (I'm not sure for non-minimized test but for they second patch they definitely are corrupted);
- Turnip and blob driver both have much more primitives outputted from tesselation stage than radv;
- Looking at what blob driver does - I'm not able to see what Turnip does wrong.
Traces of tessellation.invariance-minimal-quad.vkscript
on Turnip and blob: minimal-quad-traces.tar.gz