Bug 178705
| Summary: | [WPE] Two WebGL layout tests are failing | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Michael Catanzaro <mcatanzaro> |
| Component: | WPE WebKit | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | aboya, bugs-noreply, cadubentzen, dpino |
| Priority: | P2 | ||
| Version: | Other | ||
| Hardware: | PC | ||
| OS: | Linux | ||
Michael Catanzaro
Layout tests fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html and webgl/1.0.2/conformance/rendering/multisample-corruption.html are failing for WPE. Updating expectations accordingly.
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-actual.txt
@@ -4,14 +4,18 @@
Testing texImage2D with flipY=true
Checking lower left corner
-PASS shouldBe 0,255,0
+FAIL shouldBe 0,255,0
+at (0, 0) expected: 0,255,0 was 0,0,0
Checking upper left corner
-PASS shouldBe 255,0,0
+FAIL shouldBe 255,0,0
+at (0, 0) expected: 255,0,0 was 0,0,0
Testing texImage2D with flipY=false
Checking lower left corner
-PASS shouldBe 255,0,0
+FAIL shouldBe 255,0,0
+at (0, 0) expected: 255,0,0 was 0,0,0
Checking upper left corner
-PASS shouldBe 0,255,0
+FAIL shouldBe 0,255,0
+at (0, 0) expected: 0,255,0 was 0,0,0
Testing texSubImage2D with flipY=true
Checking lower left corner
PASS shouldBe 0,255,0
@@ -24,6 +28,7 @@
PASS shouldBe 0,255,0
PASS getError was expected value: NO_ERROR : should be no errors
PASS successfullyParsed is true
+Some tests failed.
TEST COMPLETE
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/webgl/1.0.2/conformance/rendering/multisample-corruption-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/webgl/1.0.2/conformance/rendering/multisample-corruption-actual.txt
@@ -1,5 +1,5 @@
This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
Test: ../../resources/webgl_test_files/conformance/rendering/multisample-corruption.html
-PASS
+FAIL
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Carlos Bentzen
fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html is passing since r225060 (see bug 180000).
About webgl/1.0.2/conformance/rendering/multisample-corruption.html, the bug happens because antialiasing is disabled for GLES2 (check GraphicsContext3D::validateAttributes() in GraphicsContext3DOpenGLES.cpp)
In order to enable it, one of these extensions would be required, since according to the specification GLES2 does not support multisampling in framebuffer objects:
- APPLE_framebuffer_multisample, which is what Apple used enclosed in #if's, or
- ANGLE_framebuffer_multisample, which is implemented in ANGLE translating it OpenGL extensions calls or
- other vendor-specific extensions
So right now GraphicsContext3D::resolveMultisamplingIfNecessary() for GLES is empty and I don't know how exactly to implement it without non vendor-specific GLES2 extensions. GLES3 on the other hand does support multisampling in framebuffer objects.
The test can be run manually from here: https://www.khronos.org/registry/webgl/sdk/tests/conformance/rendering/multisample-corruption.html
By the way, WebKit-based browsers (GTK and Safari) seem to make the red canvas in the test disappear or turn black, which does not seem like a correct behavior although the pixel reading values still returns correct. I could not trace to exactly why it happens but Chrome and Firefox display correctly. Disabling accelerated compositing make WebKitGTK+ to work OK.
Please correct me if I made wrong conclusions in the above investigation.
Alicia Boya GarcĂa
*/multiframe-corruption.html failures are flaky by nature, I'll mark them as such. Same applies for the much more verbose webgl/2.0.0/conformance/rendering/multisample-corruption.html
Diego Pino
Only webgl/1.0.3/conformance/rendering/multisample-corruption.html was filed under this bug in WPE test expectations. The test is no longer flaky as it has been consistently failing for the last 4000 revisions.
Filed a new bug: webkit.org/b/213203.