[webkit-changes] [WebKit/WebKit] e5edae: Give WebKit-owned IOSurfaces names
Ryan Reno
noreply at github.com
Thu Mar 30 09:03:47 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e5edaea039e254b86f390fe75a6b37b291b66998
https://github.com/WebKit/WebKit/commit/e5edaea039e254b86f390fe75a6b37b291b66998
Author: Ryan Reno <rreno at apple.com>
Date: 2023-03-30 (Thu, 30 Mar 2023)
Changed paths:
M Source/WTF/wtf/spi/cocoa/IOSurfaceSPI.h
M Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp
M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
M Source/WebCore/platform/graphics/cocoa/IOSurface.h
M Source/WebCore/platform/graphics/cocoa/IOSurface.mm
M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
M Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp
M Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm
M Tools/TestWebKitAPI/Tests/WebCore/cocoa/IOSurfaceTests.mm
Log Message:
-----------
Give WebKit-owned IOSurfaces names
https://bugs.webkit.org/show_bug.cgi?id=141586
rdar://problem/89791501
Reviewed by Simon Fraser.
IOSurfaces can have name metadata attached to them for tools to consume.
This change adds names to surfaces based on the RenderingPurpose they
are being created for. Additionally, surfaces which are stored in the
IOSurfacePool will update the name if a surface is being pulled from the
pool for a different purpose than it was originally created for.
* Source/WTF/wtf/spi/cocoa/IOSurfaceSPI.h:
* Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::create):
* Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::allocateAndBindDisplayBufferBacking):
* Source/WebCore/platform/graphics/cocoa/IOSurface.h:
* Source/WebCore/platform/graphics/cocoa/IOSurface.mm:
(WebCore::surfaceNameToNSString):
(WebCore::IOSurface::create):
(WebCore::IOSurface::createFromImage):
(WebCore::optionsForBiplanarSurface):
(WebCore::optionsFor32BitSurface):
(WebCore::IOSurface::IOSurface):
(WebCore::IOSurface::convertToFormat):
(WebCore::IOSurface::nameForRenderingPurpose):
(WebCore::operator<<):
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _takeViewSnapshot]):
(-[WKWebView _snapshotRectAfterScreenUpdates:rectInViewCoordinates:intoImageOfWidth:completionHandler:]):
* Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):
* Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView):
* Tools/TestWebKitAPI/Tests/WebCore/cocoa/IOSurfaceTests.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/262331@main
More information about the webkit-changes
mailing list