mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-12-13 04:04:14 +08:00
docs: Update egl and openvg docs.
This commit is contained in:
parent
be5f34a053
commit
c6320c5eb2
@ -32,14 +32,14 @@ cards.</p>
|
||||
the Gallium driver for your hardware. For example</p>
|
||||
|
||||
<pre>
|
||||
$ ./configure --enable-gles-overlay --with-state-trackers=egl,vega --enable-gallium-intel
|
||||
$ ./configure --enable-gles-overlay --enable-openvg --enable-gallium-intel
|
||||
</pre>
|
||||
|
||||
<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="openvg.html">vega state tracker</a> provides OpenVG
|
||||
1.x.</p>
|
||||
<a href="opengles.html">OpenGL ES 1.x and 2.x</a>. The second option enables
|
||||
<a href="openvg.html">OpenVG</a>.
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li>Build and install Mesa as usual.</li>
|
||||
@ -84,19 +84,10 @@ only be built with SCons.</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li><code>--with-state-trackers</code>
|
||||
|
||||
<p>The argument is a comma separated string. It is usually used to specify the
|
||||
rendering APIs, such as OpenVG, to build. But it is also used to specify
|
||||
<code>egl</code> state tracker that <code>egl_gallium</code> depends on.</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>
|
||||
<p>OpenGL is built by default. To build OpenGL ES, this option must be
|
||||
explicitly given.</p>
|
||||
|
||||
</li>
|
||||
|
||||
@ -108,6 +99,12 @@ one big library that supports multiple APIs.</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li><code>--enable-openvg</code>
|
||||
|
||||
<p>OpenVG must be explicitly enabled by this option.</p>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Use EGL</h2>
|
||||
@ -141,7 +138,8 @@ specific driver. This variable is ignored for setuid/setgid binaries.</p>
|
||||
|
||||
<p><code>egl_gallium</code> dynamically loads hardware drivers and client API
|
||||
modules found in <code>EGL_DRIVERS_PATH</code>. Thus, specifying this variable
|
||||
alone is not sufficient for <code>egl_gallium</code> for uninstalled build.</p>
|
||||
alone is not sufficient for <code>egl_gallium</code> for an uninstalled
|
||||
build.</p>
|
||||
|
||||
</li>
|
||||
|
||||
@ -177,7 +175,7 @@ variable to true forces the use of software rendering.</p>
|
||||
|
||||
<p>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.</p>
|
||||
The supported platforms are X11, DRM, FBDEV, and GDI.</p>
|
||||
|
||||
</li>
|
||||
|
||||
@ -193,16 +191,8 @@ is not available in GLX or GLX extensions.</p>
|
||||
|
||||
<p>This driver supports the X Window System as its window system. It functions
|
||||
as a DRI2 driver loader. Unlike <code>egl_glx</code>, it has no dependency on
|
||||
<code>libGL</code>. It talks to the X server directly using DRI2 protocol.</p>
|
||||
|
||||
</li>
|
||||
<li><code>egl_dri</code>
|
||||
|
||||
<p>This driver lacks maintenance and does <em>not</em> build. It is similiar
|
||||
to <code>egl_dri2</code> in that it functions as a DRI(1) driver loader. But
|
||||
unlike <code>egl_dri2</code>, it supports Linux framebuffer devices as its
|
||||
window system and supports EGL_MESA_screen_surface extension. As DRI1 drivers
|
||||
are phasing out, it might eventually be replaced by <code>egl_dri2</code>.</p>
|
||||
<code>libGL</code>. It talks to the X server directly using (XCB-)DRI2
|
||||
protocol.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
@ -295,7 +285,6 @@ should as well lock the display before using it.
|
||||
|
||||
<ul>
|
||||
<li>Pass the conformance tests</li>
|
||||
<li>Reference counting in main library?</li>
|
||||
<li>Mixed use of OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is supported. But
|
||||
which one of <code>libGL.so</code>, <code>libGLESv1_CM.so</code>, and
|
||||
<code>libGLESv2.so</code> should an application link to? Bad things may happen
|
||||
|
@ -26,36 +26,27 @@ Please refer to <a href="egl.html">Mesa EGL</a> for more information about EGL.
|
||||
|
||||
<h2>Building the library</h2>
|
||||
<ol>
|
||||
<li>Build Mesa3D with Gallium3D. Any build that builds Gallium3D libraries, EGL, and Gallium EGL drivers will suffice</li>
|
||||
<li>cd src/gallium/state_trackers/vega; make</li>
|
||||
<li>The last step will build libOpenVG library. You can add the libdir to LD_LIBRARY_PATH or install libOpenVG</li>
|
||||
<li>Run <code>configure</code> with <code>--enable-openvg</code>. If you do
|
||||
not need OpenGL, you can add <code>--disable-opengl</code> to save the
|
||||
compilation time.</li>
|
||||
|
||||
<li>Build and install Mesa as usual.</li>
|
||||
</ol>
|
||||
|
||||
<h3>Sample build</h3>
|
||||
A sample build looks as follows:
|
||||
<pre>
|
||||
$ ./configure --with-state-trackers=egl,vega --enable-gallium-intel
|
||||
$ ./configure --disable-opengl --enable-openvg
|
||||
$ make
|
||||
$ make install
|
||||
</pre>
|
||||
|
||||
<p>It will install <code>libOpenVG.so</code>, <code>libEGL.so</code>, and one
|
||||
or more EGL drivers.</p>
|
||||
|
||||
<h2>OpenVG Demos</h2>
|
||||
|
||||
<p>
|
||||
To build the OpenVG demos:
|
||||
</p>
|
||||
<pre>
|
||||
cd progs/openvg
|
||||
make
|
||||
</pre>
|
||||
<p>
|
||||
To run a demo:
|
||||
</p>
|
||||
<pre>
|
||||
cd openvg/demos
|
||||
./lion
|
||||
</pre>
|
||||
|
||||
<p>OpenVG demos can be found in mesa/demos repository.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in New Issue
Block a user