[Webkit-unassigned] [Bug 66903] New: Restructure GraphicsContext3D to make it more extensible
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Aug 24 16:07:12 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=66903
Summary: Restructure GraphicsContext3D to make it more
extensible
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebGL
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: cmarrin at apple.com
Currently GC3D needs to work on GLX, CGL and (as of https://bugs.webkit.org/show_bug.cgi?id=59064) EGL platforms. It also needs to work with OpenGL, GLES and possibly ANGLE (if there are differences). Finally, it needs to work with the split process model of Chromium. So the code should be restructured to make all these variables easier to implement.
We should first consider resurrecting https://bugs.webkit.org/show_bug.cgi?id=53201. This might move all the GLX/CGL/EGL code into DrawingBuffer and avoid the need for any differences in GC3D for that part of the code. Other changes we should make:
1) Rename GraphicsContext3DInternal to GraphicsContext3DPrivate (matches the uses in the rest of the code)
2) Rename m_internal to m_private
3) Make the Mac implementation use GraphicsContext3DPrivate and get rid of the ifdef around it
4) Move all API that is not part of the public API into GraphicsContext3DPrivate.
(Note: is GraphicsContext3DInternal still needed if we make GraphicsContext3D use DrawingBuffer?)
Once that is done, the code should be generaly split into the following files. What goes into which file depends on what is needed to avoid ifdefs as much as possible:
GraphicsContext3D - Anything that is common to all platforms
GraphicsContext3DOpenGLCommon - code common to any OpenGL implementation
GraphicsContext3DOpenGL - OpenGL (not OpenGL ES) specific code)
GraphicsContext3DGLES - OpenGL ES specific code
The OpenGLShims file is also getting very messy. A way should be found to eliminate as many of its ifdefs as possible. But that file is not used in the Mac implementation so I don't know enough to suggest any changes there.
--
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