[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