[webkit-changes] [WebKit/WebKit] 919114: [GTK][WPE] Main thread can't start rendering the n...

Miguel Gómez noreply at github.com
Mon May 6 04:43:26 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9191148390c27310fbe868ded361a7e7f45fba14
      https://github.com/WebKit/WebKit/commit/9191148390c27310fbe868ded361a7e7f45fba14
  Author: Miguel Gomez <magomez at igalia.com>
  Date:   2024-05-06 (Mon, 06 May 2024)

  Changed paths:
    M Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
    M Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h

  Log Message:
  -----------
  [GTK][WPE] Main thread can't start rendering the next frame until the previous one is composited
https://bugs.webkit.org/show_bug.cgi?id=273317

Reviewed by Carlos Garcia Campos.

All the content rendered by the main thread is sent to the compositor thread
using commitSceneState, which adds a requestID parameter. The compositor will
send in the didRenderFrame call the last requestID it processed. This way
the LayerTreeHost can check whether each request was composed to allow
rendering new frames.

* Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::renderLayerTree):
(WebKit::ThreadedCompositor::updateSceneState):
* Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::flushPendingLayerChanges):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::commitSceneState):
(WebKit::LayerTreeHost::didRenderFrame):
(WebKit::LayerTreeHost::didRenderFrameTimerFired):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list