[Webkit-unassigned] [Bug 112095] [Texmap] Synchronise layers only if the layer has been changed.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 11 23:15:14 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=112095


Noam Rosenthal <noam at webkit.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #192633|review?, commit-queue?      |review-, commit-queue-
               Flag|                            |




--- Comment #3 from Noam Rosenthal <noam at webkit.org>  2013-03-11 23:17:39 PST ---
(From update of attachment 192633)
View in context: https://bugs.webkit.org/attachment.cgi?id=192633&action=review

Please correct nitpicks, otherwise patch looks ok.

> Source/WebCore/ChangeLog:14
> +        We always append m_layerState to coordinator in CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly.
> +        This causes renderNext-circular calls continuously. 
> +        So this patch checks whether the layer needs to be updated or not,
> +        if we need to update the layer, then we append layer state to coordinator.
> +        This will reduce the needless update and IPC calls.
> +
> +        No new tests (OOPS!).

CoordinatedGraphicsLayer always sets the layer state, which results in an infinite commit/renderNextFrame loop between the web process in the UI process.
This patch breaks the infinite loop by avoiding commit if the layer state hasn't changed.

There is no current facility for automatically testing this, however it doesn't break existing tests.

> Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:750
> +    bool needToSyncThisLayer = hasChangedLayerState();

bool layerNeedsSync = needsSync();

> Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:775
> +bool CoordinatedGraphicsLayer::hasChangedLayerState()

rename to needsSync()

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list