X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Fegl.html;h=fb94f8c713606586edc87a5f7a661396ce4644ab;hb=04d93ea61968b5f163ad37048f07929c55c278e9;hp=5b750070ca1ff4e9503240066546a177c1aabf8b;hpb=8eea050f5aed6ad8aeb64105c0e2581f0fd0b10a;p=mesa.git diff --git a/docs/egl.html b/docs/egl.html index 5b750070ca1..fb94f8c7136 100644 --- a/docs/egl.html +++ b/docs/egl.html @@ -1,16 +1,24 @@ - - -Mesa EGL + + + + + Mesa EGL + + + - +
+

The Mesa 3D Graphics Library

+
- + +

Mesa EGL

The current version of EGL in Mesa implements EGL 1.4. More information about EGL can be found at - + http://www.khronos.org/egl/.

The Mesa's implementation of EGL uses a driver architecture. The main @@ -52,65 +60,64 @@ or more EGL drivers.

There are several options that control the build of EGL at configuration time

- +

Use EGL

@@ -124,8 +131,9 @@ mesa/demos repository.

There are several environment variables that control the behavior of EGL at runtime

- + +

EGL Drivers

- +

Packaging

The ABI between the main library and its drivers are not stable. Nor is -there a plan to stabilize it at the moment. Of the EGL drivers, -egl_gallium has its own hardware drivers and client API modules. -They are considered internal to egl_gallium and there is also no -stable ABI between them. These should be kept in mind when packaging for -distribution.

- -

Generally, egl_dri2 is preferred over egl_gallium -when the system already has DRI drivers. As egl_gallium is loaded -before egl_dri2 when both are available, egl_gallium -is disabled by default.

+there a plan to stabilize it at the moment.

Developers

-

The sources of the main library and the classic drivers can be found at -src/egl/. The sources of the egl state tracker can -be found at src/gallium/state_trackers/egl/.

- -

The suggested way to learn to write a EGL driver is to see how other drivers -are written. egl_glx should be a good reference. It works in any -environment that has GLX support, and it is simpler than most drivers.

+

The sources of the main library and drivers can be found at +src/egl/.

Lifetime of Display Resources

@@ -249,8 +219,8 @@ longer than the display that creates them.

In EGL, when a display is terminated through eglTerminate, all display resources should be destroyed. Similarly, when a thread is released -throught eglReleaseThread, all current display resources should be -released. Another way to destory or release resources is through functions +through eglReleaseThread, all current display resources should be +released. Another way to destroy or release resources is through functions such as eglDestroySurface or eglMakeCurrent.

When a resource that is current to some thread is destroyed, the resource @@ -316,5 +286,6 @@ not be called with the sample display at the same time. If a driver has access to an EGLDisplay without going through the EGL APIs, the driver should as well lock the display before using it. +