Diff
Modified: trunk/LayoutTests/ChangeLog (273300 => 273301)
--- trunk/LayoutTests/ChangeLog 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/LayoutTests/ChangeLog 2021-02-23 08:58:30 UTC (rev 273301)
@@ -1,3 +1,12 @@
+2021-02-23 Kimmo Kinnunen <[email protected]>
+
+ HTMLCanvasElement::copiedImage() contains old image with GPU Process on
+ https://bugs.webkit.org/show_bug.cgi?id=222101
+
+ Reviewed by Simon Fraser.
+
+ * gpu-process/TestExpectations:
+
2021-02-22 Said Abou-Hallawa <[email protected]>
[GPU Process] Implement the ClipToDrawingCommands item by using begin and end markers
Modified: trunk/LayoutTests/gpu-process/TestExpectations (273300 => 273301)
--- trunk/LayoutTests/gpu-process/TestExpectations 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/LayoutTests/gpu-process/TestExpectations 2021-02-23 08:58:30 UTC (rev 273301)
@@ -9,29 +9,19 @@
fast/canvas/canvas-arc-360-winding.html [ Failure ]
fast/canvas/canvas-arc-connecting-line.html [ Failure ]
fast/canvas/canvas-arc-zero-lineto.html [ Failure ]
-fast/canvas/canvas-bezier-same-endpoint.html [ Failure ]
-fast/canvas/canvas-blend-image.html [ Failure ]
-fast/canvas/canvas-blend-solid.html [ Failure ]
-fast/canvas/canvas-blending-clipping.html [ Failure ]
-fast/canvas/canvas-blending-color-over-color.html [ Failure ]
-fast/canvas/canvas-blending-color-over-gradient.html [ Failure ]
+fast/canvas/canvas-bezier-same-endpoint.html [ Failure Pass ]
+fast/canvas/canvas-blend-image.html [ Failure Pass ]
+fast/canvas/canvas-blend-solid.html [ Failure Pass ]
fast/canvas/canvas-drawImage-composite-copy.html [ ImageOnlyFailure ]
fast/canvas/canvas-large-dimensions.html [ Failure ]
fast/canvas/canvas-render-layer.html [ Failure ]
fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind.html [ ImageOnlyFailure ]
-fast/canvas/webgl/canvas-2d-webgl-texture.html [ Failure ]
fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565.html [ Failure ]
fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html [ Failure ]
fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html [ Failure ]
fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html [ Failure ]
-fast/canvas/webgl/tex-image-webgl.html [ Failure ]
-fast/canvas/webgl/texImage2D-mse-flipY-false.html [ Failure ]
-fast/canvas/webgl/texImage2D-mse-flipY-true.html [ Failure ]
-fast/canvas/webgl/texImage2D-video-flipY-true.html [ Failure ]
-fast/canvas/webgl/texture-active-bind.html [ Failure ]
# webkit.org/b/220806
-fast/canvas/canvas-blending-color-over-image.html [ Timeout ]
fast/canvas/webgl/context-update-on-display-configuration.html [ Timeout ]
fast/canvas/webgl/texImage2D-video-flipY-false.html [ Timeout ]
fast/canvas/webgl/webglcontextchangedevent.html [ Timeout ]
@@ -166,43 +156,18 @@
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/no-cors.https.html [ Failure ]
# webkit.org/b/220333
-webgl/1.0.3/conformance/extensions/oes-texture-float-with-canvas.html [ Failure ]
webgl/1.0.3/conformance/extensions/oes-texture-float-with-video.html [ Failure ]
-webgl/1.0.3/conformance/extensions/oes-texture-half-float-with-canvas.html [ Failure ]
webgl/1.0.3/conformance/extensions/oes-texture-half-float-with-video.html [ Failure ]
webgl/1.0.3/conformance/state/gl-object-get-calls.html [ Timeout ]
-webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgb565.html [ Failure ]
-webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgba4444.html [ Failure ]
-webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgba5551.html [ Failure ]
-webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html [ Failure ]
webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgb565.html [ Failure ]
webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba4444.html [ Failure ]
webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html [ Failure ]
webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html [ Failure ]
-webgl/1.0.3/conformance/textures/tex-image-webgl.html [ Failure ]
-webgl/1.0.3/conformance/textures/texparameter-test.html [ Failure ]
-webgl/1.0.3/conformance/textures/texture-active-bind-2.html [ Failure ]
-webgl/1.0.3/conformance/textures/texture-active-bind.html [ Failure ]
webgl/1.0.3/conformance/uniforms/uniform-samplers-test.html [ Slow ]
-webgl/2.0.0/conformance/extensions/oes-texture-float-with-canvas.html [ Failure ]
webgl/2.0.0/conformance/extensions/oes-texture-float-with-video.html [ Failure ]
-webgl/2.0.0/conformance/extensions/oes-texture-half-float-with-canvas.html [ Failure ]
webgl/2.0.0/conformance/extensions/oes-texture-half-float-with-video.html [ Failure ]
webgl/2.0.0/conformance/reading/read-pixels-test.html [ Failure ]
webgl/2.0.0/conformance/state/gl-object-get-calls.html [ Timeout ]
-webgl/2.0.0/conformance/textures/canvas/tex-2d-rgb-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance/textures/canvas/tex-2d-rgb-rgb-unsigned_short_5_6_5.html [ Failure ]
-webgl/2.0.0/conformance/textures/canvas/tex-2d-rgba-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance/textures/canvas/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html [ Failure ]
-webgl/2.0.0/conformance/textures/canvas/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html [ Failure ]
-webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgb-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgb-rgb-unsigned_short_5_6_5.html [ Failure ]
-webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html [ Failure ]
-webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html [ Failure ]
-webgl/2.0.0/conformance/textures/misc/tex-image-webgl.html [ Failure ]
-webgl/2.0.0/conformance/textures/misc/texture-active-bind-2.html [ Failure ]
-webgl/2.0.0/conformance/textures/misc/texture-active-bind.html [ Failure ]
webgl/2.0.0/conformance/textures/video/tex-2d-rgb-rgb-unsigned_byte.html [ Failure ]
webgl/2.0.0/conformance/textures/video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html [ Failure ]
webgl/2.0.0/conformance/textures/video/tex-2d-rgba-rgba-unsigned_byte.html [ Failure ]
@@ -211,134 +176,6 @@
webgl/2.0.0/conformance/uniforms/uniform-samplers-test.html [ Slow ]
webgl/2.0.0/conformance2/reading/read-pixels-pack-parameters.html [ Failure ]
webgl/2.0.0/conformance2/state/gl-object-get-calls.html [ Timeout ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-r11f_g11f_b10f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-r11f_g11f_b10f-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-r16f-red-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-r16f-red-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-r32f-red-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-r8-red-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-r8ui-red_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rg16f-rg-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rg16f-rg-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rg32f-rg-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rg8-rg-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rg8ui-rg_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb16f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb16f-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb32f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb565-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb5_a1-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb8-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgb8ui-rgb_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgba16f-rgba-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgba16f-rgba-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgba32f-rgba-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgba4-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgba8-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-rgba8ui-rgba_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-srgb8-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-r11f_g11f_b10f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-r11f_g11f_b10f-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-r16f-red-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-r16f-red-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-r32f-red-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-r8-red-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-r8ui-red_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rg16f-rg-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rg16f-rg-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rg32f-rg-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rg8-rg-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rg8ui-rg_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb16f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb16f-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb32f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb565-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb565-rgb-unsigned_short_5_6_5.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb5_a1-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb8-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgb8ui-rgb_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgba16f-rgba-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgba16f-rgba-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgba32f-rgba-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgba4-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgba8-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-rgba8ui-rgba_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-srgb8-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/canvas/tex-3d-srgb8_alpha8-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r11f_g11f_b10f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r11f_g11f_b10f-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r16f-red-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r16f-red-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r32f-red-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r8-red-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-r8ui-red_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg16f-rg-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg16f-rg-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg32f-rg-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg8-rg-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg8ui-rg_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb16f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb16f-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb32f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb565-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb5_a1-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb8-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb8ui-rgb_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb9_e5-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb9_e5-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba16f-rgba-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba16f-rgba-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba32f-rgba-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba4-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba8-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgba8ui-rgba_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-srgb8-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r11f_g11f_b10f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r11f_g11f_b10f-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r16f-red-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r16f-red-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r32f-red-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r8-red-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-r8ui-red_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg16f-rg-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg16f-rg-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg32f-rg-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg8-rg-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rg8ui-rg_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb16f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb16f-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb32f-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb565-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb565-rgb-unsigned_short_5_6_5.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb5_a1-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb8-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb8ui-rgb_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb9_e5-rgb-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgb9_e5-rgb-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba16f-rgba-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba16f-rgba-half_float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba32f-rgba-float.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba4-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba8-rgba-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-rgba8ui-rgba_integer-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-srgb8-rgb-unsigned_byte.html [ Failure ]
-webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-3d-srgb8_alpha8-rgba-unsigned_byte.html [ Failure ]
webgl/2.0.0/conformance2/textures/video/tex-2d-r11f_g11f_b10f-rgb-float.html [ Failure ]
webgl/2.0.0/conformance2/textures/video/tex-2d-r11f_g11f_b10f-rgb-half_float.html [ Failure ]
webgl/2.0.0/conformance2/textures/video/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev.html [ Failure ]
@@ -418,3 +255,7 @@
webrtc/h264-high.html [ Failure ]
webrtc/video-rotation-no-cvo.html [ Timeout ]
imported/w3c/web-platform-tests/webrtc/RTCRtpSender-replaceTrack.https.html [ Timeout ]
+
+webkit.org/b/221825 fast/canvas/webgl/texImage2D-video-flipY-true.html [ Pass ]
+webkit.org/b/221791 fast/canvas/webgl/texImage2D-mse-flipY-false.html [ Pass ]
+webkit.org/b/221791 fast/canvas/webgl/texImage2D-mse-flipY-true.html [ Pass ]
Modified: trunk/Source/WebKit/ChangeLog (273300 => 273301)
--- trunk/Source/WebKit/ChangeLog 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/Source/WebKit/ChangeLog 2021-02-23 08:58:30 UTC (rev 273301)
@@ -1,3 +1,42 @@
+2021-02-23 Kimmo Kinnunen <[email protected]>
+
+ HTMLCanvasElement::copiedImage() contains old image with GPU Process on
+ https://bugs.webkit.org/show_bug.cgi?id=222101
+
+ Reviewed by Simon Fraser.
+
+ Implement RemoteImageBufferProxy::copyImage and
+ RemoteImageBufferProxy::copyNativeImage.
+ Implement by asking the data from the GPU process.
+
+ Previously, with AcceleratedImageBufferShareableMappedBackend
+ the HTMLCanvasElement::copiedImage() would construct the copy
+ by copying the CGContext backed by the IOSurface that is accessible
+ by both processes. This would succeed. After a draw to the image,
+ the second copy would not reflect the draw but contain the same
+ image as the first copy.
+
+ Fix by not using the fact that the IOSurface is accessible by both
+ processes. In the end, IOSurfaces will not be available in
+ Web process.
+
+ Converts NativeImage to ShareableBitmap with WebCore::CompositeOperator::Copy
+ since the ImageBuffers might have unpremultiplied contents. Also, ShareableBitmap
+ does not have contents, so blending is overhead.
+
+ No new tests, enables ~150 tests.
+
+ * GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
+ (WebKit::RemoteGraphicsContextGL::copyTextureFromMedia):
+ * GPUProcess/graphics/RemoteRenderingBackend.cpp:
+ (WebKit::RemoteRenderingBackend::getShareableBitmapForImageBuffer):
+ * GPUProcess/graphics/RemoteRenderingBackend.h:
+ * GPUProcess/graphics/RemoteRenderingBackend.messages.in:
+ * WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
+ * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
+ (WebKit::RemoteRenderingBackendProxy::getShareableBitmap):
+ * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
+
2021-02-22 Don Olmstead <[email protected]>
Non-unified build fixes late February 2021 edition
Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp (273300 => 273301)
--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp 2021-02-23 08:58:30 UTC (rev 273301)
@@ -349,6 +349,32 @@
completionHandler(WTFMove(data));
}
+void RemoteRenderingBackend::getShareableBitmapForImageBuffer(WebCore::RenderingResourceIdentifier identifier, WebCore::PreserveResolution preserveResolution, CompletionHandler<void(ShareableBitmap::Handle&&)>&& completionHandler)
+{
+ ASSERT(!RunLoop::isMain());
+
+ ShareableBitmap::Handle handle;
+ [&]() {
+ auto imageBuffer = m_remoteResourceCache.cachedImageBuffer(identifier);
+ if (!imageBuffer)
+ return;
+ auto image = imageBuffer->copyNativeImage(WebCore::BackingStoreCopy::DontCopyBackingStore);
+ if (!image)
+ return;
+ auto backendSize = imageBuffer->backendSize();
+ auto resultSize = preserveResolution == WebCore::PreserveResolution::Yes ? backendSize : imageBuffer->logicalSize();
+ auto bitmap = ShareableBitmap::createShareable(resultSize, { });
+ if (!bitmap)
+ return;
+ auto context = bitmap->createGraphicsContext();
+ if (!context)
+ return;
+ context->drawNativeImage(*image, resultSize, FloatRect { { }, resultSize }, FloatRect { { }, backendSize }, { WebCore::CompositeOperator::Copy });
+ bitmap->createHandle(handle);
+ }();
+ completionHandler(WTFMove(handle));
+}
+
void RemoteRenderingBackend::cacheNativeImage(const ShareableBitmap::Handle& handle, RenderingResourceIdentifier renderingResourceIdentifier)
{
ASSERT(!RunLoop::isMain());
Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h (273300 => 273301)
--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h 2021-02-23 08:58:30 UTC (rev 273301)
@@ -118,6 +118,7 @@
void getDataURLForImageBuffer(const String& mimeType, Optional<double> quality, WebCore::PreserveResolution, WebCore::RenderingResourceIdentifier, CompletionHandler<void(String&&)>&&);
void getDataForImageBuffer(const String& mimeType, Optional<double> quality, WebCore::RenderingResourceIdentifier, CompletionHandler<void(Vector<uint8_t>&&)>&&);
void getBGRADataForImageBuffer(WebCore::RenderingResourceIdentifier, CompletionHandler<void(Vector<uint8_t>&&)>&&);
+ void getShareableBitmapForImageBuffer(WebCore::RenderingResourceIdentifier, WebCore::PreserveResolution, CompletionHandler<void(ShareableBitmap::Handle&&)>&&);
void cacheNativeImage(const ShareableBitmap::Handle&, WebCore::RenderingResourceIdentifier);
void cacheFont(Ref<WebCore::Font>&&);
void deleteAllFonts();
Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in (273300 => 273301)
--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in 2021-02-23 08:58:30 UTC (rev 273301)
@@ -29,6 +29,7 @@
GetDataURLForImageBuffer(String mimeType, Optional<double> quality, enum:uint8_t WebCore::PreserveResolution preserveResolution, WebCore::RenderingResourceIdentifier renderingResourceIdentifier) -> (String urlString) Synchronous
GetDataForImageBuffer(String mimeType, Optional<double> quality, WebCore::RenderingResourceIdentifier renderingResourceIdentifier) -> (Vector<uint8_t> data) Synchronous
GetBGRADataForImageBuffer(WebCore::RenderingResourceIdentifier renderingResourceIdentifier) -> (Vector<uint8_t> data) Synchronous
+ GetShareableBitmapForImageBuffer(WebCore::RenderingResourceIdentifier imageBuffer, enum:uint8_t WebCore::PreserveResolution preserveResolution) -> (WebKit::ShareableBitmap::Handle handle) Synchronous
CacheNativeImage(WebKit::ShareableBitmap::Handle handle, WebCore::RenderingResourceIdentifier renderingResourceIdentifier)
CacheFont(IPC::FontReference font)
DeleteAllFonts()
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h (273300 => 273301)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h 2021-02-23 08:58:30 UTC (rev 273301)
@@ -172,7 +172,28 @@
return m_remoteRenderingBackendProxy->getBGRADataForImageBuffer(m_renderingResourceIdentifier);
}
+ RefPtr<WebCore::NativeImage> copyNativeImage(WebCore::BackingStoreCopy = WebCore::BackingStoreCopy::CopyBackingStore) const override
+ {
+ if (UNLIKELY(!m_remoteRenderingBackendProxy))
+ return { };
+ const_cast<RemoteImageBufferProxy*>(this)->flushDrawingContext();
+ auto bitmap = m_remoteRenderingBackendProxy->getShareableBitmap(m_renderingResourceIdentifier, WebCore::PreserveResolution::Yes);
+ if (!bitmap)
+ return { };
+ return WebCore::NativeImage::create(bitmap->createPlatformImage());
+ }
+ RefPtr<WebCore::Image> copyImage(WebCore::BackingStoreCopy = WebCore::BackingStoreCopy::CopyBackingStore, WebCore::PreserveResolution preserveResolution = WebCore::PreserveResolution::No) const override
+ {
+ if (UNLIKELY(!m_remoteRenderingBackendProxy))
+ return { };
+ const_cast<RemoteImageBufferProxy*>(this)->flushDrawingContext();
+ auto bitmap = m_remoteRenderingBackendProxy->getShareableBitmap(m_renderingResourceIdentifier, preserveResolution);
+ if (!bitmap)
+ return { };
+ return bitmap->createImage();
+ }
+
void putImageData(WebCore::AlphaPremultiplication inputFormat, const WebCore::ImageData& imageData, const WebCore::IntRect& srcRect, const WebCore::IntPoint& destPoint = { }, WebCore::AlphaPremultiplication destFormat = WebCore::AlphaPremultiplication::Premultiplied) override
{
// The math inside ImageData::create() doesn't agree with the math inside ImageBufferBackend::putImageData() about how m_resolutionScale interacts with the data in the ImageBuffer.
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp (273300 => 273301)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp 2021-02-23 08:58:30 UTC (rev 273301)
@@ -179,6 +179,18 @@
return data;
}
+RefPtr<ShareableBitmap> RemoteRenderingBackendProxy::getShareableBitmap(RenderingResourceIdentifier imageBuffer, PreserveResolution preserveResolution)
+{
+ sendDeferredWakeupMessageIfNeeded();
+
+ ShareableBitmap::Handle handle;
+ auto sendResult = sendSync(Messages::RemoteRenderingBackend::GetShareableBitmapForImageBuffer(imageBuffer, preserveResolution), Messages::RemoteRenderingBackend::GetShareableBitmapForImageBuffer::Reply(handle), m_renderingBackendIdentifier, 1_s);
+ if (handle.isNull())
+ return { };
+ ASSERT_UNUSED(sendResult, sendResult);
+ return ShareableBitmap::create(handle);
+}
+
void RemoteRenderingBackendProxy::cacheNativeImage(const ShareableBitmap::Handle& handle, RenderingResourceIdentifier renderingResourceIdentifier)
{
send(Messages::RemoteRenderingBackend::CacheNativeImage(handle, renderingResourceIdentifier), m_renderingBackendIdentifier);
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h (273300 => 273301)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h 2021-02-23 08:58:30 UTC (rev 273301)
@@ -86,6 +86,7 @@
Vector<uint8_t> getDataForImageBuffer(const String& mimeType, Optional<double> quality, WebCore::RenderingResourceIdentifier);
Vector<uint8_t> getBGRADataForImageBuffer(WebCore::RenderingResourceIdentifier);
WebCore::DisplayList::FlushIdentifier flushDisplayListAndCommit(const WebCore::DisplayList::DisplayList&, WebCore::RenderingResourceIdentifier);
+ RefPtr<ShareableBitmap> getShareableBitmap(WebCore::RenderingResourceIdentifier, WebCore::PreserveResolution);
void cacheNativeImage(const ShareableBitmap::Handle&, WebCore::RenderingResourceIdentifier);
void cacheFont(Ref<WebCore::Font>&&);
void deleteAllFonts();
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp (273300 => 273301)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp 2021-02-23 08:20:01 UTC (rev 273300)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp 2021-02-23 08:58:30 UTC (rev 273301)
@@ -73,7 +73,7 @@
if (!context)
return nullptr;
- context->drawNativeImage(image, imageSize, FloatRect({ }, imageSize), FloatRect({ }, imageSize));
+ context->drawNativeImage(image, imageSize, FloatRect({ }, imageSize), FloatRect({ }, imageSize), { WebCore::CompositeOperator::Copy });
return bitmap;
}