[Webkit-unassigned] [Bug 44926] Multiple accelerated 2D canvases should be able to use the same GraphicsContext3D

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 1 16:03:51 PDT 2010


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





--- Comment #22 from James Robinson <jamesr at chromium.org>  2010-09-01 16:03:50 PST ---
Significant changes since previous patch:

rename CanvasFramebuffer to DrawingBuffer
change the interface to simply:
 bind();
 publishToPlatformLayer(PlatformLayer*);

where publishToPlatformLayer() is implemented in a platform-dependent way to do the right thing.

This class is also now RefCounted so that the CanvasRenderingContext2D and the compositing layer can keep references to one.  This is needed because the DrawingBuffer on a CanvasRenderingContext2D can be reset at any time and the compositing layer tree is lazily updated via the style recalc mechanism.  I removed the ability to publish to a texture for now, that will be in a follow-up.

Fix PassRefPtr<> for Texture and SharedContext3D in multiple places.  Turns out I didn't quite know what PRP was for, but I think I do now :)

Switch shader order around in SharedContext3D and GLES2Canvas to match the Shader interface.

Cleaned up the CanvasLayerChromium hierarchy a bit.  m_textureChanged and m_textureId now are protected members of the base class and are treated in the same way.  I didn't change the tex parameter setting for the WebGL side, although I agree that's a good cleanup to do someday.  In Canvas2DLayerChromium the texture is actually owned by the compositing layer.

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