[webkit-changes] [WebKit/WebKit] 2bf118: [ThreadedCompositor] The compositing thread should...

Carlos Garcia Campos noreply at github.com
Wed Nov 8 05:34:54 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2bf118e5bf78aaccfb3dcb3de85a7a84ad0a6279
      https://github.com/WebKit/WebKit/commit/2bf118e5bf78aaccfb3dcb3de85a7a84ad0a6279
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2023-11-08 (Wed, 08 Nov 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/nicosia/NicosiaBackingStore.cpp
    M Source/WebCore/platform/graphics/nicosia/NicosiaBackingStore.h
    M Source/WebCore/platform/graphics/nicosia/NicosiaCompositionLayer.h
    M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h

  Log Message:
  -----------
  [ThreadedCompositor] The compositing thread should not wait for paint threads
https://bugs.webkit.org/show_bug.cgi?id=264090

Reviewed by Alejandro G. Castro.

If there's an async scrolling request the compositing thread might be
busy just waiting for the painting threads. We can wait for them in the
main thread, which is already expected to be blocked painting.

* Source/WebCore/platform/graphics/nicosia/NicosiaBackingStore.cpp:
(Nicosia::BackingStore::waitUntilPaintingComplete):
* Source/WebCore/platform/graphics/nicosia/NicosiaBackingStore.h:
* Source/WebCore/platform/graphics/nicosia/NicosiaCompositionLayer.h:
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
(WebCore::CoordinatedBackingStoreTile::swapBuffers):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::flushPendingLayerChanges):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::LayerTreeHost):
(WebKit::LayerTreeHost::scheduleLayerFlush):
(WebKit::LayerTreeHost::layerFlushTimerFired):
(WebKit::LayerTreeHost::forceRepaint):
(WebKit::LayerTreeHost::forceRepaintAsync):
(WebKit::LayerTreeHost::commitSceneState):
(WebKit::LayerTreeHost::didRenderFrame):
(WebKit::LayerTreeHost::handleDisplayRefreshMonitorUpdate):
(WebKit::LayerTreeHost::renderNextFrame):
(WebKit::LayerTreeHost::didRenderFrameTimerFired): Deleted.
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:

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




More information about the webkit-changes mailing list