| Summary: | [CSS Blending] Compositing requirements for blending are not computed correctly | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Ion Rosca <rosca> | ||||||||||
| Component: | CSS | Assignee: | Nobody <webkit-unassigned> | ||||||||||
| Status: | RESOLVED FIXED | ||||||||||||
| Severity: | Normal | CC: | commit-queue, esprehn+autocc, glenn, kondapallykalyan, simon.fraser, WebkitBugTracker | ||||||||||
| Priority: | P2 | ||||||||||||
| Version: | 528+ (Nightly build) | ||||||||||||
| Hardware: | Unspecified | ||||||||||||
| OS: | Unspecified | ||||||||||||
| Bug Depends on: | |||||||||||||
| Bug Blocks: | 95614 | ||||||||||||
| Attachments: |
|
||||||||||||
Created attachment 227636 [details]
use cases
Created attachment 227676 [details]
patch v1
Created attachment 228178 [details]
add ifdef to blending code, nits
Comment on attachment 228178 [details] add ifdef to blending code, nits View in context: https://bugs.webkit.org/attachment.cgi?id=228178&action=review > Source/WebCore/ChangeLog:13 > + being the closest stacking context should be accelerated as well. Probably this can be rewritten: "if a layer having blend mode is composited, its closest stacking context ancestor should be composited as well" > Source/WebCore/ChangeLog:23 > + * rendering/RenderLayerCompositor.cpp: You should mention something about the renaming of m_subtreeHasBlending => m_hasUnisolatedCompositedBlendingDescendants in CompositingState. > Source/WebCore/rendering/RenderLayer.h:789 > + bool isolatesCompositedBlending() const In general, i would like to see as much as possible code related to this feature guarded by ENABLE(CSS_COMPOSITING) > Source/WebCore/rendering/RenderLayerCompositor.cpp:-208 > - , m_subtreeHasBlending(other.m_subtreeHasBlending) Maybe you can make these bool bit fields in a follow up patch. Created attachment 228203 [details]
more comments and ifdefs
Comment on attachment 228203 [details] more comments and ifdefs Clearing flags on attachment: 228203 Committed r166634: <http://trac.webkit.org/changeset/166634> All reviewed patches have been landed. Closing bug. |
Here is the requirement regarding layer acceleration for blend modes: If a layer having blending is accelerated for any reason then its stacking context layer needs to be accelerated too. What happens now: 1) If a blending layer is accelerated, all its RenderLayer ascendants get accelerated. 2) If a non-accelerated layer has an accelerated sibling, then all its ascendants are accelerated.