X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Fegl.html;h=b2198e931d078035bd1f075c68150c283a2ddbde;hb=7a9246c5d72290ed8455a426801b85b54374e102;hp=9eba402411d9f1a420173d96f9ada800e831d1f7;hpb=a1af8eec66c5f7ec421e8011b41c1a7c36319f9f;p=mesa.git diff --git a/docs/egl.html b/docs/egl.html index 9eba402411d..b2198e931d0 100644 --- a/docs/egl.html +++ b/docs/egl.html @@ -28,17 +28,17 @@ cards.

  1. -

    Run configure with the desired state trackers and and enable +

    Run configure with the desired state trackers and enable the Gallium driver for your hardware. For example

    -  $ ./configure --with-state-trackers=egl,es,vega --enable-gallium-{swrast,intel}
    +  $ ./configure --enable-gles-overlay --with-state-trackers=egl,vega --enable-gallium-{swrast,intel}
     
    -

    The main library will be enabled by default. The egl state +

    The main library and OpenGL is enabled by default. The first option enables +OpenGL ES 1.x and 2.x. The egl state tracker is needed by a number of EGL drivers. EGL drivers will be covered -later. The es state tracker provides OpenGL ES 1.x -and 2.x and the vega state tracker provides OpenVG +later. The vega state tracker provides OpenVG 1.x.

  2. @@ -46,8 +46,8 @@ and 2.x and the vega state tracker provides OpenVG

In the given example, it will build and install libEGL, -libGLESv1_CM, libGLESv2, libOpenVG, and -one or more EGL drivers.

+libGL, libGLESv1_CM, libGLESv2, +libOpenVG, and one or more EGL drivers.

Configure Options

@@ -69,23 +69,44 @@ drivers will be installed to ${libdir}/egl.

-
  • --with-egl-displays +
  • --with-egl-platforms -

    List the 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-displays=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 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).

    + +

    The available platforms are x11, kms, +fbdev, and gdi. The gdi platform can +only be built with SCons.

  • --with-state-trackers

    The argument is a comma separated string. It is usually used to specify the -rendering APIs, like OpenGL ES or 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.

    +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.

    + +
  • + +
  • --enable-gles-overlay + +

    OpenGL and OpenGL ES are not controlled by +--with-state-trackers. OpenGL is always built. To build OpenGL +ES, this option must be explicitly given.

    + +
  • + +
  • --enable-gles1 and --enable-gles2 + +

    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.

  • @@ -99,26 +120,12 @@ software rendering automatically.

    -

    OpenGL

    - -

    The OpenGL state tracker is not built in the above example. It should be -noted that the classic libGL is not a state tracker and cannot be -used with EGL (unless the EGL driver in use is egl_glx). To build -the OpenGL state tracker, one may append glx to ---with-state-trackers and manually build -src/gallium/winsys/xlib/.

    -

    Use EGL

    -

    The demos for OpenGL ES and OpenVG can be found in progs/es1/, -progs/es2/ and progs/openvg/. You can use them to -test your build. For example,

    +

    Demos

    -
    -  $ cd progs/es1/xegl
    -  $ make
    -  $ ./torus
    -
    +

    There are demos for the client APIs supported by EGL. They can be found in +mesa/demos repository.

    Environment Variables

    @@ -144,14 +151,14 @@ specific driver. This variable is ignored for setuid/setgid binaries.

    -
  • EGL_DISPLAY +
  • EGL_PLATFORM

    When EGL_DRIVER is not set, the main library loads all -EGL drivers that support a certain window system. EGL_DISPLAY can -be used to specify the window system and the valid values are, for example, +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-displays at configuration time. +--with-egl-platforms at configuration time.

  • @@ -175,27 +182,27 @@ variable to true forces the use of software rendering.

    There are two categories of EGL drivers: Gallium and classic.

    -

    Gallium EGL drivers supports all rendering APIs specified in EGL 1.4. The -support for optional EGL functions and EGL extensions is usually more complete -than the classic ones. These drivers depend on the egl state -tracker to build. The available drivers are

    +

    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

    -

    <dpy> is given by --with-egl-displays at -configuration time. There will be one EGL driver for each combination of the -displays listed and the hardware drivers enabled.

    +

    <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.

    -

    Classic EGL drivers, on the other hand, supports only OpenGL as its -rendering API. They can be found under src/egl/drivers/. There -are 3 of them

    +

    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