Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 074ad42e866f713abc448fa3a42c2f84c5ee07e0 https://github.com/WebKit/WebKit/commit/074ad42e866f713abc448fa3a42c2f84c5ee07e0 Author: Kimmo Kinnunen <kkinnu...@apple.com> Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths: M LayoutTests/TestExpectations A LayoutTests/fast/canvas/2d.context.many.small-expected.html A LayoutTests/fast/canvas/2d.context.many.small.html M LayoutTests/fast/canvas/image-buffer-backend-variants-expected.txt M LayoutTests/fast/canvas/image-buffer-backend-variants.html M LayoutTests/platform/glib/fast/canvas/image-buffer-backend-variants-expected.txt M LayoutTests/platform/ios/fast/canvas/image-buffer-backend-variants-expected.txt M LayoutTests/platform/mac-wk1/fast/canvas/image-buffer-backend-variants-expected.txt M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp Log Message: ----------- REGRESSION (268251@main): 2D contexts fail after GPUP IOSurface limits have been exceeded https://bugs.webkit.org/show_bug.cgi?id=267262 rdar://120695232 Reviewed by Matt Woodrow. IOSurfaces fail to allocate when GPUP has too many of them. The commit 268251@main removed the fallback for RemoteImageBuffer allocations, where Accelerated buffers would fall back to normal Unaccelerated buffers. Instead, the idea was to treat exceeding IOSurface limits as OOM situation. This would be done to prepare being able to create the specific Backend instance at RemoteImageBufferProxy instantiation time. This would break existing content that would leak thousands of 2d contexts. The content could still work with the fallback in place. Reimplement the fallback to Unaccelerated. * LayoutTests/fast/canvas/2d.context.many.small-expected.html: Added. * LayoutTests/fast/canvas/2d.context.many.small.html: Added. * LayoutTests/fast/canvas/image-buffer-backend-variants-expected.txt: * LayoutTests/fast/canvas/image-buffer-backend-variants.html: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::allocateImageBufferInternal): * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp: (WebKit::RemoteImageBufferProxy::didCreateBackend): Canonical link: https://commits.webkit.org/272892@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes