[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
Wed Jan 12 16:04:05 PST 2011


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





--- Comment #10 from Vangelis Kokkevis <vangelis at chromium.org>  2011-01-12 16:04:05 PST ---
(In reply to comment #7)
> (In reply to comment #6)
> > (From update of attachment 78717 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=78717&action=review
> > 
> > > Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:643
> > > +        GLC(m_context, m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0));
> > 
> > It would be nice to re-factor LayerRendererChromium::useRenderSurface() such that when you pass zero as your render surface and m_compositeOffscreen == true then it renders to the display. I think it would be fairly straightforward. It looks like all it would take would be to:
> > 
> > Replace:
> > if (renderSurface == m_defaultRenderSurface && !m_compositeOffscreen)
> > 
> > by:
> > if ((renderSurface == m_defaultRenderSurface && !m_compositeOffscreen) || (!renderSurface && m_compositeOffscreen))
> > 
> > Then you won't need to call bindFramebuffer, setDrawViewportRect or m_currentRenderSurface == 0  here.
> 
> I can make this change, although at present I don't think it's possible to call useRenderSurface() with a zero-valued surface if m_compositeOffscreen is true.

What I was suggesting is that if you make this change, you should be able to call useRenderSurface(0) here instead of making all the individual calls.  Would that work? 

> 
> > > Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:647
> > > +        m_context->colorMask(true, true, true, true);
> > 
> > You can avoid doing this clear every frame if you just do it once when setCompositeOffscreen(true) is called and keep the color mask set to (true, true, true, false).
> > 
> > > WebKit/chromium/src/WebSettingsImpl.cpp:287
> > > +void WebSettingsImpl::setCompositeToTextureEnabled(bool enabled)
> > 
> > Since this is a setting that's only applicable to Chromium and not the other WebKit ports, I don't think it should be propagated down to the Settings class. The right way to do this would be to add another member to WebSettingsImpl and store the setting value there.  WebViewImpl has access to WebSettingsImpl via WebViewImpl::settings()
> 
> No problem ... I've uploaded a new patch ... let me know if the new patch is what you have in mind.

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