docs: Update EGL and OpenGL ES docs.
[mesa.git] / docs / egl.html
index e960309fc475957f7202030cd4bec314649e95b0..ad3b850f2ad2e9be87d6d81f965f525675639df7 100644 (file)
@@ -32,13 +32,13 @@ cards.</p>
 the Gallium driver for your hardware.  For example</p>
 
 <pre>
-  $ ./configure --with-state-trackers=egl,es,vega --enable-gallium-{swrast,intel}
+  $ ./configure --enable-gles-overlay --with-state-trackers=egl,vega --enable-gallium-{swrast,intel}
 </pre>
 
-<p>The main library will be enabled by default.  The <code>egl</code> state
+<p>The main library and OpenGL is enabled by default.  The first option enables
+<a href="opengles.html">OpenGL ES 1.x and 2.x</a>.  The <code>egl</code> state
 tracker is needed by a number of EGL drivers.  EGL drivers will be covered
-later.  The <a href="opengles.html">es state tracker</a> provides OpenGL ES 1.x
-and 2.x and the <a href="openvg.html">vega state tracker</a> provides OpenVG
+later.  The <a href="openvg.html">vega state tracker</a> provides OpenVG
 1.x.</p>
 </li>
 
@@ -46,8 +46,8 @@ and 2.x and the <a href="openvg.html">vega state tracker</a> provides OpenVG
 </ol>
 
 <p>In the given example, it will build and install <code>libEGL</code>,
-<code>libGLESv1_CM</code>, <code>libGLESv2</code>, <code>libOpenVG</code>, and
-one or more EGL drivers.</p>
+<code>libGL</code>, <code>libGLESv1_CM</code>, <code>libGLESv2</code>,
+<code>libOpenVG</code>, and one or more EGL drivers.</p>
 
 <h3>Configure Options</h3>
 
@@ -83,9 +83,26 @@ bare KMS (kernel modesetting).</p>
 <li><code>--with-state-trackers</code>
 
 <p>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 <code>egl</code> state tracker.
-They will <em>not</em> be built without the <code>egl</code> state tracker.</p>
+rendering APIs, such as OpenVG, to build.  But it should be noted that a number
+of EGL drivers depend on the <code>egl</code> state tracker.  They will
+<em>not</em> be built without the <code>egl</code> state tracker.</p>
+
+</li>
+
+<li><code>--enable-gles-overlay</code>
+
+<p>OpenGL and OpenGL ES are not controlled by
+<code>--with-state-trackers</code>.  OpenGL is always built.  To build OpenGL
+ES, this option must be explicitly given.</p>
+
+</li>
+
+<li><code>--enable-gles1</code> and <code>--enable-gles2</code>
+
+<p>Unlike <code>--enable-gles-overlay</code>, 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
+<code>egl_dri2</code> EGL driver.
 
 </li>
 
@@ -99,25 +116,17 @@ software rendering automatically.</p>
 </li>
 </ul>
 
-<h3>OpenGL</h3>
-
-<p>The OpenGL state tracker is not built in the above example.  It should be
-noted that the classic <code>libGL</code> is not a state tracker and cannot be
-used with EGL (unless the EGL driver in use is <code>egl_glx</code>).  To build
-the OpenGL state tracker, one may append <code>glx</code> to
-<code>--with-state-trackers</code> and manually build
-<code>src/gallium/targets/libgl-xlib/</code>.</p>
-
 <h2>Use EGL</h2>
 
-<p>The demos for OpenGL ES and OpenVG can be found in <code>progs/es1/</code>,
-<code>progs/es2/</code> and <code>progs/openvg/</code>.  You can use them to
-test your build.  For example,</p>
+<p>There are demos for the client APIs supported by EGL.  They can be found in
+<code>progs/egl/</code>, You can use them to test your build.  For example,</p>
 
 <pre>
-  $ cd progs/es1/xegl
+  $ cd progs/egl/eglut
+  $ make
+  $ cd ../opengles1
   $ make
-  $ ./torus
+  $ ./torus_x11
 </pre>
 
 <h3>Environment Variables</h3>