Gen12: compute tests fail on iris, when they pass on zink
Piglit, dEQP, and GL/GLES cts compute tests fail on some ADL platforms, eg:
$ bin/shader_runner lib/piglit/generated_tests/spec/glsl-4.30/execution/built-in-functions/cs-op-ge-int-int.shader_test -auto -fbo
Probe color at (16,0)
Expected: 0.000000 0.000000 0.000000
Observed: 1.000000 0.000000 0.000000
Test failure on line 93
Probe color at (17,0)
Expected: 0.000000 0.000000 0.000000
Observed: 1.000000 0.000000 0.000000
Test failure on line 97
Probe color at (19,0)
Expected: 0.000000 0.000000 0.000000
Observed: 1.000000 0.000000 0.000000
Test failure on line 105
Probe color at (20,0)
Expected: 0.000000 0.000000 0.000000
Observed: 1.000000 0.000000 0.000000
Test failure on line 109
Probe color at (22,0)
Expected: 0.000000 0.000000 0.000000
Observed: 1.000000 0.000000 0.000000
Test failure on line 117
PIGLIT: {"result": "fail" }
The same test passes with MESA_LOADER_DRIVER_OVERRIDE=zink
.
TGL is allegedly identical to ADL for 3D, but the same test passes reliably on TGL.
Running with INTEL_DEBUG=reemit causes all tests to pass as expected on ADL. Specifically, IRIS_STAGE_DIRTY_CS
causes the correct state to be emitted.
@kwg wrote !25103 (closed) to fix this, but it doesn't emit the necessary state in its initial form.