Changeset 53499 in webkit


Ignore:
Timestamp:
Jan 19, 2010 3:09:14 PM (14 years ago)
Author:
jpetsovits@rim.com
Message:

2010-01-19 Jakob Petsovits <jpetsovits@rim.com>

Reviewed by Nikolas Zimmermann.

[OpenVG] Add (EGL) surface/context management
https://bugs.webkit.org/show_bug.cgi?id=33403

The foundations for a new OpenVG port.

OpenVG is not tied to EGL per se, EGL just happens to be
the only usable backend for OpenVG state and painting
at the time of writing.

The purpose of the SurfaceOpenVG class is to provide
an EGL-independent interface for OpenVG-specific code.
The EGLDisplayOpenVG class takes care of keeping track
of EGL displays, surfaces and contexts. It also makes
sure that all created contexts are interoperable, and
that different surfaces use a single context if possible.

  • platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added. (WebCore::displayManagers): (WebCore::EGLDisplayOpenVG::currentSurface): (WebCore::EGLDisplayOpenVG::registerPlatformSurface): (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface): (WebCore::EGLDisplayOpenVG::setCurrentDisplay): (WebCore::EGLDisplayOpenVG::current): (WebCore::EGLDisplayOpenVG::forDisplay): (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG): (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig): (WebCore::EGLDisplayOpenVG::defaultPbufferConfig): (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig): (WebCore::EGLDisplayOpenVG::defaultWindowConfig): (WebCore::EGLDisplayOpenVG::sharedPlatformSurface): (WebCore::EGLDisplayOpenVG::createPbufferSurface): (WebCore::EGLDisplayOpenVG::surfaceForWindow): (WebCore::EGLDisplayOpenVG::surfacesCompatible): (WebCore::EGLDisplayOpenVG::destroySurface): (WebCore::EGLDisplayOpenVG::contextForSurface):
  • platform/graphics/openvg/EGLDisplayOpenVG.h: Added. (WebCore::EGLDisplayOpenVG::display):
  • platform/graphics/openvg/EGLUtils.h: Added. (toEGLErrorConstant):
  • platform/graphics/openvg/SurfaceOpenVG.cpp: Added. (WebCore::SurfaceOpenVG::currentSurface): (WebCore::SurfaceOpenVG::SurfaceOpenVG): (WebCore::SurfaceOpenVG::~SurfaceOpenVG): (WebCore::SurfaceOpenVG::isValid): (WebCore::SurfaceOpenVG::width): (WebCore::SurfaceOpenVG::height): (WebCore::SurfaceOpenVG::sharedSurface): (WebCore::SurfaceOpenVG::makeCurrent): (WebCore::SurfaceOpenVG::makeCompatibleCurrent): (WebCore::SurfaceOpenVG::flush):
  • platform/graphics/openvg/SurfaceOpenVG.h: Added. (WebCore::SurfaceOpenVG::eglDisplay): (WebCore::SurfaceOpenVG::eglSurface): (WebCore::SurfaceOpenVG::eglContext):
  • platform/graphics/openvg/VGUtils.h: Added. (toVGErrorConstant):
Location:
trunk/WebCore
Files:
7 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r53497 r53499  
     12010-01-19  Jakob Petsovits  <jpetsovits@rim.com>
     2
     3        Reviewed by Nikolas Zimmermann.
     4
     5        [OpenVG] Add (EGL) surface/context management
     6        https://bugs.webkit.org/show_bug.cgi?id=33403
     7
     8        The foundations for a new OpenVG port.
     9
     10        OpenVG is not tied to EGL per se, EGL just happens to be
     11        the only usable backend for OpenVG state and painting
     12        at the time of writing.
     13
     14        The purpose of the SurfaceOpenVG class is to provide
     15        an EGL-independent interface for OpenVG-specific code.
     16        The EGLDisplayOpenVG class takes care of keeping track
     17        of EGL displays, surfaces and contexts. It also makes
     18        sure that all created contexts are interoperable, and
     19        that different surfaces use a single context if possible.
     20
     21        * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added.
     22        (WebCore::displayManagers):
     23        (WebCore::EGLDisplayOpenVG::currentSurface):
     24        (WebCore::EGLDisplayOpenVG::registerPlatformSurface):
     25        (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface):
     26        (WebCore::EGLDisplayOpenVG::setCurrentDisplay):
     27        (WebCore::EGLDisplayOpenVG::current):
     28        (WebCore::EGLDisplayOpenVG::forDisplay):
     29        (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG):
     30        (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
     31        (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig):
     32        (WebCore::EGLDisplayOpenVG::defaultPbufferConfig):
     33        (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig):
     34        (WebCore::EGLDisplayOpenVG::defaultWindowConfig):
     35        (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
     36        (WebCore::EGLDisplayOpenVG::createPbufferSurface):
     37        (WebCore::EGLDisplayOpenVG::surfaceForWindow):
     38        (WebCore::EGLDisplayOpenVG::surfacesCompatible):
     39        (WebCore::EGLDisplayOpenVG::destroySurface):
     40        (WebCore::EGLDisplayOpenVG::contextForSurface):
     41        * platform/graphics/openvg/EGLDisplayOpenVG.h: Added.
     42        (WebCore::EGLDisplayOpenVG::display):
     43        * platform/graphics/openvg/EGLUtils.h: Added.
     44        (toEGLErrorConstant):
     45        * platform/graphics/openvg/SurfaceOpenVG.cpp: Added.
     46        (WebCore::SurfaceOpenVG::currentSurface):
     47        (WebCore::SurfaceOpenVG::SurfaceOpenVG):
     48        (WebCore::SurfaceOpenVG::~SurfaceOpenVG):
     49        (WebCore::SurfaceOpenVG::isValid):
     50        (WebCore::SurfaceOpenVG::width):
     51        (WebCore::SurfaceOpenVG::height):
     52        (WebCore::SurfaceOpenVG::sharedSurface):
     53        (WebCore::SurfaceOpenVG::makeCurrent):
     54        (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
     55        (WebCore::SurfaceOpenVG::flush):
     56        * platform/graphics/openvg/SurfaceOpenVG.h: Added.
     57        (WebCore::SurfaceOpenVG::eglDisplay):
     58        (WebCore::SurfaceOpenVG::eglSurface):
     59        (WebCore::SurfaceOpenVG::eglContext):
     60        * platform/graphics/openvg/VGUtils.h: Added.
     61        (toVGErrorConstant):
     62
    1632010-01-19  Steve Block  <steveblock@google.com>
    264
Note: See TracChangeset for help on using the changeset viewer.