EGL (API)
EGL (Embedded-System Graphics Library) est une interface de programmation (API) du Khronos Group, faisant le lien entre ses API de rendu, comme OpenGL ES ou OpenVG, et le système de fenêtrage du système d'exploitation sous-jacent. EGL est une option moins dépendante de la plate-forme que GLX ou WGL.
| Développé par | Khronos Group |
|---|---|
| Environnement | Multiplateforme (d) |
| Type | Interface de programmation |
| Site web | www.khronos.org/egl |

EGL (Embedded-System Graphics Library) est une interface de programmation (API) du Khronos Group, faisant le lien entre ses API de rendu, comme OpenGL ES ou OpenVG, et le système de fenêtrage du système d'exploitation sous-jacent. EGL est une option moins dépendante de la plate-forme que GLX ou WGL.


Description
[modifier | modifier le code]EGL prend en charge la gestion des contextes graphiques, les relations entre les surfaces de dessin et les tampons mémoire, ainsi que la synchronisation du rendu. EGL permet ainsi la gestion efficace de rendu graphique mixte (2D et 3D) accéléré matériellement[1].
Mise en œuvre
[modifier | modifier le code]EGL est actuellement supporté officiellement, d'après le Khronos Group, sur[2]
- Android
- GBM, utilisé notamment par Mesa 3D et Ozone, le système de fenêtrage de Chrome OS/Chromium OS[3]. À la conférence, XDC2014, Andy Ritger de Nvidia a proposé d'améliorer EGL afin qu'il remplace GBM en implémentant toutes ses fonctionnalités[4].
- Wayland avait à l'origine sa propre implémentation d'EGL appelée Eagle, elle a été fusionnée depuis avec l'implémentation EGL de Mesa 3D, bénéficiant ainsi de la centralisation au sein de ce projet[5].
- X11, les spécifications d'EGL lui permettent de s'interfacer avec X11 avec une API très similaire à celle de GLX, la remplaçant ainsi avantageusement.
De son côté, Ubuntu a développé son propre système d'affichage en parallèle à Wayland, nommé Mir. Il possède également une implémentation d'EGL[6].
Sur les GPU mobiles récents, le support d'EGL est généralisé en raison, notamment de son utilisation par Android et Chrome OS, ça n'est pas toujours le cas d'XGL, du moins lorsque les pilotes sont propriétaires. C'est donc un autre avantage à utiliser EGL, même si l'intention de passer de Xorg à Wayland n'est pas une priorité.
Historique
[modifier | modifier le code]- 23 juillet 2003 EGL 1.0
- 10 novembre 2004 EGL 1.1
- 28 juillet 2005 EGL 1.2
- 4 décembre 2006 EGL 1.3
- 4 décembre 2013 EGL 1.4
- 19 mars 2014 EGL 1.5[7] Il est supporté dans Mesa 3d pour les pilotes r600, radeonsi, nv50, nvc0, à partir de sa version 11, sortie le 12 septembre 2015[8].
Articles connexes
[modifier | modifier le code]Liens externes
[modifier | modifier le code]- (en) « EGL - Home Page », sur khronos.org — Présentation
- (en) « Khronos EGL Registry », sur khronos.org — Documentation et spécifications
Références
[modifier | modifier le code]- ↑ (en) EGL Overview
- ↑ (en) « Khronos Releases EGL 1.5 Specification », 19 mars 2014
- ↑ (en) « Ozone Overview » [archive du 7 septembre 2015] (consulté le 15 octobre 2015)
- ↑ (en) « Enabling Alternative Window Systems with a non-Mesa Graphics Driver Implementation », 23 octobre 2014
- ↑ (en) Kristian Hoegsberg, « The Eagle EGL loader », 8 juillet 2009
- ↑ (en) Robert Ancell, « Mir Specifications », 4 mars 2013 : « Tailored towards an EGL/GL(ES) world. »
- ↑ (en) « Khronos Releases EGL 1.5 Specification », sur Khronos.org
- ↑ (en) « Mesa 11.0.0 Release Notes / September 12, 2015 », 12 septembre 2015