[webkit-changes] [WebKit/WebKit] e95212: Use CAIOSurface to cache IOSurfaces in the UI proc...

mattwoodrow noreply at github.com
Sun Mar 12 16:04:55 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e95212f8d5a276cc28e4d36aa672172a11c066cf
      https://github.com/WebKit/WebKit/commit/e95212f8d5a276cc28e4d36aa672172a11c066cf
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2023-03-12 (Sun, 12 Mar 2023)

  Changed paths:
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    M Source/WebCore/PAL/pal/PlatformMac.cmake
    A Source/WebCore/PAL/pal/cocoa/QuartzCoreSoftLink.h
    A Source/WebCore/PAL/pal/cocoa/QuartzCoreSoftLink.mm
    M Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h
    M Source/WebCore/platform/graphics/cocoa/IOSurface.h
    M Source/WebCore/platform/graphics/cocoa/IOSurface.mm
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp

  Log Message:
  -----------
  Use CAIOSurface to cache IOSurfaces in the UI process.
https://bugs.webkit.org/show_bug.cgi?id=253620

Reviewed by Simon Fraser.

We can cache CAIOSurface objects for our layer buffers in the UI process.
This keeps CA rendering data alive, without marking the IOSurface as being in-use.

* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/cocoa/IOSurface.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::decode):
(WebKit::RemoteLayerBackingStore::updateCachedBuffers):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h:

Canonical link: https://commits.webkit.org/261553@main




More information about the webkit-changes mailing list