[EFL][EGL] Add support for creating offscreen surface.
https://bugs.webkit.org/show_bug.cgi?id=113359

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-03-29
Reviewed by Noam Rosenthal.

This is in preparation for enabling EGL and GLES2
support for EFL port. This patch adds support for using
EGLPixmapSurface as an offscreensurface.

* PlatformEfl.cmake:
* platform/graphics/opengl/GLPlatformSurface.cpp:
(WebCore::GLPlatformSurface::createOffScreenSurface):
* platform/graphics/surfaces/efl/GLTransportSurface.cpp:
(WebCore::GLTransportSurface::createTransportSurface):
* platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
(WebCore::EGLConfigSelector::EGLConfigSelector):
(WebCore::EGLConfigSelector::pixmapContextConfig):
(WebCore::EGLConfigSelector::surfaceContextConfig):
(WebCore::EGLConfigSelector::nativeVisualId):
(WebCore::EGLConfigSelector::reset):
(WebCore::EGLConfigSelector::createConfig):
* platform/graphics/surfaces/egl/EGLConfigSelector.h:
(EGLConfigSelector):

 Added logic to select EGLConfig supporting alpha and
 opaque as needed. Moved Code related to display to
 EGLHelper class.

* platform/graphics/surfaces/egl/EGLHelper.cpp: Added.
(WebCore):
(EGLDisplayConnection):
(WebCore::EGLDisplayConnection::EGLDisplayConnection):
(WebCore::EGLDisplayConnection::~EGLDisplayConnection):
(WebCore::EGLDisplayConnection::display):
(WebCore::EGLDisplayConnection::terminate):
(WebCore::EGLHelper::eglDisplay):
* platform/graphics/surfaces/egl/EGLHelper.h: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h.
(WebCore):
(EGLHelper):
* platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLTransportSurface::createTransportSurface):
(WebCore::EGLTransportSurface::EGLTransportSurface):
(WebCore::EGLTransportSurface::attributes):
(WebCore::EGLTransportSurface::~EGLTransportSurface):
(WebCore::EGLTransportSurface::destroy):
(WebCore::EGLTransportSurface::configuration):
(WebCore::EGLOffScreenSurface::createOffScreenSurface):
(WebCore::EGLOffScreenSurface::EGLOffScreenSurface):
(WebCore::EGLOffScreenSurface::~EGLOffScreenSurface):
(WebCore::EGLOffScreenSurface::attributes):
(WebCore::EGLOffScreenSurface::configuration):
(WebCore::EGLOffScreenSurface::destroy):
* platform/graphics/surfaces/egl/EGLSurface.h:
(WebCore):
(EGLTransportSurface):
(EGLOffScreenSurface):
* platform/graphics/surfaces/egl/EGLXSurface.cpp: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.cpp.
(WebCore):
(WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
(WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
(WebCore::EGLWindowTransportSurface::swapBuffers):
(WebCore::EGLWindowTransportSurface::destroy):
(WebCore::EGLPixmapSurface::EGLPixmapSurface):
(WebCore::EGLPixmapSurface::~EGLPixmapSurface):
(WebCore::EGLPixmapSurface::destroy):
* platform/graphics/surfaces/egl/EGLXSurface.h: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h.
(WebCore):
(EGLWindowTransportSurface):
(EGLPixmapSurface):

EGLPixmapSurface implementation.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147222 268f45cc-cd09-0410-ab3c-d52691b4dbfc