DirectFB 2.0: Enabling Khronos APIs

One of the biggest changes in 2.0 is the move to support a wider range of api's developed outside of DirectFB. Opensource apis like cairo are one target in addition we will look at supporting api's from the Khronos Group this will consist of both providing api implementations and ensuring vendor provided implementations can be easily integrated and exposed.

EGL
EGL is the Khronos api for integration into the native windowing environment. The design of DirectFB maps well to the EGL api defined by Khronos. Support for the Khronos api's will be built on top of a opensource implementation of EGL. The design is discussed in detail here.

OpenVG
OpenVG is the 2D vector library supported by Khronos. Many hardware vendors have developed implementations of the api. In addition to exporting any vendor supplied OpenVG implementation via the EGL interface we will also provide a opensource version of OpenVG on top of our native Cairo support. This will make the OpenVG api readily available on platforms that may not be supported directly by hardware vendors. Cairo and OpenVG are for the most part equivalent the only major difference between cairo and OpenVG is OpenVG supports the concept of scissoring or clipping to and additional rectangular clip. This scissoring concept is different from cairo's clipping and will require cairo to be extended. Other than this Cairo in general supports a superset of OpenVG's capabilities. Disccusions of cairo and OpenVG can be found on the web one is here for example Cairo vs OpenVG the opposite route Cairo on OpenVG is available from freedesktop.org.

OpenGL ES
The OpenGL ES api which is a subset of the desktop OpenGL specification will primarly be supported via vendor provided implementation integrated with our EGL implementation. However support for OpenGL and this thus OpenGL ES on the opensource mesa library