RESOLVED FIXED 201784
Layout Test webgl/2.0.0/conformance/glsl/misc/shaders-with-invariance.html is failing since ANGLE roll
https://bugs.webkit.org/show_bug.cgi?id=201784
Summary Layout Test webgl/2.0.0/conformance/glsl/misc/shaders-with-invariance.html is...
Russell Epstein
Reported 2019-09-13 17:07:22 PDT
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
Attachments
Patch (4.35 KB, patch)
2019-10-08 17:48 PDT, Dean Jackson
no flags
Patch (5.95 KB, patch)
2019-10-09 09:51 PDT, Dean Jackson
graouts: review+
Radar WebKit Bug Importer
Comment 1 2019-09-13 17:08:23 PDT
Russell Epstein
Comment 2 2019-09-13 17:13:10 PDT
Marked test as failing in r249860.
Dean Jackson
Comment 3 2019-10-08 14:46:27 PDT
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.
Dean Jackson
Comment 4 2019-10-08 15:46:33 PDT
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."
Dean Jackson
Comment 5 2019-10-08 17:40:00 PDT
False alarm. I was looking at the wrong file :(
Dean Jackson
Comment 6 2019-10-08 17:48:00 PDT
Kenneth Russell
Comment 7 2019-10-08 18:30:46 PDT
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!
Dean Jackson
Comment 8 2019-10-09 09:51:39 PDT
Dean Jackson
Comment 9 2019-10-09 10:32:19 PDT
Note You need to log in before you can comment on or make changes to this bug.