[Webkit-unassigned] [Bug 88482] [Chromium] Compositor should avoid drawing quads when cached textures are available and contents unchanged

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 13 12:09:50 PDT 2012


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





--- Comment #19 from Dana Jansens <danakj at chromium.org>  2012-06-13 12:09:50 PST ---
(From update of attachment 147153)
View in context: https://bugs.webkit.org/attachment.cgi?id=147153&action=review

> Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:294
> +    // If this layer's surface property hasn't changed, we want to see if
> +    // some layer above us has changed this property. This is done for the
> +    // case when such parent layer does not draw content, and therefore will
> +    // not be traversed by the damage tracker. We need to make sure that
> +    // property change on such layer will be caught by its descendants.
> +    CCLayerImpl* current = this->m_parent;
> +    while (current && !current->m_renderSurface) {
> +        if (current->m_layerSurfacePropertyChanged)
> +            return true;
> +        current = current->m_parent;
> +    }

As per offline I'm not sure about this being in CCLayerImpl since it depends on state from calcDrawEtc. But we do have lots of other getters like this, all the drawFoo() ones so maybe my feeling is misplaced.

> Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp:92
> +    if (layerRenderer) {

Can layerRenderer be null now? This method is only called from LayerRendererChromium so this seems weird. I assume this is for testing, but can you do the tests in a way that don't call this with null instead?

> Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp:125
> +    return m_contentsTexture && m_contentsTexture->isValid(m_contentRect.size(), GraphicsContext3D::RGBA);

FYI @vollick a place to change to m_contentsSize if you rebase on top of this.

-- 
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