Title: [234134] trunk/Source/WebCore
Revision
234134
Author
[email protected]
Date
2018-07-24 00:28:16 -0700 (Tue, 24 Jul 2018)

Log Message

[Nicosia] Add FilterOperations member to CompositionLayer::LayerState
https://bugs.webkit.org/show_bug.cgi?id=187901

Reviewed by Carlos Garcia Campos.

Nicosia::CompositionLayer::LayerState gains a FilterOperations member
that can be assigned the list of filter operations for a given layer.
The corresponding filtersChanged boolean is added to LayerState::Delta.

CoordinatedGraphicsLayer::syncFilters() flips on that delta member,
which in turn causes the FilterOperations value to be updated during
the layer flush, in flushCompositingStateForThisLayerOnly().

* platform/graphics/nicosia/NicosiaPlatformLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (234133 => 234134)


--- trunk/Source/WebCore/ChangeLog	2018-07-24 07:27:12 UTC (rev 234133)
+++ trunk/Source/WebCore/ChangeLog	2018-07-24 07:28:16 UTC (rev 234134)
@@ -1,5 +1,25 @@
 2018-07-24  Zan Dobersek  <[email protected]>
 
+        [Nicosia] Add FilterOperations member to CompositionLayer::LayerState
+        https://bugs.webkit.org/show_bug.cgi?id=187901
+
+        Reviewed by Carlos Garcia Campos.
+
+        Nicosia::CompositionLayer::LayerState gains a FilterOperations member
+        that can be assigned the list of filter operations for a given layer.
+        The corresponding filtersChanged boolean is added to LayerState::Delta.
+
+        CoordinatedGraphicsLayer::syncFilters() flips on that delta member,
+        which in turn causes the FilterOperations value to be updated during
+        the layer flush, in flushCompositingStateForThisLayerOnly().
+
+        * platform/graphics/nicosia/NicosiaPlatformLayer.h:
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
+        (WebCore::CoordinatedGraphicsLayer::syncFilters):
+        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
+
+2018-07-24  Zan Dobersek  <[email protected]>
+
         [CoordGraphics] Use adjusted position, anchor point, size values for Nicosia::CompositionLayer state
         https://bugs.webkit.org/show_bug.cgi?id=187899
 

Modified: trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPlatformLayer.h (234133 => 234134)


--- trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPlatformLayer.h	2018-07-24 07:27:12 UTC (rev 234133)
+++ trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPlatformLayer.h	2018-07-24 07:28:16 UTC (rev 234134)
@@ -29,6 +29,7 @@
 #pragma once
 
 #include "Color.h"
+#include "FilterOperations.h"
 #include "FloatPoint.h"
 #include "FloatPoint3D.h"
 #include "FloatRect.h"
@@ -83,6 +84,7 @@
                     bool contentsTilingChanged : 1;
                     bool opacityChanged : 1;
                     bool solidColorChanged : 1;
+                    bool filtersChanged : 1;
                     bool childrenChanged : 1;
                     bool maskChanged : 1;
                     bool replicaChanged : 1;
@@ -127,6 +129,8 @@
         float opacity { 0 };
         WebCore::Color solidColor;
 
+        WebCore::FilterOperations filters;
+
         Vector<RefPtr<CompositionLayer>> children;
         RefPtr<CompositionLayer> replica;
         RefPtr<CompositionLayer> mask;

Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp (234133 => 234134)


--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp	2018-07-24 07:27:12 UTC (rev 234133)
+++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp	2018-07-24 07:28:16 UTC (rev 234134)
@@ -645,6 +645,7 @@
 
     m_layerState.filters = GraphicsLayer::filters();
     m_layerState.filtersChanged = true;
+    m_nicosia.delta.filtersChanged = true;
 }
 
 void CoordinatedGraphicsLayer::syncImageBacking()
@@ -818,6 +819,9 @@
                 if (localDelta.solidColorChanged)
                     state.solidColor = m_solidColor;
 
+                if (localDelta.filtersChanged)
+                    state.filters = filters();
+
                 if (localDelta.childrenChanged) {
                     state.children = WTF::map(children(),
                         [](auto* child)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to