Branch: refs/heads/safari-7616.1.6-branch
Home: https://github.com/WebKit/WebKit
Commit: 856237da0224e562bbb6a31e52f045e0301ab4c6
https://github.com/WebKit/WebKit/commit/856237da0224e562bbb6a31e52f045e0301ab4c6
Author: Tim Horton <[email protected]>
Date: 2023-03-09 (Thu, 09 Mar 2023)
Changed paths:
M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp
M Source/WebCore/platform/graphics/cg/GraphicsContextCG.h
M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h
M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
Log Message:
-----------
Cherry-pick 64b45387dcf2. rdar://problem/106452687
REGRESSION (260927@main): CGDisplayList image buffers no longer use the
correct RenderingMode
https://bugs.webkit.org/show_bug.cgi?id=253624
rdar://106452687
Reviewed by Simon Fraser.
* Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContextCG::GraphicsContextCG):
* Source/WebCore/platform/graphics/cg/GraphicsContextCG.h:
Make it possible for a client who knows its CGContext's rendering mode to
specify it
up front, instead of calculating it from the context (since sometimes it is
impossible
to tell given only the context -- e.g. in the case of a display list, which
could be
replayed into a software or accelerated context).
* Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h:
* Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm:
(WebKit::GraphicsContextCGDisplayList::GraphicsContextCGDisplayList):
(WebKit::CGDisplayListImageBufferBackend::create):
(WebKit::CGDisplayListImageBufferBackend::CGDisplayListImageBufferBackend):
(WebKit::m_renderingMode):
(WebKit::CGDisplayListImageBufferBackend::context):
(WebKit::CGDisplayListAcceleratedImageBufferBackend::create):
(WebKit::CGDisplayListAcceleratedImageBufferBackend::CGDisplayListAcceleratedImageBufferBackend):
Add a new CGDisplayListAcceleratedImageBufferBackend backend that just
inherits everything
from CGDisplayListImageBufferBackend, but overrides the RenderingMode that
the GraphicsContextCG
is created with.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureFrontBuffer):
Create the appropriate type of CGDisplayList{Accelerated}ImageBufferBackend
based on the type of the main buffer.
Canonical link: https://commits.webkit.org/261412@main
Canonical link: https://commits.webkit.org/[email protected]
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes