[EFL][WK2] Enable WebGL
authorhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Oct 2012 12:18:57 +0000 (12:18 +0000)
committerhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Oct 2012 12:18:57 +0000 (12:18 +0000)
commit552bd0b440cbcd0b42bfdb937765a77a783b6d77
tree9cc2e8eef5614ae430af78ac8593786679e3627f
parent23574392ee949c5deb92c8b2dd051a7076be960a
[EFL][WK2] Enable WebGL
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: https://svn.webkit.org/repository/webkit/trunk@132627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
ChangeLog
Source/WebCore/ChangeLog
Source/WebCore/PlatformEfl.cmake
Source/WebCore/platform/graphics/GraphicsContext3D.h
Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp
Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp
Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.h
Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp
Source/WebKit/PlatformEfl.cmake
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
Source/cmake/OptionsEfl.cmake