Bug 208188 - [WPE] Many WebGL 2.0.0 conformance tests fail
Summary: [WPE] Many WebGL 2.0.0 conformance tests fail
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WPE WebKit (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
: 208696 208914 208915 (view as bug list)
Depends on: webglangle 209098
Blocks:
  Show dependency treegraph
 
Reported: 2020-02-25 03:05 PST by Chris Lord
Modified: 2023-02-01 05:22 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Lord 2020-02-25 03:05:27 PST
Bug 208078 recently enable a bunch of WebGL 2.0.0 conformance tests that were previously skipped. Many of them fail on WPE. From a local run:

Unexpected flakiness: timeouts (2)
  webgl/2.0.0/conformance2/state/gl-object-get-calls.html [ Failure Timeout Pass ]
  webgl/2.0.0/conformance2/transform_feedback/transform_feedback.html [ Failure Timeout Pass ]


Regressions: Unexpected text-only failures (26)
  webgl/2.0.0/conformance2/attribs/gl-vertexattribipointer-offsets.html [ Failure ]
  webgl/2.0.0/conformance2/attribs/gl-vertexattribipointer.html [ Failure ]
  webgl/2.0.0/conformance2/buffers/bound-buffer-size-change-test.html [ Failure ]
  webgl/2.0.0/conformance2/buffers/buffer-copying-contents.html [ Failure ]
  webgl/2.0.0/conformance2/glsl3/no-attribute-vertex-shader.html [ Failure ]
  webgl/2.0.0/conformance2/glsl3/shader-with-invalid-characters.html [ Failure ]
  webgl/2.0.0/conformance2/glsl3/shader-with-mis-matching-uniform-block.html [ Failure ]
  webgl/2.0.0/conformance2/glsl3/texture-offset-out-of-range.html [ Failure ]
  webgl/2.0.0/conformance2/misc/expando-loss-2.html [ Failure ]
  webgl/2.0.0/conformance2/misc/object-deletion-behaviour-2.html [ Failure ]
  webgl/2.0.0/conformance2/query/occlusion-query.html [ Failure ]
  webgl/2.0.0/conformance2/query/query.html [ Failure ]
  webgl/2.0.0/conformance2/reading/read-pixels-from-fbo-test.html [ Failure ]
  webgl/2.0.0/conformance2/reading/read-pixels-pack-parameters.html [ Failure ]
  webgl/2.0.0/conformance2/rendering/canvas-resizing-with-pbo-bound.html [ Failure ]
  webgl/2.0.0/conformance2/rendering/clear-func-buffer-type-match.html [ Failure ]
  webgl/2.0.0/conformance2/rendering/clipping-wide-points.html [ Failure ]
  webgl/2.0.0/conformance2/rendering/framebuffer-unsupported.html [ Failure ]
  webgl/2.0.0/conformance2/rendering/fs-color-type-mismatch-color-buffer-type.html [ Failure ]
  webgl/2.0.0/conformance2/rendering/rendering-sampling-feedback-loop.html [ Failure ]
  webgl/2.0.0/conformance2/samplers/sampler-drawing-test.html [ Failure ]
  webgl/2.0.0/conformance2/samplers/samplers.html [ Failure ]
  webgl/2.0.0/conformance2/textures/misc/tex-3d-size-limit.html [ Failure ]
  webgl/2.0.0/conformance2/textures/misc/tex-storage-2d.html [ Failure ]
  webgl/2.0.0/conformance2/transform_feedback/two-unreferenced-varyings.html [ Failure ]
  webgl/2.0.0/conformance2/transform_feedback/unwritten-output-defaults-to-zero.html [ Failure ]

Regressions: Unexpected timeouts (1)
  webgl/2.0.0/conformance2/textures/misc/copy-texture-image-luma-format.html [ Timeout ]


These tests remain disabled on iOS and were already explicitly disabled in GTK (ref bug 166536). Some WebGL 2.0.0 tests have been explicitly disabled in the past on WPE (ref bug 188346). It's unclear what the intention wrt to WebGL 2.0.0 on WPE is - should it work? If that's the case, I would suppose these failures need more thorough investigation. Perhaps they worked previously and the disabling of the tests went unnoticed, so breakage could creep in? If it was never intended to be reliable, then perhaps these should be skipped, as they were previously and are on iOS and GTK.

Feedback appreciated!
Comment 1 Lauro Moura 2020-03-05 20:57:38 PST
Since r257799 / bug208486, the following tests are also failing:

* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-rgb-float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-rgb-half_float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-half_float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb32f-rgb-float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb565-rgb-unsigned_byte.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb5_a1-rgba-unsigned_byte.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb8-rgb-unsigned_byte.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-half_float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba16f-rgba-float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba16f-rgba-half_float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba32f-rgba-float.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba4-rgba-unsigned_byte.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba8-rgba-unsigned_byte.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-srgb8-rgb-unsigned_byte.html
* webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html
Comment 2 Lauro Moura 2020-03-05 21:14:29 PST
Gardened these failures (some are not failing anymore) in r257967.
Comment 3 Lauro Moura 2020-03-06 21:08:13 PST
Moved these to bug208696 as they may be fixed separately.

(In reply to Lauro Moura from comment #1)
> Since r257799 / bug208486, the following tests are also failing:
> 
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-
> rgb-float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-
> rgb-half_float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-
> float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-
> half_float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb32f-rgb-
> float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb565-rgb-
> unsigned_byte.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb565-rgb-
> unsigned_short_5_6_5.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb5_a1-rgba-
> unsigned_byte.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb5_a1-rgba-
> unsigned_short_5_5_5_1.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb8-rgb-
> unsigned_byte.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-
> float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-
> half_float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba16f-rgba-
> float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba16f-rgba-
> half_float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba32f-rgba-
> float.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba4-rgba-
> unsigned_byte.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba4-rgba-
> unsigned_short_4_4_4_4.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba8-rgba-
> unsigned_byte.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-srgb8-rgb-
> unsigned_byte.html
> *
> webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-srgb8_alpha8-
> rgba-unsigned_byte.html
Comment 4 Kenneth Russell 2020-03-25 20:39:45 PDT
WebKit's WebGL implementation is moving to use ANGLE as its backend, and WebGL 2.0 support is going to be gated on using ANGLE, hopefully as of the fix for Bug 209098. Therefore I'm planning to mark all of the WebGL 2.0 tests as skipped for the WPE port.

My recommendation is to switch over the WPE port to ANGLE. The meta-bug for this is Bug 198948. macOS and iOS have already been switched over. ANGLE already runs on Android, iOS, Linux, macOS, Windows, and more platforms, so hopefully this should be fairly simple - change WPE's build process to build ANGLE and the appropriate backend, set USE_ANGLE=1 in Source/WTF/wtf/Platform.h, and go from there.

If the WPE team has any questions I and others will be happy to answer them to the best of our ability.
Comment 5 Kenneth Russell 2020-03-25 20:43:39 PDT
Note that it would be great if WPE would file more bugs about getting ANGLE running on WPE, block Bug 198948 on them, and block this one on them, too.
Comment 6 Kenneth Russell 2020-03-25 20:44:57 PDT
*** Bug 208696 has been marked as a duplicate of this bug. ***
Comment 7 Diego Pino 2021-12-31 03:33:01 PST
*** Bug 208915 has been marked as a duplicate of this bug. ***
Comment 8 Diego Pino 2021-12-31 03:35:23 PST
*** Bug 208914 has been marked as a duplicate of this bug. ***
Comment 9 Diego Pino 2023-01-25 20:43:32 PST
There are no references to this bug in any TestExpectations. It's probable this bug was solved at some point but it wasn't marked as closed. I'm closing this bug now. If you think this bug report is still valid, please reopen it and add an entry to TestExpectations.
Comment 10 Alejandro G. Castro 2023-02-01 05:22:56 PST
WebGL2 support was added and tests results reviewed in commit 259304@main.

Now we can follow the new situation in bug https://bugs.webkit.org/show_bug.cgi?id=251107