⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 282490 in webkit


Ignore:
Timestamp:
Sep 16, 2021, 12:33:58 AM (5 years ago)
Author:
commit-queue@webkit.org
Message:

[GTK][WPE] test animations/steps-transform-rendering-updates.html fails
​https://bugs.webkit.org/show_bug.cgi?id=230307

Patch by Carlos Garcia Campos <​cgarcia@igalia.com> on 2021-09-16
Reviewed by Carlos Alberto Lopez Perez.

ThreadedDisplayRefreshMonitor is not setting isScheduled back to false when it's fired. That causes
hasBeenRescheduled to be true and handleDisplayRefreshMonitorUpdate() is called with force repaint option, so we
end up flushing layers on every display refresh update.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:

(WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r282483 r282490  
     12021-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK][WPE] test animations/steps-transform-rendering-updates.html fails
     4        https://bugs.webkit.org/show_bug.cgi?id=230307
     5
     6        Reviewed by Carlos Alberto Lopez Perez.
     7
     8        ThreadedDisplayRefreshMonitor is not setting isScheduled back to false when it's fired. That causes
     9        hasBeenRescheduled to be true and handleDisplayRefreshMonitorUpdate() is called with force repaint option, so we
     10        end up flushing layers on every display refresh update.
     11
     12        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
     13        (WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):
     14
    1152021-09-15  Chris Dumez  <cdumez@apple.com>
    216
  • trunk/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp

    r277911 r282490  
    109109        Locker locker { lock() };
    110110        shouldHandleDisplayRefreshNotification = isScheduled() && isPreviousFrameDone();
    111         if (shouldHandleDisplayRefreshNotification)
     111        if (shouldHandleDisplayRefreshNotification) {
     112            setIsScheduled(false);
    112113            setIsPreviousFrameDone(false);
     114        }
    113115    }
    114116
Note: See TracChangeset for help on using the changeset viewer.