[webkit-changes] [WebKit/WebKit] 856237: Cherry-pick 64b45387dcf2. rdar://problem/106452687
Tim Horton
noreply at github.com
Thu Mar 9 10:06:38 PST 2023
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 <timothy_horton at apple.com>
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 at 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/261247.23@safari-7616.1.6-branch
More information about the webkit-changes
mailing list