[webkit-changes] [WebKit/WebKit] 139b28: REGRESSION(281744 at main): [GTK] Flickering when swi...

Carlos Garcia Campos noreply at github.com
Tue Aug 6 02:58:49 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 139b28de2305ed20adb028cbab3e9b0ddb4dca4d
      https://github.com/WebKit/WebKit/commit/139b28de2305ed20adb028cbab3e9b0ddb4dca4d
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-08-06 (Tue, 06 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/glib/FenceMonitor.cpp
    M Source/WebKit/UIProcess/glib/FenceMonitor.h
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp

  Log Message:
  -----------
  REGRESSION(281744 at main): [GTK] Flickering when switching tabs
https://bugs.webkit.org/show_bug.cgi?id=277675

Reviewed by Alejandro G. Castro.

This seems to be caused by a memory corruption or something like that.
For some reason we can't add a UnixFileDescriptor to the FenceSource
struct that is allocated by GLib. So, move the UnixFileDescriptor to the
FenceMonitor class, keeping FenceSource struct simple. Also make sure we
don't commit the pending buffer if gtk schedules a redraw while are
still waiting for the fence.

* Source/WebKit/UIProcess/glib/FenceMonitor.cpp:
(WebKit::FenceMonitor::ensureSource):
(WebKit::FenceMonitor::addFileDescriptor):
(WebKit::FenceSource::~FenceSource): Deleted.
* Source/WebKit/UIProcess/glib/FenceMonitor.h:
(WebKit::FenceMonitor::hasFileDescriptor const):
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
(WebKit::AcceleratedBackingStoreDMABuf::prepareForRendering):

Canonical link: https://commits.webkit.org/281885@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