Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 071a8e4ca7a56a134f7c3573e76e00b392515861
https://github.com/WebKit/WebKit/commit/071a8e4ca7a56a134f7c3573e76e00b392515861
Author: Carlos Garcia Campos <[email protected]>
Date: 2024-03-13 (Wed, 13 Mar 2024)
Changed paths:
M Source/WebCore/html/CanvasBase.cpp
M Source/WebCore/html/HTMLCanvasElement.cpp
M Source/WebCore/html/ImageBitmap.cpp
M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
M Source/WebCore/page/Settings.yaml
M Source/WebCore/platform/graphics/ImageBuffer.cpp
M
Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp
M Source/WebCore/platform/graphics/skia/PlatformDisplaySkia.cpp
M Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp
M Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp
M Source/WebKit/SourcesWPE.txt
M Source/WebKit/UIProcess/WebPreferences.cpp
M Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp
A Source/WebKit/UIProcess/wpe/WebPreferencesWPE.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
Log Message:
-----------
[Skia] Improve the way we decide when to use CPU or GPU
https://bugs.webkit.org/show_bug.cgi?id=270083
Reviewed by Adrian Perez de Castro.
We normally assume we always want hardware acceleration for rendering
with Skia, but there are several situations in which we need to use the
CPU:
- If we fail to create the GL context.
- If we fail to create the SkSurface (for example because the size
is bigger than the maximum render target size allowed).
- When accelerated compositing is disabled.
- When accelerated 2D canvas is disabled.
- When CPU rendering is disabled.
- When the canvas is too small (we use 128 * 129 to match chromium).
* Source/WebCore/html/CanvasBase.cpp:
(WebCore::CanvasBase::shouldAccelerate const):
* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createContext2d):
(WebCore::HTMLCanvasElement::createContextBitmapRenderer):
(WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer const):
(WebCore::HTMLCanvasElement::createImageBuffer const):
* Source/WebCore/html/ImageBitmap.cpp:
(WebCore::bufferRenderingMode):
(WebCore::ImageBitmap::create):
(WebCore::ImageBitmap::createImageBuffer):
(WebCore::ImageBitmap::createBlankImageBuffer):
(WebCore::ImageBitmap::createCompletionHandler):
(WebCore::ImageBitmap::createFromBuffer):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::isAccelerated const):
* Source/WebCore/page/Settings.yaml:
* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::create):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp:
(WebCore::ImageBufferSkiaAcceleratedBackend::create):
* Source/WebCore/platform/graphics/skia/PlatformDisplaySkia.cpp:
(WebCore::PlatformDisplay::skiaGLContext):
* Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp:
(WebCore::SkiaAcceleratedBufferPool::acquireBuffer):
(WebCore::SkiaAcceleratedBufferPool::createAcceleratedBuffer):
* Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp:
(WebCore::CoordinatedGraphicsLayer::paintTile):
* Source/WebKit/SourcesWPE.txt:
* Source/WebKit/UIProcess/WebPreferences.cpp:
* Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformInitializeStore):
* Source/WebKit/UIProcess/wpe/WebPreferencesWPE.cpp: Copied from
Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp.
(WebKit::WebPreferences::platformInitializeStore):
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::CompositingCoordinator):
(WebKit::skiaForceUseCpuRendering): Deleted.
Canonical link: https://commits.webkit.org/276016@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes