[webkit-changes] [WebKit/WebKit] fea3b3: Support willReadFrequently for CanvasRenderingCont...
Carlos Garcia Campos
noreply at github.com
Mon Apr 15 05:18:39 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fea3b372b1651a492a3a7f314b3120b5da15518b
https://github.com/WebKit/WebKit/commit/fea3b372b1651a492a3a7f314b3120b5da15518b
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M LayoutTests/TestExpectations
A LayoutTests/fast/canvas/canvas-will-read-frequently-expected.txt
A LayoutTests/fast/canvas/canvas-will-read-frequently.html
M LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any.worker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d-getcontext-options-expected.txt
M LayoutTests/inspector/canvas/recording-2d-frameCount-expected.txt
M LayoutTests/inspector/canvas/recording-2d-full-expected.txt
M LayoutTests/inspector/canvas/recording-2d-memoryLimit-expected.txt
M LayoutTests/inspector/canvas/recording-offscreen-canvas-2d-frameCount-expected.txt
M LayoutTests/inspector/canvas/recording-offscreen-canvas-2d-full-expected.txt
M LayoutTests/inspector/canvas/recording-offscreen-canvas-2d-memoryLimit-expected.txt
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/gtk/inspector/canvas/context-attributes-expected.txt
A PerformanceTests/Canvas/getImageDataCPU.html
A PerformanceTests/Canvas/getImageDataGPU.html
M Source/JavaScriptCore/inspector/protocol/Canvas.json
M Source/WebCore/html/CanvasBase.cpp
M Source/WebCore/html/canvas/CanvasRenderingContext.cpp
M Source/WebCore/html/canvas/CanvasRenderingContext.h
M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h
M Source/WebCore/html/canvas/CanvasRenderingContext2DSettings.h
M Source/WebCore/html/canvas/CanvasRenderingContext2DSettings.idl
M Source/WebCore/inspector/InspectorCanvas.cpp
Log Message:
-----------
Support willReadFrequently for CanvasRenderingContext2D
https://bugs.webkit.org/show_bug.cgi?id=244117
Reviewed by Darin Adler.
It's used to indicate there will be frequent get image data operations,
in which case an accelerated canvas can be slower than unaccelerated
one. This patch turns off hardware acceleration for the 2D canvas when
willReadFrequently is true in settings.
See https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
Test: fast/canvas/canvas-will-read-frequently.html
* LayoutTests/TestExpectations: Skip the test in all platforms.
* LayoutTests/fast/canvas/canvas-will-read-frequently-expected.txt: Added.
* LayoutTests/fast/canvas/canvas-will-read-frequently.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/2d-getcontext-options.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d-getcontext-options-expected.txt:
* LayoutTests/inspector/canvas/recording-2d-frameCount-expected.txt:
* LayoutTests/inspector/canvas/recording-2d-full-expected.txt:
* LayoutTests/inspector/canvas/recording-2d-memoryLimit-expected.txt:
* LayoutTests/inspector/canvas/recording-offscreen-canvas-2d-frameCount-expected.txt:
* LayoutTests/inspector/canvas/recording-offscreen-canvas-2d-full-expected.txt:
* LayoutTests/inspector/canvas/recording-offscreen-canvas-2d-memoryLimit-expected.txt:
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/gtk/inspector/canvas/context-attributes-expected.txt:
* PerformanceTests/Canvas/getImageDataCPU.html: Added.
* PerformanceTests/Canvas/getImageDataGPU.html: Added.
* Source/JavaScriptCore/inspector/protocol/Canvas.json:
* Source/WebCore/html/CanvasBase.cpp:
(WebCore::CanvasBase::allocateImageBuffer const):
* Source/WebCore/html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::willReadFrequently const):
* Source/WebCore/html/canvas/CanvasRenderingContext.h:
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::willReadFrequently const):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:
* Source/WebCore/html/canvas/CanvasRenderingContext2DSettings.h:
* Source/WebCore/html/canvas/CanvasRenderingContext2DSettings.idl:
* Source/WebCore/inspector/InspectorCanvas.cpp:
(WebCore::buildObjectForCanvasContextAttributes):
Canonical link: https://commits.webkit.org/277494@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list