[Webkit-unassigned] [Bug 91537] Textures drawn during occlusion are incorrectly re-used when unoccluded.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jul 17 14:22:09 PDT 2012


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





--- Comment #2 from Dana Jansens <danakj at chromium.org>  2012-07-17 14:22:08 PST ---
(From update of attachment 152819)
View in context: https://bugs.webkit.org/attachment.cgi?id=152819&action=review

> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:630
> +    contentsTexture->setIsComplete(!quad->hasExternalOcclusion());

I think this should go in drawRenderPass, since that is where the texture is actually drawn to. So the flag should be in CCRenderPass.

> Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.h:47
> +    bool hasExternalOcclusion() { return m_hasExternalOcclusion; }

I think this "hasExternalOcclusion" name used throughout could be more descriptive. It makes lots of sense in the context of this diff, but if another person happened upon it, it would not be clear at all.

hasOcclusionFromOutsideTargetSurface.. hasOcclusionFromNonSibling.. I'm not sure exactly what would be right.

> Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp:60
> +    CCQuadCuller quadCuller(m_quadList, layer, occlusionTracker, layer->hasDebugBorders(), false);

please use a temporary variable instead of passing a boolean value directly.

> Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp:68
> +    if (!m_targetSurface->hasExternalOcclusion())
> +        m_targetSurface->setHasExternalOcclusion(quadCuller.hasExternalOcclusion());

Can we just set it on the render pass here instead?

> Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp:75
> +    CCQuadCuller quadCuller(m_quadList, layer, occlusionTracker, layer->hasDebugBorders(), true);

please use a temporary variable instead of passing a boolean value directly.

> Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:164
> +    bool m_hasExternalOcclusion;

I think belongs on RenderPass

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