[webkit-changes] [WebKit/WebKit] f8e938: [GTK] The stutters are back

Carlos Garcia Campos noreply at github.com
Fri May 19 00:37:08 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f8e938785f3cf4d8135f7d8082e632f5090efd43
      https://github.com/WebKit/WebKit/commit/f8e938785f3cf4d8135f7d8082e632f5090efd43
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
    M Source/WebKit/PlatformGTK.cmake
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.messages.in
    M Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
    M Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.h
    A Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.messages.in

  Log Message:
  -----------
  [GTK] The stutters are back
https://bugs.webkit.org/show_bug.cgi?id=256756

Reviewed by Michael Catanzaro.

Use a explicit FrameDone message instead of using async reply for Frame
message. This allows to make AcceleratedSurfaceDMABuf a message receiver
and use the compositing run loop as receiver queue. This way we avoid
using the main thread to handle frame done notifications.

* Source/WebKit/PlatformGTK.cmake:
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
(WebKit::AcceleratedBackingStoreDMABuf::frame):
(WebKit::AcceleratedBackingStoreDMABuf::frameDone):
(WebKit::AcceleratedBackingStoreDMABuf::update):
(WebKit::AcceleratedBackingStoreDMABuf::snapshot):
(WebKit::AcceleratedBackingStoreDMABuf::paint):
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h:
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.messages.in:
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::didCreateGLContext):
(WebKit::AcceleratedSurfaceDMABuf::willDestroyGLContext):
(WebKit::AcceleratedSurfaceDMABuf::didRenderFrame):
(WebKit::AcceleratedSurfaceDMABuf::frameDone):
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.h:
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.messages.in: Copied from Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.messages.in.

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




More information about the webkit-changes mailing list