[GTK][WPE] Incorrect rendering of layers whose backingStore hasn't changed
authormagomez@igalia.com <magomez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 3 Oct 2018 15:47:51 +0000 (15:47 +0000)
committermagomez@igalia.com <magomez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 3 Oct 2018 15:47:51 +0000 (15:47 +0000)
https://bugs.webkit.org/show_bug.cgi?id=190249

Reviewed by Žan Doberšek.

Do not overwrite m_nicosia.performLayerSync when updating the content buffers or we lose
the value calculated during the layer flush. Use an OR instead to keep the old value.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236794 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp

index 29c0dfe..9b5087c 100644 (file)
@@ -1,3 +1,16 @@
+2018-10-03  Miguel Gomez  <magomez@igalia.com>
+
+        [GTK][WPE] Incorrect rendering of layers whose backingStore hasn't changed
+        https://bugs.webkit.org/show_bug.cgi?id=190249
+
+        Reviewed by Žan Doberšek.
+
+        Do not overwrite m_nicosia.performLayerSync when updating the content buffers or we lose
+        the value calculated during the layer flush. Use an OR instead to keep the old value.
+
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
+        (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
+
 2018-10-03  Youenn Fablet  <youenn@apple.com>
 
         Enable H264 simulcast
index f25c7b8..0f6ad65 100644 (file)
@@ -861,7 +861,7 @@ void CoordinatedGraphicsLayer::updateContentBuffers()
     auto finishUpdate =
         [this, &layerState] {
             auto& update = layerState.update;
-            m_nicosia.performLayerSync = !update.tilesToCreate.isEmpty()
+            m_nicosia.performLayerSync |= !update.tilesToCreate.isEmpty()
                 || !update.tilesToRemove.isEmpty() || !update.tilesToUpdate.isEmpty();
             layerState.isFlushing = false;
         };