EGL (API)

Short description: Application programming interface

EGL (OpenGL)

Original author(s)| Khronos Group
Developer(s)| Khronos Group
Stable release|

1.5[1] / March 19, 2014; 12 years ago (2014-03-19)

Written in| C
Operating system| Cross-platform
Platform| Cross-platform
Type| API
Website| www.khronos.org

EGL is an interface between Khronos rendering APIs (such as OpenGL, OpenGL ES or OpenVG) and the underlying native platform windowing system. EGL handles graphics context management, surface/buffer binding, rendering synchronization, and enables "high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs."[2] EGL is managed by the non-profit technology consortium Khronos Group.

The acronym EGL is an initialism, which starting from EGL version 1.2 refers to Khronos Native Platform Graphics Interface.[3] Prior to version 1.2, the name of the EGL specification was OpenGL ES Native Platform Graphics Interface.[4] X.Org development documentation glossary defines EGL as "Embedded-System Graphics Library".[5]

## Contents

* 1 Adoption
* 2 Implementations
* 3 See also
* 4 References
* 5 External links

## Adoption

As an interface between OpenGL ES or OpenVG and the underlying windowing system, EGL has found wide adoption

Wayland clients use EGL to directly draw into the framebuffer. The display server sits between the kernel (here: Linux kernel) and its clients. It communicates with its clients over a given protocol.

The free implementations of the Wayland (display server protocol) rely upon the Mesa implementation of EGL. A special library called libwayland-EGL was written to accommodate the access to the framebuffer

* The BlackBerry 10 and BlackBerry Tablet OS mobile device operating system uses EGL for 3D graphics rendering. Both support EGL version 1.4.[6]
* The Android mobile device operating system uses EGL for 3D graphics rendering.[7]
* The Wayland display server protocol uses EGL.[8] It is implemented in a way that Wayland clients will draw directly to the framebuffer using EGL.
* Mesa 3D has an implementation of EGL formerly known as Eagle.[9]
* The Mir display server protocol by Canonical Ltd. uses EGL.[10]
* The Simple DirectMedia Layer toolkit has been ported to use EGL. It can use Xlib, write directly to the framebuffer or use EGL.
* The Raspberry Pi single-board computer has an EGL interface to hardware-accelerated 3D graphics rendering.[11]
* The proprietary Nvidia driver 331.13 BETA from 4 October 2013 supports the EGL API.[12]
* Tizen OS uses EGL with either OpenGL ES 1.1 or OpenGL ES 2.0 for 3D graphics rendering[13]

## Implementations

* Mesa is a free and open-source software implementation of many graphic rendering APIs; among them is EGL.
* Generic Buffer Management is an API to manage buffers.

## See also

* WGL – the equivalent Windows interface to OpenGL
* CGL – the equivalent OS X interface to OpenGL
* GLX – the equivalent X11 interface to OpenGL
* AIGLX – an attempt to accelerate GLX
* WSI – the Vulkan Window System Interface (WSI) does for Vulkan what EGL does for OpenGL ES.

## References

1. ↑ "Khronos releases EGL 1.5 specification". Khronos Group. 2014-03-19. https://www.khronos.org/news/press/khronos-releases-egl-1.5-specification.
2. ↑ EGL Overview
3. ↑ EGL 1.2 Specification
4. ↑ EGL 1.0 Specification
5. ↑ EGL in X.Org development documentation glossary
6. ↑ "Developer Guide". http://developer.blackberry.com/native/documentation/core/opengl_es_developer_guide.html.
7. ↑ "Gingerbread". http://developer.android.com/about/versions/android-2.3-highlights.html.
8. ↑ "Pekka Paalanen: What does EGL do in the Wayland stack". 10 March 2012. http://ppaalanen.blogspot.com/2012/03/what-does-egl-do-in-wayland-stack.html.
9. ↑ Mesa EGL
10. ↑ "MirSpec". https://wiki.ubuntu.com/MirSpec.
11. ↑ http://elinux.org/RPi_VideoCore_APIs
12. ↑ "Added support for the EGL API on 32-bit platforms. Currently, the supported client APIs are OpenGL ES 1.1, 2.0 and 3.0, and the only supported window system backend is X11.". 2013-10-04. http://www.nvidia.com/object/linux-display-amd64-331.13-driver.html.
13. ↑ "Porting Guide/Graphics and UI - Tizen Wiki". https://wiki.tizen.org/wiki/Porting_Guide/Graphics_and_UI.

## External links

* v
* t
* e

Standards of the Khronos Group

Active|

* EGL
* glTF
* NNEF
* OpenCL
* OpenGL
* OpenGL ES
* OpenGL SC
* OpenVG
* OpenVX
* OpenXR
* SPIR
* SYCL
* Vulkan
* WebGL

Inactive|

* COLLADA
* OpenKODE
* OpenMAX
* OpenSL ES
* OpenWF
* WebCL

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/EGL (API). Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:EGL_(API)&oldid=713002"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template