Skip to content

turnip: Fix subpass dependency tests

Brian Ho requested to merge brkho/mesa:subpass-fixes into master

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's FragCoord (e.g. gl_FragCoord) evaluates to integer coordinates. These tests fail because they use gl_FragCoord, so we add a pipeline lowering step that invokes nir_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's subPixelPrecisionBits 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%
Edited by Brian Ho

Merge request reports