From: Chia-I Wu
- $ ./configure --enable-gles-overlay --with-state-trackers=egl,vega --enable-gallium-{swrast,intel} + $ ./configure --enable-gles-overlay --with-state-trackers=egl,vega --enable-gallium-intel
The main library and OpenGL is enabled by default. The first option enables
@@ -71,12 +71,12 @@ drivers will be installed to ${libdir}/egl
.
--with-egl-platforms
-List the native platform window system(s) to support. It is by default
-x11
, which supports the X Window System. Its argument is a comma
-separated string like, for example, --with-egl-platforms=x11,kms
.
-Because an EGL driver decides which window system to support, this example will
-enable two (sets of) EGL drivers. One supports the X window system and the
-other supports bare KMS (kernel modesetting).
List the platforms (window systems) to support. Its argument is a comma
+seprated string such as --with-egl-platforms=x11,kms
. It decides
+the platforms a driver may support. The first listed platform is also used by
+the main library to decide the native platform: the platform the EGL native
+types such as EGLNativeDisplayType
or
+EGLNativeWindowType
defined for.
The available platforms are x11
, kms
,
fbdev
, and gdi
. The gdi
platform can
@@ -87,9 +87,8 @@ only be built with SCons.
--with-state-trackers
The argument is a comma separated string. It is usually used to specify the
-rendering APIs, such as OpenVG, to build. But it should be noted that a number
-of EGL drivers depend on the egl
state tracker. They will
-not be built without the egl
state tracker.
egl
state tracker that egl_gallium
depends on.
Unlike --enable-gles-overlay
, which builds one library for each
rendering API, these options enable OpenGL ES support in OpenGL. The result is
-one big library that supports multiple APIs. This is used by DRI drivers and
-egl_dri2
EGL driver.
+one big library that supports multiple APIs.
--enable-gallium-swrast
-
-This option is not specific to EGL. But if there is no driver for your -hardware, or you are experiencing problems with the hardware driver, you can -enable the swrast DRM driver. It is a dummy driver and EGL will fallback to -software rendering automatically.
- -EGL_PLATFORM
-When EGL_DRIVER
is not set, the main library loads all
-EGL drivers that support a certain window system. EGL_PLATFORM
-can be used to specify the window system and the valid values are, for example,
-x11
or kms
. When the variable is not set, the main
-library defaults the value to the first window system listed in
---with-egl-platforms
at configuration time.
+
This variable specifies the native platform. The valid values are the same
+as those for --with-egl-platforms
. When the variable is not set,
+the main library uses the first platform listed in
+--with-egl-platforms
as the native platform
There are two categories of EGL drivers: Gallium and classic.
- -Gallium EGL drivers supports all rendering APIs specified in EGL 1.4. These
-drivers depend on the egl
state tracker to build. The available
-drivers are
egl_<dpy>_i915
egl_<dpy>_i965
egl_<dpy>_nouveau
egl_<dpy>_radeon
egl_<dpy>_swrast
egl_<dpy>_vmwgfx
egl_gallium
-<dpy>
is given by --with-egl-platforms
at
-configuration time. There is usually one EGL driver for each combination of
-the platforms listed and the pipe drivers enabled. When the platform is pure
-software or pure hardware, non-working combinations will not be built.
This driver is based on Gallium3D. It supports all rendering APIs and +hardwares supported by Gallium3D. It is the only driver that supports OpenVG. +The supported platforms are X11, KMS, FBDEV, and GDI.
-Classic EGL drivers, on the other hand, support only a subset of the
-available rendering APIs. They can be found under
-src/egl/drivers/
. There are 3 of them
egl_glx
This driver provides a wrapper to GLX. It uses exclusively GLX to implement
@@ -231,9 +203,6 @@ are phasing out, it might eventually be replaced by egl_dri2
.
To use the classic drivers, one must manually set EGL_DRIVER
at
-runtime.
The sources of the main library and the classic drivers can be found at