Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f77323c9d2ad5455d94e42560ef4bdf89c0c9414 https://github.com/WebKit/WebKit/commit/f77323c9d2ad5455d94e42560ef4bdf89c0c9414 Author: Kimmo Kinnunen <kkinnu...@apple.com> Date: 2023-09-28 (Thu, 28 Sep 2023)
Changed paths: M Source/WebCore/platform/graphics/ImageBuffer.cpp M Source/WebCore/platform/graphics/ImageBuffer.h M Source/WebCore/platform/graphics/ImageBufferBackend.cpp M Source/WebCore/platform/graphics/ImageBufferBackend.h M Source/WebCore/platform/graphics/ImageBufferBackendParameters.h M Source/WebCore/platform/graphics/cairo/ImageBufferCairoImageSurfaceBackend.cpp M Source/WebCore/platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp M Source/WebCore/platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h M Source/WebCore/platform/graphics/cg/IOSurfaceImageBuffer.h M Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp M Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h M Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp M Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingImageBufferBackend.h M Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingImageBufferBackend.mm M Source/WebKit/Shared/UserData.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/Shared/WebImage.cpp M Source/WebKit/Shared/WebImage.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp M Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h M Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp M Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h M Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.cpp M Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.h Log Message: ----------- ImageBuffer::backendSize() waits for GPUP to create the backend https://bugs.webkit.org/show_bug.cgi?id=262179 rdar://116117019 Reviewed by Matt Woodrow. The backend size is not backend logic, it is same for all backends. Move the backend size calculation to ImageBuffer. The logical size is not a ImageBufferBackend parameter, it is a ImageBuffer parameter. Store the backend size in ImageBufferBackendParameters. Use the new struct ImageBufferParameters when client code is communicating parameters with the use-case of creating new ImageBuffer instances in WebImage and RemoteSerializedImageBufferProxy. Fixes a case where RemoteImageBufferProxy would wait for the GPUP to send the image buffer handle to WP. This is not needed, the backend size is always known. Later commits will simplify other properties in ImageBufferBackend that are not backend-dependent. * Source/WebCore/platform/graphics/ImageBuffer.cpp: (WebCore::ImageBuffer::ImageBuffer): (WebCore::ImageBuffer::calculateBackendSize): (WebCore::ImageBuffer::backendParameters): (WebCore::ImageBuffer::backendSize const): Deleted. * Source/WebCore/platform/graphics/ImageBuffer.h: (WebCore::ImageBuffer::create): (WebCore::ImageBuffer::backendSize const): (WebCore::ImageBuffer::parameters const): * Source/WebCore/platform/graphics/ImageBufferBackend.cpp: (WebCore::ImageBufferBackend::convertToLuminanceMask): (WebCore::ImageBufferBackend::getPixelBuffer): (WebCore::ImageBufferBackend::putPixelBuffer): (WebCore::ImageBufferBackend::calculateBaseTransform): (WebCore::ImageBufferBackend::calculateBackendSize): Deleted. * Source/WebCore/platform/graphics/ImageBufferBackend.h: (WebCore::ImageBufferBackend::size const): (WebCore::ImageBufferBackend::pixelFormat const): (WebCore::ImageBufferBackend::backendSize const): Deleted. (WebCore::ImageBufferBackend::logicalSize const): Deleted. (WebCore::ImageBufferBackend::renderingPurpose const): Deleted. (WebCore::ImageBufferBackend::logicalRect const): Deleted. (WebCore::ImageBufferBackend::backendRect const): Deleted. * Source/WebCore/platform/graphics/ImageBufferBackendParameters.h: * Source/WebCore/platform/graphics/PlatformImageBuffer.h: * Source/WebCore/platform/graphics/cairo/ImageBufferCairoImageSurfaceBackend.cpp: (WebCore::ImageBufferCairoImageSurfaceBackend::calculateSafeBackendSize): (WebCore::ImageBufferCairoImageSurfaceBackend::calculateMemoryCost): (WebCore::ImageBufferCairoImageSurfaceBackend::bytesPerRow const): * Source/WebCore/platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp: (WebCore::ImageBufferCairoSurfaceBackend::backendSize const): Deleted. * Source/WebCore/platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h: * Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp: (WebCore::ImageBufferCGBitmapBackend::calculateSafeBackendSize): (WebCore::ImageBufferCGBitmapBackend::calculateMemoryCost): (WebCore::ImageBufferCGBitmapBackend::bytesPerRow const): (WebCore::ImageBufferCGBitmapBackend::createNativeImageReference): (WebCore::ImageBufferCGBitmapBackend::backendSize const): Deleted. * Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h: * Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp: (WebCore::ImageBufferIOSurfaceBackend::calculateSafeBackendSize): (WebCore::ImageBufferIOSurfaceBackend::calculateMemoryCost): (WebCore::ImageBufferIOSurfaceBackend::backendSize const): Deleted. * Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::isSmallLayerBacking): * Source/WebKit/Scripts/webkit/messages.py: (headers_for_type): * Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingImageBufferBackend.h: * Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingImageBufferBackend.mm: (WebKit::GraphicsContextDynamicContentScaling::GraphicsContextDynamicContentScaling): (WebKit::DynamicContentScalingImageBufferBackend::calculateMemoryCost): (WebKit::DynamicContentScalingImageBufferBackend::create): (WebKit::DynamicContentScalingImageBufferBackend::context): (WebKit::DynamicContentScalingImageBufferBackend::bytesPerRow const): (WebKit::DynamicContentScalingAcceleratedImageBufferBackend::create): (WebKit::DynamicContentScalingImageBufferBackend::backendSize const): Deleted. * Source/WebKit/Shared/UserData.cpp: (WebKit::UserData::decode): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/Shared/WebImage.cpp: (WebKit::WebImage::create): (WebKit::WebImage::parameters const): * Source/WebKit/Shared/WebImage.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didGetImageForFindMatch): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp: (WebKit::ImageBufferShareableBitmapBackend::calculateSafeBackendSize): (WebKit::ImageBufferShareableBitmapBackend::calculateMemoryCost): (WebKit::ImageBufferShareableBitmapBackend::backendSize const): Deleted. * Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h: * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp: (WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy): (WebKit::RemoteImageBufferProxy::didCreateBackend): (WebKit::RemoteImageBufferProxy::sinkIntoSerializedImageBuffer): (WebKit::RemoteSerializedImageBufferProxy::RemoteSerializedImageBufferProxy): * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h: (WebKit::RemoteImageBufferProxy::create): * Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp: (WebKit::ImageBufferRemoteIOSurfaceBackend::bytesPerRow const): (WebKit::ImageBufferRemoteIOSurfaceBackend::backendSize const): Deleted. * Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h: * Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.cpp: (WebKit::ImageBufferShareableMappedIOSurfaceBitmapBackend::backendSize const): Deleted. * Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.h: Canonical link: https://commits.webkit.org/268631@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes