[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