summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/GL3.txt37
-rw-r--r--docs/egl.html55
-rw-r--r--docs/opengles.html69
-rw-r--r--docs/relnotes-7.8.2.html3
4 files changed, 103 insertions, 61 deletions
diff --git a/docs/GL3.txt b/docs/GL3.txt
index 386619e2f7c..7659a0c73e8 100644
--- a/docs/GL3.txt
+++ b/docs/GL3.txt
@@ -14,7 +14,7 @@ GL 3.0:
GLSL changes (GL_EXT_gpu_shader4, etc) not started
Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe)
-Map buffer subranges (GL_APPLE_flush_buffer_range) not started
+Map buffer subranges (GL_ARB_map_buffer_range) DONE
Float textures, renderbuffers some infrastructure done
(incl. GL_EXT_packed_float, GL_EXT_shared_exponent)
Framebuffer objects (GL_EXT_framebuffer_object) DONE
@@ -27,14 +27,14 @@ Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE
GL_EXT_texture_compression_rgtc not started
Red and red/green texture formats Ian?
Transform feedback (GL_EXT_transform_feedback) ~50% done
+ glBindFragDataLocation, glGetFragDataLocation,
+ glBindBufferRange, glBindBufferBase commands
Vertex array objects (GL_APPLE_vertex_array_object) DONE
sRGB framebuffer format (GL_EXT_framebuffer_sRGB) not started
glClearBuffer commands DONE, except for dispatch
glGetStringi command DONE, except for dispatch
glTexParameterI, glGetTexParameterI commands DONE, except for dispatch
glVertexAttribI commands not started
-glBindFragDataLocation, glGetFragDataLocation cmds not started
-glBindBufferRange, glBindBufferBase commands DONE
GL 3.1:
@@ -65,6 +65,37 @@ Frag depth clamp (GL_ARB_depth_clamp) DONE
Fence objects (GL_ARB_sync) DONE
+GL 3.3:
+
+GLSL 3.30 not started
+GL_ARB_blend_func_extended not started
+GL_ARB_explicit_attrib_location not started
+GL_ARB_occlusion_query2 not started
+GL_ARB_sampler_objects not started
+GL_ARB_texture_rgb10_a2ui not started
+GL_ARB_texture_swizzle DONE (same as EXT version)
+GL_ARB_timer_query DONE (only Xlib sw driver)
+GL_ARB_instanced_arrays not started
+GL_ARB_vertex_type_2_10_10_10_rev not started
+
+
+GL 4.0:
+
+GLSL 4.0 not started
+GL_ARB_texture_query_lod not started
+GL_ARB_draw_buffers_blend not started
+GL_ARB_draw_indirect not started
+GL_ARB_gpu_shader_fp64 not started
+GL_ARB_sample_shading not started
+GL_ARB_shader_subroutine not started
+GL_ARB_tessellation_shader not started
+GL_ARB_texture_buffer_object_rgb32 not started
+GL_ARB_texture_cube_map_array not started
+GL_ARB_texture_gather not started
+GL_ARB_transform_feedback2 not started
+
+
+
More info about these features and the work involved can be found at
http://dri.freedesktop.org/wiki/MissingFunctionality
diff --git a/docs/egl.html b/docs/egl.html
index e960309fc47..ad3b850f2ad 100644
--- a/docs/egl.html
+++ b/docs/egl.html
@@ -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>
diff --git a/docs/opengles.html b/docs/opengles.html
index fc41e6771c1..63cc1146a2e 100644
--- a/docs/opengles.html
+++ b/docs/opengles.html
@@ -1,68 +1,69 @@
<html>
-<title>OpenGL ES State Trackers</title>
+<title>OpenGL ES</title>
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
<body>
-<h1>OpenGL ES State Trackers</h1>
+<h1>OpenGL ES</h1>
-<p>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
-<a href="http://www.khronos.org/opengles/" target="_parent">
-http://www.khronos.org/opengles/</a>.</p>
-
-<p>The OpenGL ES state trackers depends on the Gallium architecture and a
-working EGL implementation. Please refer to <a href="egl.html">Mesa EGL</a>
-for more information about EGL.</p>
+<p>Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0. More informations about
+OpenGL ES can be found at <a href="http://www.khronos.org/opengles/"
+target="_parent"> http://www.khronos.org/opengles/</a>.</p>
+<p>OpenGL ES depends on a working EGL implementation. Please refer to
+<a href="egl.html">Mesa EGL</a> for more information about EGL.</p>
<h2>Build the Libraries</h2>
<ol>
-<li>Run <code>configure</code> with <code>--with-state-trackers=egl,es</code> and enable the Gallium driver for your hardware.</li>
+<li>Run <code>configure</code> with <code>--enable-gles-overlay</code> and enable the Gallium driver for your hardware.</li>
+<li>Build and install Mesa as usual.</li>
+</ol>
+
+Alternatively, if XCB-DRI2 is installed on the system, one can use
+<code>egl_dri2</code> EGL driver with OpenGL|ES-enabled DRI drivers
+
+<ol>
+<li>Run <code>configure</code> with <code>--enable-gles1 --enable-gles2</code>.</li>
<li>Build and install Mesa as usual.</li>
</ol>
-<p>It will install libGLESv1_CM, libGLESv2, libEGL, and one or more EGL drivers for your hardware.</p>
+<p>Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or more
+EGL drivers for your hardware.</p>
+
<h2>Run the Demos</h2>
-<p>There are some demos in <code>progs/es1/</code> and <code>progs/es2/</code>. You can use them to test your build. For example,</p>
+<p>There are some demos 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>
<h2>Developers</h2>
-<p>The core of OpenGL ES state trackers is the ES overlay. It is located in
-<code>src/mesa/es/</code>.</p>
-
-<h3>Structure</h3>
+<h3>Internal Libraries</h3>
-<p>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</p>
-
-<table border="1">
- <tr><td>Library Name</td><td>Usage</td><td>Source</td></tr>
- <tr><td>libmesagallium.a</td><td>OpenGL state tracker</td><td>Mesa</td></tr>
- <tr><td>libes1gallium.a</td><td>OpenGL ES 1.x state tracker</td><td>ES overlay</td></tr>
- <tr><td>libes2gallium.a</td><td>OpenGL ES 2.x state tracker</td><td>ES overlay</td></tr>
- <tr><td>libglapi.a</td><td>OpenGL API</td><td>Mesa</td></tr>
- <tr><td>libes1api.a</td><td>OpenGL ES 1.x API</td><td>ES overlay</td></tr>
- <tr><td>libes2api.a</td><td>OpenGL ES 2.x API</td><td>ES overlay</td></tr>
+<table border="1" style="text-align: center;">
+ <tr><td>Library Name</td><td>Used By</td><td>Enabled</td><td>OpenGL</td><td>OpenGL ES 1.x</td><td>OpenGL ES 2.x</td></tr>
+ <tr><td><code>libmesa.a</td><td>Classic DRI drivers</td><td>y</td><td>y</td><td>--enable-gles1</td><td>--enable-gles2</td></tr>
+ <tr><td><code>libmesagallium.a</td><td>Gallium EGL and DRI drivers</td><td>y</td><td>y</td><td>--enable-gles1</td><td>--enable-gles2</td></tr>
+ <tr><td><code>libes1gallium.a</td><td>Gallium EGL drivers</td><td>--enable-gles-overlay</td><td>n</td><td>y</td><td>n</td></tr>
+ <tr><td><code>libes2gallium.a</td><td>Gallium EGL drivers</td><td>--enable-gles-overlay</td><td>n</td><td>n</td><td>y</td></tr>
</table>
-<p>The OpenGL ES state trackers and APIs are then used by <code>src/gallium/state_trackers/es/</code> to create the final libraries.</p>
-
<h3>Dispatch Table</h3>
-<p>The ES overlay uses an additional indirection when dispatching fucntions</p>
+<p>OpenGL ES has an additional indirection when dispatching fucntions</p>
<pre>
Mesa: glFoo() --&gt; _mesa_Foo()
- ES overlay: glFoo() --&gt; _es_Foo() --&gt; _mesa_Foo()
+ OpenGL ES: glFoo() --&gt; _es_Foo() --&gt; _mesa_Foo()
</pre>
<p>The indirection serves several purposes</p>
@@ -73,7 +74,7 @@ for more information about EGL.</p>
<li>When a function is not available in Mesa, or accepts arguments that are not available in OpenGL, it provides its own implementation.</li>
</ul>
-<p>Other than the last case, the ES overlay uses <code>APIspec.xml</code> to generate functions to check and/or converts the arguments.</p>
+<p>Other than the last case, OpenGL ES uses <code>APIspec.xml</code> to generate functions to check and/or converts the arguments.</p>
</body>
</html>
diff --git a/docs/relnotes-7.8.2.html b/docs/relnotes-7.8.2.html
index 2194b651b73..e1b0f2d2791 100644
--- a/docs/relnotes-7.8.2.html
+++ b/docs/relnotes-7.8.2.html
@@ -8,7 +8,7 @@
<body bgcolor="#eeeeee">
-<H1>Mesa 7.8.2 Release Notes / April, 5, 2010</H1>
+<H1>Mesa 7.8.2 Release Notes / (date tbd)</H1>
<p>
Mesa 7.8.2 is a bug fix release which fixes bugs found since the 7.8.1 release.
@@ -43,6 +43,7 @@ tbd
<h2>Bug fixes</h2>
<ul>
<li>Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT).
+<li>Fixed Gallium Cell driver to buildable, runable state
</ul>