The following layout test is failing on iOS: webgl/2.0.0/conformance/glsl/misc/shaders-with-invariance.html Probable cause: Test started failing with r249823 From James Darpinian in associated bug 201156: "Looks like the shaders-with-invariance.html test is broken. It was updated upstream. WebKit's copy of the WebGL conformance tests should be updated." Flakiness Dashboard: https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=webgl%2F2.0.0%2Fconformance%2Fglsl%2Fmisc%2Fshaders-with-invariance.html
<rdar://problem/55358159>
Marked test as failing in r249860.
It was the ANGLE update in r249823 that caused this. The actual change in ANGLE is: https://chromium.googlesource.com/angle/angle/+/b7418a177f70ab736c5d4b1c3b42f9d387244718 although that seems to be an attempt to fix the same failure in Chrome. Note that our version of this test is out of date. I'm looking through https://bugs.chromium.org/p/chromium/issues/detail?id=980675 to see how Chrome addressed this.
The difference is in the translated fragment shader source. Before: invariant varying mediump vec4 webgl_a78e73e400000001; void main(){ (gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0)); (gl_FragColor = webgl_a78e73e400000001); } After: varying mediump vec4 webgl_a78e73e400000001; void main(){ (gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0)); (gl_FragColor = webgl_a78e73e400000001); } However, my reading of the GLSL specifications says this is ok. "Only variables output from a shader can be candidates for invariance. This includes user-defined output variables and the built-in output variables. As only outputs can be declared as invariant, an output from one shader stage will still match an input of a subsequent stage without the input being declared as invariant."
False alarm. I was looking at the wrong file :(
Created attachment 380486 [details] Patch
Ah, relieved to know that the test was out of date and that there wasn't a bug in the version of ANGLE that WebKit rolled forward!
Created attachment 380538 [details] Patch
Committed r250917: <https://trac.webkit.org/changeset/250917>