Skip to content
  • hausmann@webkit.org's avatar
    [EFL][WK2] Enable WebGL · 68369573
    hausmann@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=97652
    
    Patch by Regina Chung <heejin.r.chung@samsung.com> on 2012-10-26
    Reviewed by Gyuyoung Kim.
    
    .:
    
    Use Graphics Surface to enable WebGL for WebKit2 EFL.
    
    * Source/cmake/OptionsEfl.cmake:
    
    Source/WebCore:
    
    Implemented GraphicsSurface for EFL to enable WebGL for WebKit2.
    Depends on GLX since Evas doesn't provide the necessary functionality.
    
    No new tests. Covered by existing tests.
    
    * PlatformEfl.cmake:
    * platform/graphics/GraphicsContext3D.h:
    * platform/graphics/efl/GraphicsContext3DEfl.cpp:
    (WebCore::GraphicsContext3D::createGraphicsSurfaces):
    * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
    (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
    (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
    (WebCore):
    (WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
    (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
    (WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
    * platform/graphics/efl/GraphicsContext3DPrivate.h:
    (GraphicsContext3DPrivate):
    * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
    (WebCore::GraphicsContext3D::reshape):
    * platform/graphics/surfaces/efl: Added.
    * platform/graphics/surfaces/efl/GraphicsSurfaceEfl.cpp: Added.
    (WebCore):
    (WebCore::OffScreenRootWindow::get):
    (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
    (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
    (WebCore::GraphicsSurfacePrivate::createSurface):
    (WebCore::GraphicsSurfacePrivate::makeCurrent):
    (WebCore::GraphicsSurfacePrivate::doneCurrent):
    (WebCore::GraphicsSurfacePrivate::swapBuffers):
    (WebCore::GraphicsSurface::platformBeginPaint):
    (WebCore::GraphicsSurface::createReadOnlyImage):
    * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
    * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.h: Added.
    (WebCore):
    (OffScreenRootWindow):
    (WebCore::OffScreenRootWindow::OffScreenRootWindow):
    (GraphicsSurfacePrivate):
    (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
    (WebCore::GraphicsSurfacePrivate::createPixmap):
    (WebCore::GraphicsSurfacePrivate::copyFromTexture):
    (WebCore::GraphicsSurfacePrivate::display):
    (WebCore::GraphicsSurfacePrivate::glxPixmap):
    (WebCore::GraphicsSurfacePrivate::size):
    (WebCore::GraphicsSurfacePrivate::glContext):
    (WebCore::resolveGLMethods):
    * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
    (WebCore):
    (WebCore::OffScreenRootWindow::OffScreenRootWindow::get):
    (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
    (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
    (WebCore::GraphicsSurfacePrivate::createSurface):
    (WebCore::GraphicsSurfacePrivate::makeCurrent):
    (WebCore::GraphicsSurfacePrivate::doneCurrent):
    (WebCore::GraphicsSurfacePrivate::swapBuffers):
    
    Source/WebKit2:
    
    Set WebGLEnabled to true when WebGL is enabled.
    
    * UIProcess/API/efl/ewk_view.cpp:
    (_ewk_view_initialize):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    68369573