From d8299af4ab6fe4b334292e3b6e69e4331c05d86f Mon Sep 17 00:00:00 2001
From: Chia-I Wu The current version of the OpenGL ES state trackers implement OpenGL ES 1.1 and OpenGL ES 2.0.
+More informations about OpenGL ES can be found at
+http://www.khronos.org/opengles/. The OpenGL ES state trackers depends on the Gallium architecture and a
+working EGL implementation. It will install libGLESv1_CM, libGLESv2, libEGL, and one or more EGL drivers for your hardware. There are some demos in The core of OpenGL ES state trackers is the ES overlay. It is located in
+ The ES overlay uses as much code as possible from Mesa. It has its own glapi XMLs to describe the APIs of OpenGL ES. The ES overlay can be built parallelly with Mesa, and they will give The OpenGL ES state trackers and APIs are then used by The ES overlay uses an additional indirection when dispatching fucntions The indirection serves several purposes Other than the last case, the ES overlay uses OpenGL ES State Trackers
+
+Build the Libraries
+
+
+
+configure
with --with-state-trackers=egl_g3d,es
and enable the Gallium driver for your hardware.Run the Demos
+
+progs/es1/
and progs/es2/
. You can use them to test your build. For example,
+ $ export EGL_DRIVER=/usr/local/lib/dri/egl_x11_i915.so # specify the EGL driver
+ $ cd progs/es1/xegl
+ $ make
+ $ ./torus
+
+
+Developers
+
+src/mesa/es/
.Structure
+
+
+
+
+
+ Library Name Usage Source
+ libmesagallium.a OpenGL state tracker Mesa
+ libes1gallium.a OpenGL ES 1.x state tracker ES overlay
+ libes2gallium.a OpenGL ES 2.x state tracker ES overlay
+ libglapi.a OpenGL API Mesa
+ libes1api.a OpenGL ES 1.x API ES overlay
+libes2api.a OpenGL ES 2.x API ES overlay src/gallium/state_trackers/es/
to create the final libraries.Dispatch Table
+
+
+ Mesa: glFoo() --> _mesa_Foo()
+ ES overlay: glFoo() --> _es_Foo() --> _mesa_Foo()
+
+
+
+
+
+APIspec.xml
to generate functions to check and/or converts the arguments.
The OpenGL ES state trackers depends on the Gallium architecture and a -working EGL implementation.
+working EGL implementation. Please refer to Mesa EGL +for more information about EGL.There are some demos in progs/es1/
and progs/es2/
. You can use them to test your build. For example,
- $ export EGL_DRIVER=/usr/local/lib/dri/egl_x11_i915.so # specify the EGL driver $ cd progs/es1/xegl $ make $ ./torus diff --git a/docs/openvg.html b/docs/openvg.html index 442ee522f1..cd39b133c4 100644 --- a/docs/openvg.html +++ b/docs/openvg.html @@ -1,6 +1,6 @@ --Mesa Release Notes +OpenVG State Tracker @@ -20,12 +20,13 @@ http://www.khronos.org/openvg/ .The OpenVG state tracker depends on the Gallium architecture and a working EGL implementation. +Please refer to Mesa EGL for more information about EGL.
Building the library
-
@@ -33,12 +34,9 @@ The OpenVG state tracker depends on the Gallium architecture and a working EGL i- Build Mesa3D with Gallium3D. Any build that builds Gallium3D libraries and EGL will suffice
+- Build Mesa3D with Gallium3D. Any build that builds Gallium3D libraries, EGL, and Gallium EGL drivers will suffice
- cd src/gallium/state_trackers/vega; make
- The last step will build libOpenVG library. You can add the libdir to LD_LIBRARY_PATH or install libOpenVG
Sample build
A sample build looks as follows:- make linux-x86-64-debug - cd src/gallium/state_trackers/vega - make - cd ../../../.. - export LD_LIBRARY_PATH=$PWD/lib64 - export EGL_DRIVER="egl_softpipe" + $ ./configure --with-state-trackers=egl_g3d,vega --enable-gallium-intel + $ make + $ make installOpenVG Demos
@@ -59,10 +57,5 @@ To run a demo: