turnip: Fix subpass dependency tests
This MR fixes various subpass dependency tests (dEQP-VK.renderpass.suballocation.subpass_dependencies.*
).
-
*.subpass_dependencies.external_subpass.*
: The Vulkan spec states that pixel coordinates are always centered at half-integer coordinates, but currently, SPIR-V'sFragCoord
(e.g.gl_FragCoord
) evaluates to integer coordinates. These tests fail because they usegl_FragCoord
, so we add a pipeline lowering step that invokesnir_lower_wpos_center
(similar to anvil's implementation). -
*.subpass_dependencies.late_fragment_tests.*
: Previously, turnip advertised 4-bit subpixel precision when in practice, a6xx seems to render with 8-bit precision. These tests fail because they compare against artifacts from a reference implementation parameterized by turnip'ssubPixelPrecisionBits
value, so we update to 8-bits.
Since none of these fixes are subpass-specific, they probably also fix a few tests elsewhere in the CTS.
After these fixes, there should be no failing subpass dependency tests:
Test run totals:
Passed: 48/74 (64.9%)
Failed: 0/74 (0.0%)
Not supported: 26/74 (35.1%)
Warnings: 0/74 (0.0%