[Webkit-unassigned] [Bug 52311] [chromium] Add command-line flag to enable composite to offscreen texture.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 13 13:00:41 PST 2011


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





--- Comment #16 from W. James MacLean <wjmaclean at chromium.org>  2011-01-13 13:00:40 PST ---
(In reply to comment #14)
> (From update of attachment 78809 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=78809&action=review
> 
> > Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:639
> > +        setDrawViewportRect(IntRect(0, 0, m_rootLayerTextureWidth, m_rootLayerTextureHeight), true);
> 
> Could the two calls above be replaced by "useRenderSurface(0)" ?

Yes, but these calls are now gone - see below.

> > Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:643
> > +        m_context->clearColor(1, 0, 0, 1); // Clear to red to detect regions not composite.
> 
> "not composite" -> "not composited" ?

fixed.

> > Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:658
> > +        m_currentRenderSurface = 0; // Need to do this, or else next call to useRenderSurface will still be bound to
> 
> I don't believe you need to make this call now.  It should be taken care of when calling useRenderSurface(0)

Yes, removed.

> > WebKit/chromium/src/WebViewImpl.cpp:972
> > +        m_layerRenderer->setCompositeOffscreen(settings()->compositeToTextureEnabled()); // Clears display.
> 
> You probably need to define a separate clearDisplay() method in m_layerRenderer as setCompositeOffScreen uses m_rootLayerTextureWidth/Height which won't be correct while resizing.  However, I'm getting a bit confused now as to why we need to clear the window.. DrawLayers does a clear that affects the alpha channel so the resulting offscreen texture should always have alpha = 1.  Why do we need to clear again?

The need to clear arose as part of fixing an incorrect test result for compositing/geometry/fixed-position.html (only during offscreen compositing), but recent changes (possibly outside this patch?) seem to have made clearing unnecessary. I have removed this code from setCompositeOffscreen() and moved the call to setCompositeOffscreen() back to doComposite(), as it no longer has high overhead associated with it.

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