Title: [277528] trunk/Source/WebKit
Revision
277528
Author
timothy_hor...@apple.com
Date
2021-05-14 20:15:41 -0700 (Fri, 14 May 2021)

Log Message

REGRESSION (r269824): Random tile corruption when scrolling/zooming in macCatalyst
https://bugs.webkit.org/show_bug.cgi?id=225837
<rdar://problem/75053997>

Reviewed by Simon Fraser.

* Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
Mark the newly front buffer non-volatile before painting into it.
This was lost in r269824. Oddly, this caused less trouble than
one might expect, except on some particular hardware.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (277527 => 277528)


--- trunk/Source/WebKit/ChangeLog	2021-05-15 02:05:22 UTC (rev 277527)
+++ trunk/Source/WebKit/ChangeLog	2021-05-15 03:15:41 UTC (rev 277528)
@@ -1,3 +1,17 @@
+2021-05-14  Tim Horton  <timothy_hor...@apple.com>
+
+        REGRESSION (r269824): Random tile corruption when scrolling/zooming in macCatalyst
+        https://bugs.webkit.org/show_bug.cgi?id=225837
+        <rdar://problem/75053997>
+
+        Reviewed by Simon Fraser.
+
+        * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
+        (WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
+        Mark the newly front buffer non-volatile before painting into it.
+        This was lost in r269824. Oddly, this caused less trouble than
+        one might expect, except on some particular hardware.
+
 2021-05-14  Jonathan Bedard  <jbed...@apple.com>
 
         Fix iOS 14.5 embedded build

Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm (277527 => 277528)


--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm	2021-05-15 02:05:22 UTC (rev 277527)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm	2021-05-15 03:15:41 UTC (rev 277528)
@@ -202,8 +202,10 @@
 
     std::swap(m_frontBuffer, m_backBuffer);
 
-    if (m_frontBuffer.imageBuffer)
+    if (m_frontBuffer.imageBuffer) {
+        setBufferVolatility(BufferType::Front, false);
         return;
+    }
 
     bool shouldUseRemoteRendering = WebProcess::singleton().shouldUseRemoteRenderingFor(WebCore::RenderingPurpose::DOM);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to