summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/ARB_color_buffer_float.txt4
-rw-r--r--docs/GL3.txt12
-rw-r--r--docs/MESA_agp_offset.spec2
-rw-r--r--docs/MESA_drm_image.spec4
-rw-r--r--docs/MESA_pack_invert.spec2
-rw-r--r--docs/MESA_release_buffers.spec8
-rw-r--r--docs/MESA_resize_buffers.spec4
-rw-r--r--docs/MESA_swap_control.spec4
-rw-r--r--docs/MESA_texture_array.spec8
-rw-r--r--docs/MESA_texture_signed_rgba.spec4
-rw-r--r--docs/MESA_window_pos.spec4
-rw-r--r--docs/MESA_ycbcr_texture.spec4
-rw-r--r--docs/WL_bind_wayland_display.spec8
-rw-r--r--docs/contents.html1
-rw-r--r--docs/download.html83
-rw-r--r--docs/envvars.html9
-rw-r--r--docs/install.html104
-rw-r--r--docs/llvmpipe.html204
-rw-r--r--docs/news.html7
-rw-r--r--docs/patents.txt31
-rw-r--r--docs/relnotes-7.10.2.html206
-rw-r--r--docs/relnotes-7.11.html15
-rw-r--r--docs/relnotes.html1
23 files changed, 557 insertions, 172 deletions
diff --git a/docs/ARB_color_buffer_float.txt b/docs/ARB_color_buffer_float.txt
new file mode 100644
index 0000000..e501120
--- /dev/null
+++ b/docs/ARB_color_buffer_float.txt
@@ -0,0 +1,4 @@
+Known issues in the ARB_color_buffer_float implementation:
+- Rendering to multiple render targets, some fixed-point, some floating-point, with FIXED_ONLY fragment clamping and polygon smooth enabled may write incorrect values to the fixed point buffers (depends on spec interpretation)
+- For fragment programs with ARB_fog_* options, colors are clamped before fog application regardless of the fragment clamping setting (this depends on spec interpretation)
+
diff --git a/docs/GL3.txt b/docs/GL3.txt
index ca265af..6eeb9e4 100644
--- a/docs/GL3.txt
+++ b/docs/GL3.txt
@@ -12,11 +12,11 @@ Feature Status
GL 3.0:
-GLSL changes (GL_EXT_gpu_shader4, etc) not started
+GLSL 1.30 (GL_EXT_gpu_shader4, etc.) started
Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe)
Map buffer subranges (GL_ARB_map_buffer_range) DONE
-Clamping controls (GL_ARB_color_buffer_float) BRANCH ~mareko/mesa floating2
-Float textures, renderbuffers (GL_ARB_texture_float) BRANCH ~mareko/mesa floating2
+Clamping controls (GL_ARB_color_buffer_float) DONE
+Float textures, renderbuffers (GL_ARB_texture_float) DONE (gallium r300)
GL_EXT_packed_float not started
GL_EXT_texture_shared_exponent not started
Float depth buffers (GL_ARB_depth_buffer_float) not started
@@ -45,7 +45,7 @@ Depth format cube textures 0% done
GL 3.1:
-GLSL 1.30 and 1.40 not started
+GLSL 1.40 not started
Instanced drawing (GL_ARB_draw_instanced) DONE (gallium, swrast)
Buffer copying (GL_ARB_copy_buffer) DONE
Primitive restart (GL_NV_primitive_restart) DONE (gallium)
@@ -53,7 +53,7 @@ Primitive restart (GL_NV_primitive_restart) DONE (gallium)
Texture buffer objs (GL_ARB_texture_buffer_object) not started
Rectangular textures (GL_ARB_texture_rectangle) DONE
Uniform buffer objs (GL_ARB_uniform_buffer_object) not started
-Signed normalized textures (GL_EXT_texture_snorm) ~50% done
+Signed normalized textures (GL_EXT_texture_snorm) DONE (gallium)
GL 3.2:
@@ -77,7 +77,7 @@ GLSL 3.30 not started
GL_ARB_blend_func_extended not started
GL_ARB_explicit_attrib_location DONE (swrast, i915, i965)
GL_ARB_occlusion_query2 DONE (swrast, gallium)
-GL_ARB_sampler_objects not started
+GL_ARB_sampler_objects DONE (gallium)
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)
diff --git a/docs/MESA_agp_offset.spec b/docs/MESA_agp_offset.spec
index 8dcc723..06e1d90 100644
--- a/docs/MESA_agp_offset.spec
+++ b/docs/MESA_agp_offset.spec
@@ -67,7 +67,7 @@ Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors)
On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV
and freed with glXFreeMemoryNV. Sometimes it's useful to know where a
block of AGP memory is located with respect to the start of the AGP
- aperature. The function
+ aperture. The function
GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
diff --git a/docs/MESA_drm_image.spec b/docs/MESA_drm_image.spec
index c9853a7..198de3e 100644
--- a/docs/MESA_drm_image.spec
+++ b/docs/MESA_drm_image.spec
@@ -24,7 +24,7 @@ Number
Dependencies
- Reguires EGL 1.4 or later. This extension is written against the
+ Requires EGL 1.4 or later. This extension is written against the
wording of the EGL 1.4 specification.
EGL_KHR_base_image is required.
@@ -134,7 +134,7 @@ Issues
RESOLVED: The eglQueryImage function has been proposed often,
but it goes against the EGLImage design. EGLImages are opaque
handles to a 2D array of pixels, which can be passed between
- client APIs. By referenceing an EGLImage in a client API, the
+ client APIs. By referencing an EGLImage in a client API, the
EGLImage target (a texture, a renderbuffer or such) can be
used to query the attributes of the EGLImage. We don't have a
full client API for creating and querying DRM buffers, though,
diff --git a/docs/MESA_pack_invert.spec b/docs/MESA_pack_invert.spec
index 53d5fca..33fb3c7 100644
--- a/docs/MESA_pack_invert.spec
+++ b/docs/MESA_pack_invert.spec
@@ -48,7 +48,7 @@ IP Status
Issues
- 1. Should we also defined UNPACK_INVERT_MESA for glDrawPixels, etc?
+ 1. Should we also define UNPACK_INVERT_MESA for glDrawPixels, etc?
Resolved: No, we're only concerned with pixel packing. There are other
solutions for inverting images when using glDrawPixels (negative Y pixel
diff --git a/docs/MESA_release_buffers.spec b/docs/MESA_release_buffers.spec
index 8db9350..52d1e5a 100644
--- a/docs/MESA_release_buffers.spec
+++ b/docs/MESA_release_buffers.spec
@@ -31,12 +31,12 @@ Overview
Mesa's implementation of GLX is entirely implemented on the client side.
Therefore, Mesa cannot immediately detect when an X window or pixmap is
- destroyed in order to free any ancilliary data associated with the window
+ destroyed in order to free any ancillary data associated with the window
or pixmap.
The glxMesaReleaseBuffers() function can be used to explicitly indicate
- when the back color buffer, depth buffer, stencil buffer, and/or accum-
- ulation buffer associated with a drawable can be freed.
+ when the back color buffer, depth buffer, stencil buffer, and/or accumu-
+ lation buffer associated with a drawable can be freed.
IP Status
@@ -60,7 +60,7 @@ Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
- causes all software ancilliary buffers (back buffer, depth, stencil,
+ causes all software ancillary buffers (back buffer, depth, stencil,
accum, etc) associated with the named drawable to be immediately
deallocated. True is returned if <d> is a valid Mesa GLX drawable,
else False is returned. After calling glXReleaseBuffersMESA, the
diff --git a/docs/MESA_resize_buffers.spec b/docs/MESA_resize_buffers.spec
index 533d017..dabc7c4 100644
--- a/docs/MESA_resize_buffers.spec
+++ b/docs/MESA_resize_buffers.spec
@@ -35,7 +35,7 @@ Overview
Mesa's glViewport command queries the current window size and updates
its internal data structors accordingly. This normally works fine
- since most applications call glViewport in responce to window size
+ since most applications call glViewport in response to window size
changes.
In some situations, however, the application may not call glViewport
@@ -65,7 +65,7 @@ Additions to the AGL/GLX/WGL Specifications
Errors
- INVALID_OPERATION is generated if ResizeBuffersMESA is called betweeen
+ INVALID_OPERATION is generated if glResizeBuffersMESA is called between
Begin and End.
New State
diff --git a/docs/MESA_swap_control.spec b/docs/MESA_swap_control.spec
index 856978b..a002563 100644
--- a/docs/MESA_swap_control.spec
+++ b/docs/MESA_swap_control.spec
@@ -88,8 +88,8 @@ Additions to the GLX 1.3 Specification
this is typically the time required to display both the even and odd
fields of a frame of video data.
- If <interval> is set to a value of 0, buffer swaps are not synchron-
- ized to a video frame. The <interval> value is silently clamped to
+ If <interval> is set to a value of 0, buffer swaps are not synchro-
+ nized to a video frame. The <interval> value is silently clamped to
the maximum implementation-dependent value supported before being
stored.
diff --git a/docs/MESA_texture_array.spec b/docs/MESA_texture_array.spec
index 9dee65b..b146821 100644
--- a/docs/MESA_texture_array.spec
+++ b/docs/MESA_texture_array.spec
@@ -328,7 +328,7 @@ Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
-- Section 3.8.10 "Texture Completeness"
- Change the second paragaph (page 177) to say (spec changes identical
+ Change the second paragraph (page 177) to say (spec changes identical
to EXT_texture_array):
"For one-, two-, or three-dimensional textures and one- or
@@ -443,10 +443,10 @@ Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
Change second through fourth paragraphs (page 188) to say:
"Let D_t be the depth texture value, in the range [0, 1]. For
- texture lookups from one- and two-dimesional, rectangle, and
+ texture lookups from one- and two-dimensional, rectangle, and
one-dimensional array targets, let R be the interpolated <r>
texture coordinate, clamped to the range [0, 1]. For texture lookups
- from two-dimesional array texture targets, let R be the interpolated
+ from two-dimensional array texture targets, let R be the interpolated
<q> texture coordinate, clamped to the range [0, 1]. Then the
effective texture value L_t, I_t, or A_t is computed as follows:
@@ -604,7 +604,7 @@ Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions)
-- Section 5.4 "Display Lists"
- Change the first paragraphi on page 242 to say (spec changes
+ Change the first paragraph on page 242 to say (spec changes
identical to EXT_texture_array):
"TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are
diff --git a/docs/MESA_texture_signed_rgba.spec b/docs/MESA_texture_signed_rgba.spec
index 49c8e9e..e3a6b59 100644
--- a/docs/MESA_texture_signed_rgba.spec
+++ b/docs/MESA_texture_signed_rgba.spec
@@ -44,7 +44,7 @@ Overview
ARB_texture_compression_rgtc introduces some compressed red and
red_green signed formats but no uncompressed ones, which might
still be useful. NV_texture_shader adds signed texture formats,
- but also a lot of functionality which has been superceded by fragment
+ but also a lot of functionality which has been superseded by fragment
shaders.
It is usually possible to get the same functionality
using a unsigned format by doing scale and bias in a shader, but this
@@ -105,7 +105,7 @@ Issues
This is also different to what NV_texture_shader used.
The above mapping should be considered the reference, but there
is some leeway so other mappings are allowed for implementations which
- cannot do this. Particulary the mapping given in NV_texture_shader or
+ cannot do this. Particularly the mapping given in NV_texture_shader or
the standard OpenGL byte/float mapping is considered acceptable too, as
might be a mapping which represents -1.0 by -128, 0.0 by 0 and 1.0 by
127 (that is, uses different scale factors for negative and positive
diff --git a/docs/MESA_window_pos.spec b/docs/MESA_window_pos.spec
index 4d01f18..9e81e9c 100644
--- a/docs/MESA_window_pos.spec
+++ b/docs/MESA_window_pos.spec
@@ -88,7 +88,7 @@ Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation)
WindosPos4MESA takes four values indicating x, y, z, and w.
WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only
x, y, and z with w implicitly set to 1 (or only x and y with z
- implicititly set to 0 and w implicitly set to 1).
+ implicitly set to 0 and w implicitly set to 1).
WindowPosMESA operates like RasterPos except that the current modelview
matrix, projection matrix and viewport parameters are ignored and the
@@ -108,7 +108,7 @@ GLX Protocol
Errors
- INVALID_OPERATION is generated if WindowPosMESA is called betweeen
+ INVALID_OPERATION is generated if WindowPosMESA is called between
Begin and End.
New State
diff --git a/docs/MESA_ycbcr_texture.spec b/docs/MESA_ycbcr_texture.spec
index 0fa1f7b..6a730e8 100644
--- a/docs/MESA_ycbcr_texture.spec
+++ b/docs/MESA_ycbcr_texture.spec
@@ -26,7 +26,7 @@ Number
Dependencies
OpenGL 1.0 or later is required
- This extensions is written against the OpenGL 1.4 Specification.
+ This extension is written against the OpenGL 1.4 Specification.
NV_texture_rectangle effects the definition of this extension.
Overview
@@ -104,7 +104,7 @@ Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
In section 3.6.4, Rasterization of Pixel Rectangles, on page 104,
- add the following to Table 3.12 (Packed pixel fiedl assignments):
+ add the following to Table 3.12 (Packed pixel field assignments):
First Second Third Fourth
Format Element Element Element Element
diff --git a/docs/WL_bind_wayland_display.spec b/docs/WL_bind_wayland_display.spec
index 0ff49d6..e2fde3c 100644
--- a/docs/WL_bind_wayland_display.spec
+++ b/docs/WL_bind_wayland_display.spec
@@ -25,7 +25,7 @@ Number
Dependencies
- Reguires EGL 1.4 or later. This extension is written against the
+ Requires EGL 1.4 or later. This extension is written against the
wording of the EGL 1.4 specification.
EGL_KHR_base_image is required.
@@ -40,9 +40,9 @@ Overview
provides a new target for eglCreateImageKHR, to create an EGLImage
from a wl_buffer
- Adding a implementation specific wayland interface, allows the
+ Adding an implementation specific wayland interface, allows the
EGL implementation to define specific wayland requests and events,
- needed for buffer sharing in a EGL wayland platform.
+ needed for buffer sharing in an EGL wayland platform.
IP Status
@@ -82,7 +82,7 @@ Additions to the EGL 1.4 Specification:
Import a wl_buffer by calling eglCreateImageKHR with
wl_buffer as EGLClientBuffer, EGL_WAYLAND_BUFFER_WL as the target,
- and an empty attribute_list.
+ NULL context and an empty attribute_list.
Issues
diff --git a/docs/contents.html b/docs/contents.html
index cf1661e..8fc2ac0 100644
--- a/docs/contents.html
+++ b/docs/contents.html
@@ -62,6 +62,7 @@ a:visited {
<LI><A HREF="perf.html" target="MainFrame">Performance Tips</A>
<LI><A HREF="extensions.html" target="MainFrame">Mesa Extensions</A>
<LI><A HREF="mangling.html" target="MainFrame">Function Name Mangling</A>
+<LI><A href="llvmpipe.html" target="MainFrame">Gallium llvmpipe driver</A>
</ul>
<b>Developer Topics</b>
diff --git a/docs/download.html b/docs/download.html
index 3cb9423..03fa60b 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -21,76 +21,52 @@ When a new release is coming, release candidates (betas) may be found
<p>
-Mesa is distributed in several parts:
+The Mesa package is named MesaLib-x.y.z.{tar.bz2, tar.gz, zip} where x.y.z
+is the version. There are three types of compressed archives.
</p>
-<ul>
-<li><b>MesaLib-x.y.z</b> - the main Mesa library source code, drivers
- and documentation.
-</li>
-<li><b>MesaDemos-x.y.z</b> - OpenGL demonstration and test programs.
- Most of the programs require GLUT (either the
- <a href="http://www.opengl.org/resources/libraries/glut"
- target="_parent">original GLUT by Mark Kilgard</a> or
- <a href="http://freeglut.sourceforge.net" target="_parent">freeglut</a> or
- <a href="http://openglut.sourceforge.net" target="_parent">OpenGLUT</a>).
-</li>
-<li><b>MesaGLUT-x.y.z</b> - Mark Kilgard's GLUT, easily compiled and used
- with Mesa. Plus, other implementation of GLUT for DOS, OS/2, BeOS, etc.
-</li>
-</ul>
-
<p>
-If you're not interested in running the demos, you'll only need the first
-package.
+There's also the MesaGLUT-x.y.z.{tar.bz2, tar.gz, zip} packages which
+contain Mark Kilgard's GLUT library.
+This is optional.
+Most Linux distributions include an implementation of GLUT (such as freeglut).
</p>
-
<p>
-If you're new to this and not sure what you're doing, grab all three packages.
+In the past, the Mesa demos collection was distributed as
+MesaDemos-x.y.z.{tar.bz2, tar.gz, zip}.
+Now, the
+<a href="ftp://ftp.freedesktop.org/pub/mesa/demos/" target="_parent">
+Mesa demos</a> are distributed separately.
</p>
-<p>
-The packages are available in .tar.gz, .tar.bz2 and .zip formats.
-Other sites might offer additional package formats.
-</p>
<H1>Unpacking</H1>
<p>
-All the packages should be in the same directory prior to unpacking.
+To unpack .tar.gz files:
</p>
-
-<ul>
-<li>To unpack .tar.gz files:
<pre>
- tar zxf MesaLib-X.Y.tar.gz
- tar zxf MesaDemos-X.Y.tar.gz
- tar zxf MesaGLUT-X.Y.tar.gz
+ tar zxf MesaLib-x.y.z.tar.gz
</pre>
or
<pre>
- gzcat MesaLib-X.Y.tar.gz | tar xf -
- gzcat MesaDemos-X.Y.tar.gz | tar xf -
- gzcat MesaGLUT-X.Y.tar.gz | tar xf -
+ gzcat MesaLib-x.y.z.tar.gz | tar xf -
</pre>
or
<pre>
- gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
- gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaDemos-X.Y.tar
- gunzip MesaGLUT-X.Y.tar.gz ; tar xf MesaGLUT-X.Y.tar
+ gunzip MesaLib-x.y.z.tar.gz ; tar xf MesaLib-x.y.z.tar
</pre>
-<li>To unpack .tar.bz2 files:
+<p>
+To unpack .tar.bz2 files:
+</p>
<pre>
- bunzip2 -c MesaLib-X.Y.tar.gz | tar xf -
- bunzip2 -c MesaDemos-X.Y.tar.gz | tar xf -
- bunzip2 -c MesaGLUT-X.Y.tar.gz | tar xf -
+ bunzip2 -c MesaLib-x.y.z.tar.gz | tar xf -
</pre>
-<li>To unpack .zip files:
+<p>
+To unpack .zip files:
+</p>
<pre>
- unzip MesaLib-X.Y.zip
- unzip MesaDemos-X.Y.zip
- unzip MesaGLUT-X.Y.zip
+ unzip MesaLib-x.y.z.zip
</pre>
-</ul>
<h1>Contents</h1>
@@ -106,22 +82,13 @@ bin/ - shell scripts for making shared libraries, etc
docs/ - documentation
src/ - source code for libraries
src/mesa - sources for the main Mesa library and device drivers
+src/gallium - sources for Gallium and Gallium drivers
src/glu - libGLU source code
src/glx - sources for building libGL with full GLX and DRI support
src/glw - Xt/Motif/OpenGL widget code
</pre>
-If you downloaded and unpacked the MesaDemos.X.Y package:
-
-<pre>
-progs/demos - original Mesa demos
-progs/xdemos - GLX OpenGL/Mesa demos
-progs/redbook - examples from the OpenGL Programming Guide
-progs/samples - examples from SGI
-progs/images/ - image files
-</pre>
-
-If you downloaded and unpacked the MesaGLUT.X.Y package:
+If you downloaded and unpacked the MesaGLUT.x.y.z package:
<pre>
src/glut - GLUT library source code
</pre>
diff --git a/docs/envvars.html b/docs/envvars.html
index c8be843..986d2f8 100644
--- a/docs/envvars.html
+++ b/docs/envvars.html
@@ -49,6 +49,15 @@ Setting this variable automatically sets the MESA_TEX_PROG variable as well.
<li>MESA_EXTENSION_OVERRIDE - can be used to enable/disable extensions.
A value such as "GL_EXT_foo -GL_EXT_bar" will enable the GL_EXT_foo extension
and disable the GL_EXT_bar extension.
+<li>MESA_EXTENSION_MAX_YEAR - The GL_EXTENSIONS string returned by Mesa is sorted
+by extension year.
+If this variable is set to year X, only extensions defined on or before year
+X will be reported.
+This is to work-around a bug in some games where the extension string is
+copied into a fixed-size buffer without truncating.
+If the extension string is too long, the buffer overrun can cause the game
+to crash.
+This is a work-around for that.
<li>MESA_GLSL - <a href="shading.html#envvars">shading language compiler options</a>
</ul>
diff --git a/docs/install.html b/docs/install.html
index 3962ea5..bfa3bb8 100644
--- a/docs/install.html
+++ b/docs/install.html
@@ -12,16 +12,16 @@
<ol>
<li><a href="#unix-x11">Unix / X11</a>
<ul>
- <li><a href="#prereq">Prerequisites for DRI and hardware acceleration</a>
+ <li><a href="#prereq-general">General prerequisites for building</a>
+ <li><a href="#prereq-dri">Prerequisites for DRI and hardware acceleration</a>
<li><a href="#autoconf">Building with autoconf</a>
<li><a href="#traditional">Building with traditional Makefiles</a>
<li><a href="#libs">The Libraries</a>
- <li><a href="#demos">Running the demos
<li><a href="#install">Installing the header and library files
<li><a href="#pkg-config">Building OpenGL programs with pkg-config
</ul>
<li><a href="#windows">Windows</a>
-<li><a href="#scons">SCons</a>
+<li><a href="#scons">Building with SCons</a>
<li><a href="#other">Other</a>
</ol>
<br>
@@ -31,8 +31,22 @@
<H2>1. Unix/X11 Compilation and Installation</H1>
-<a name="prereq">
-<h3>1.1 Prerequisites for DRI and hardware acceleration</h3>
+<a name="prereq-general">
+<h3>1.1 General prerequisites for building</h3>
+
+<ul>
+<li>lex / yacc - for building the GLSL compiler.
+On Linux systems, flex and bison are used.
+Versions 2.5.35 and 2.4.1, respectively, (or later) should work.
+</li>
+<li>python - Python is needed for building the Gallium components.
+Version 2.6.4 or later should work.
+</li>
+</ul>
+
+
+<a name="prereq-dri">
+<h3>1.2 Prerequisites for DRI and hardware acceleration</h3>
<p>
The following are required for DRI-based hardware acceleration with Mesa:
@@ -49,7 +63,7 @@ version 2.4.15 or later
<a name="autoconf">
-<h3>1.2 Building with Autoconf</h3>
+<h3>1.3 Building with Autoconf</h3>
<p>
Mesa may be <a href="autoconf.html">built using autoconf</a>.
@@ -59,7 +73,7 @@ If that fails the traditional Mesa build system is available.
<a name="traditional">
-<h3>1.3 Building with traditional Makefiles</h3>
+<h3>1.4 Building with traditional Makefiles</h3>
<p>
The traditional Mesa build system is based on a collection of pre-defined
@@ -126,7 +140,7 @@ Later, if you want to rebuild for a different configuration run
<a name="libs">
-<h3>1.4 The libraries</h3>
+<h3>1.5 The libraries</h3>
<p>
When compilation has finished, look in the top-level <code>lib/</code>
@@ -185,81 +199,11 @@ If you built the DRI hardware drivers, you'll also see the DRI drivers:
-rwxr-xr-x 1 brian users 10997120 Jul 21 12:13 unichrome_dri.so
</pre>
-
-<a name="demos">
-<h3>1.5 Running the demos</h3>
-
-<p>
-If you downloaded/unpacked the MesaDemos-x.y.z.tar.gz archive or
-obtained Mesa from CVS, the <b>progs/</b> directory will contain a
-bunch of demonstration programs.
-</p>
-
-<p>
-Before running a demo, you'll probably have to set two environment variables
-to indicate where the libraries are located. For example:
-<p>
-<blockquote>
-<b>cd lib/</b>
-<br>
-<b>export LD_LIBRARY_PATH=${PWD}</b>
-<br>
-<b>export LIBGL_DRIVERS_PATH=${PWD}</b> (if using DRI drivers)
-</blockquote>
-
<p>
-Next, change to the Mesa/demos/ directory:
+If you built with Gallium support, look in lib/gallium/ for Gallium-based
+versions of libGL and device drivers.
</p>
-<blockquote>
-<b>cd ../progs/demos</b>
-</blockquote>
-<p>
-Run a demo such as gears:
-</p>
-<blockquote>
-<b>./gears</b>
-</blockquote>
-
-<p>
-If this doesn't work, try the <b>Mesa/progs/xdemos/glxinfo</b> program
-and see that it prints the expected Mesa version number.
-</p>
-
-<p>
-If you're using Linux or a similar OS, verify that the demo program is
-being linked with the proper library files:
-</p>
-<blockquote>
-<b>ldd gears</b>
-</blockquote>
-
-<p>
-You should see something like this:
-</p>
-<pre>
- libglut.so.3 => /home/brian/Mesa/lib/libglut.so.3 (0x40013000)
- libGLU.so.1 => /home/brian/Mesa/lib/libGLU.so.1 (0x40051000)
- libGL.so.1 => /home/brian/Mesa/lib/libGL.so.1 (0x400e0000)
- libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
- libm.so.6 => /lib/i686/libm.so.6 (0x403da000)
- libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x403fc000)
- libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x404da000)
- libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404f1000)
- libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40543000)
- libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4054b000)
- libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x405fd000)
- libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40605000)
- libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40613000)
- /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
- libdl.so.2 => /lib/libdl.so.2 (0x40644000)
- libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40647000)
- libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40650000)
-</pre>
-
-<p>
-Retrace your steps if this doesn't look right.
-</p>
<a name="install">
diff --git a/docs/llvmpipe.html b/docs/llvmpipe.html
new file mode 100644
index 0000000..28d7411
--- /dev/null
+++ b/docs/llvmpipe.html
@@ -0,0 +1,204 @@
+<HTML>
+
+<TITLE>llvmpipe</TITLE>
+
+<link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<H1>Introduction</H1>
+
+<p>
+The Gallium llvmpipe driver is a software rasterizer that uses LLVM to
+do runtime code generation.
+Shaders, point/line/triangle rasterization and vertex processing are
+implemented with LLVM IR which is translated to x86 or x86-64 machine
+code.
+Also, the driver is multithreaded to take advantage of multiple CPU cores
+(up to 8 at this time).
+It's the fastest software rasterizer for Mesa.
+</p>
+
+
+<h1>Requirements</h1>
+
+<dl>
+<dt>An x86 or amd64 processor. 64-bit mode is preferred.</dt>
+<dd>
+ <p>
+ Support for sse2 is strongly encouraged. Support for ssse3, and sse4.1 will
+ yield the most efficient code. The less features the CPU has the more
+ likely is that you ran into underperforming, buggy, or incomplete code.
+ </p>
+ <p>
+ See /proc/cpuinfo to know what your CPU supports.
+ </p>
+</dd>
+<dt>LLVM. Version 2.8 recommended. 2.6 or later required.</dt>
+<dd>
+ <p>
+ <b>NOTE</b>: LLVM 2.8 and earlier will not work on systems that support the
+ Intel AVX extensions (e.g. Sandybridge). LLVM's code generator will
+ fail when trying to emit AVX instructions. This was fixed in LLVM 2.9.
+ </p>
+ <p>
+ For Linux, on a recent Debian based distribution do:
+ </p>
+<pre>
+ aptitude install llvm-dev
+</pre>
+ For a RPM-based distribution do:
+ </p>
+<pre>
+ yum install llvm-devel
+</pre>
+
+ <p>
+ For Windows download pre-built MSVC 9.0 or MinGW binaries from
+ http://people.freedesktop.org/~jrfonseca/llvm/ and set the LLVM environment
+ variable to the extracted path.
+ </p>
+
+ <p>
+ For MSVC there are two set of binaries: llvm-x.x-msvc32mt.7z and
+ llvm-x.x-msvc32mtd.7z .
+ </p>
+
+ <p>
+ You have to set the LLVM=/path/to/llvm-x.x-msvc32mtd env var when passing
+ debug=yes to scons, and LLVM=/path/to/llvm-x.x-msvc32mt when building with
+ debug=no. This is necessary as LLVM builds as static library so the chosen
+ MS CRT must match.
+ </p>
+</dd>
+
+<dt>scons (optional)</dt>
+</dl>
+
+
+
+<h1>Building</h1>
+
+To build everything on Linux invoke scons as:
+
+<pre>
+ scons build=debug libgl-xlib
+</pre>
+
+Alternatively, you can build it with GNU make, if you prefer, by invoking it as
+
+<pre>
+ make linux-llvm
+</pre>
+
+but the rest of these instructions assume that scons is used.
+
+For windows is everything the except except the winsys:
+
+<pre>
+ scons build=debug libgl-gdi
+</pre>
+
+
+<h1>Using</h1>
+
+On Linux, building will create a drop-in alternative for libGL.so into
+
+<pre>
+ build/foo/gallium/targets/libgl-xlib/libGL.so
+</pre>
+or
+<pre>
+ lib/gallium/libGL.so
+</pre>
+
+To use it set the LD_LIBRARY_PATH environment variable accordingly.
+
+For performance evaluation pass debug=no to scons, and use the corresponding
+lib directory without the "-debug" suffix.
+
+On Windows, building will create a drop-in alternative for opengl32.dll. To use
+it put it in the same directory as the application. It can also be used by
+replacing the native ICD driver, but it's quite an advanced usage, so if you
+need to ask, don't even try it.
+
+
+<h1>Profiling</h1>
+
+To profile llvmpipe you should pass the options
+
+<pre>
+ scons build=profile <same-as-before>
+</pre>
+
+This will ensure that frame pointers are used both in C and JIT functions, and
+that no tail call optimizations are done by gcc.
+
+To better profile JIT code you'll need to build LLVM with oprofile integration.
+
+<pre>
+ ./configure \
+ --prefix=$install_dir \
+ --enable-optimized \
+ --disable-profiling \
+ --enable-targets=host-only \
+ --with-oprofile
+
+ make -C "$build_dir"
+ make -C "$build_dir" install
+
+ find "$install_dir/lib" -iname '*.a' -print0 | xargs -0 strip --strip-debug
+</pre>
+
+The you should define
+
+<pre>
+ export LLVM=/path/to/llvm-2.6-profile
+</pre>
+
+and rebuild.
+
+
+<h1>Unit testing</h1>
+
+<p>
+Building will also create several unit tests in
+build/linux-???-debug/gallium/drivers/llvmpipe:
+</p>
+
+</ul>
+<li> lp_test_blend: blending
+<li> lp_test_conv: SIMD vector conversion
+<li> lp_test_format: pixel unpacking/packing
+</ul>
+
+<p>
+Some of this tests can output results and benchmarks to a tab-separated-file
+for posterior analysis, e.g.:
+</p>
+<pre>
+ build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_blend -o blend.tsv
+</pre>
+
+
+<h1>Development Notes</h1>
+
+<ul>
+<li>
+ When looking to this code by the first time start in lp_state_fs.c, and
+ then skim through the lp_bld_* functions called in there, and the comments
+ at the top of the lp_bld_*.c functions.
+</li>
+<li>
+ The driver-independent parts of the LLVM / Gallium code are found in
+ src/gallium/auxiliary/gallivm/. The filenames and function prefixes
+ need to be renamed from "lp_bld_" to something else though.
+</li>
+<li>
+ We use LLVM-C bindings for now. They are not documented, but follow the C++
+ interfaces very closely, and appear to be complete enough for code
+ generation. See
+ http://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html
+ for a stand-alone example. See the llvm-c/Core.h file for reference.
+</li>
+</ul>
diff --git a/docs/news.html b/docs/news.html
index 6a706ab..a6a658a 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -11,6 +11,13 @@
<H1>News</H1>
+<h2>April 6, 2011</h2>
+
+<p>
+<a href="relnotes-7.10.2.html">Mesa 7.10.2</a> is released. This is a bug
+fix release release.
+</p>
+
<h2>March 2, 2011</h2>
<p>
diff --git a/docs/patents.txt b/docs/patents.txt
new file mode 100644
index 0000000..3834e25
--- /dev/null
+++ b/docs/patents.txt
@@ -0,0 +1,31 @@
+ARB_texture_float:
+
+ Silicon Graphics, Inc. owns US Patent #6,650,327, issued November 18,
+ 2003 [1].
+
+ SGI believes this patent contains necessary IP for graphics systems
+ implementing floating point rasterization and floating point
+ framebuffer capabilities described in ARB_texture_float extension, and
+ will discuss licensing on RAND terms, on an individual basis with
+ companies wishing to use this IP in the context of conformant OpenGL
+ implementations [2].
+
+ The source code to implement ARB_texture_float extension is included
+ and can be toggled on at compile time, for those who purchased a
+ license from SGI, or are in a country where the patent does not apply,
+ etc.
+
+ The software is provided "as is", without warranty of any kind, express
+ or implied, including but not limited to the warranties of
+ merchantability, fitness for a particular purpose and noninfringement.
+ In no event shall the authors or copyright holders be liable for any
+ claim, damages or other liability, whether in an action of contract,
+ tort or otherwise, arising from, out of or in connection with the
+ software or the use or other dealings in the software.
+
+ You should contact a lawyer or SGI's legal department if you want to
+ enable this extension.
+
+
+[1] http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327
+[2] http://www.opengl.org/registry/specs/ARB/texture_float.txt
diff --git a/docs/relnotes-7.10.2.html b/docs/relnotes-7.10.2.html
new file mode 100644
index 0000000..55b6794
--- /dev/null
+++ b/docs/relnotes-7.10.2.html
@@ -0,0 +1,206 @@
+<HTML>
+
+<head>
+<TITLE>Mesa Release Notes</TITLE>
+<link rel="stylesheet" type="text/css" href="mesa.css">
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+</head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.10.2 Release Notes / April 6, 2011</H1>
+
+<p>
+Mesa 7.10.2 is a bug fix release which fixes bugs found since the 7.10 release.
+</p>
+<p>
+Mesa 7.10.2 implements the OpenGL 2.1 API, but the version reported by
+glGetString(GL_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 2.1.
+</p>
+<p>
+See the <a href="install.html">Compiling/Installing page</a> for prerequisites
+for DRI hardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+2f9f444265534a2cfd9a99d1a8291089 MesaLib-7.10.2.tar.gz
+f5de82852f1243f42cc004039e10b771 MesaLib-7.10.2.tar.bz2
+47836e37bab6fcafe3ac90c9544ba0e9 MesaLib-7.10.2.zip
+175120325828f313621cc5bc6c504803 MesaGLUT-7.10.2.tar.gz
+8c71d273f5f8d6c5eda4ffc39e0fe03e MesaGLUT-7.10.2.tar.bz2
+03036c8efe7b791a90fa0f2c41b43f43 MesaGLUT-7.10.2.zip
+</pre>
+
+
+<h2>New features</h2>
+<p>None.</p>
+
+<h2>Bug fixes</h2>
+<p>This list is likely incomplete.</p>
+<ul>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29172">Bug 29172</a> - Arrandale - Pill Popper Pops Pills</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31159">Bug 31159</a> - shadow problem in 0ad game</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32688">Bug 32688</a> - [RADEON:KMS:R300G] some games have a wireframe or outline visible</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32949">Bug 32949</a> - [glsl wine] Need for Speed renders incorrectly with GLSL enabled</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34203">Bug 34203</a> - [GLSL] fail to call long chains across shaders</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34376">Bug 34376</a> - [GLSL] allowing assignment to unsized array
+ <ul>
+ <li>The commit message incorrectly
+ lists <a href="https://bugs.freedesktop.org/show_bug.cgi?id=34367">bug
+ 34367</a>.</li>
+ </ul>
+</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34370">Bug 34370</a> - [GLSL] "i&lt;5 &amp;&amp; i&lt;4" in for loop fails</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34374">Bug 34374</a> - [GLSL] fail to redeclare an array using initializer</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35073">Bug 35073</a> - [GM45] Alpha test is broken when rendering to FBO with no color attachment</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35483">Bug 35483</a> - util_blit_pixels_writemask: crash in line 322 of src/gallium/auxiliary/util/u_blit.c</li>
+
+<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li> -->
+
+</ul>
+
+
+<h2>Changes</h2>
+<p>The full set of changes can be viewed by using the following GIT command:</p>
+
+<pre>
+ git log mesa-7.10.1..mesa-7.10.2
+</pre>
+
+<p><em>Note:</em> Reverted commits and the reverts are not included in this list.</p>
+
+<p>Alex Deucher (2):
+<ul>
+ <li>r600c: add new ontario pci ids</li>
+ <li>r600g: add some additional ontario pci ids</li>
+</ul></p>
+
+<p>Benjamin Franzke (1):
+<ul>
+ <li>st/dri: Fix surfaceless gl using contexts with previous bound surfaces</li>
+</ul></p>
+
+<p>Brian Paul (9):
+<ul>
+ <li>docs: pull 7.9.2 release notes into 7.10 branch</li>
+ <li>docs: update news.html with 7.10.1 and 7.9.2 releases</li>
+ <li>docs: fill in 7.10.1 release data</li>
+ <li>docs: add, fix release notes links</li>
+ <li>docs: update info about Mesa packaging/contents</li>
+ <li>docs: update prerequisites, remove old demo info</li>
+ <li>mesa: Guard against null pointer deref in fbo validation</li>
+ <li>st/mesa: Apply LOD bias from correct texture unit</li>
+ <li>glsl: silence warning in printf() with a cast</li>
+</ul></p>
+
+<p>Chad Versace (1):
+<ul>
+ <li>i965: Fix tex_swizzle when depth mode is GL_RED</li>
+</ul></p>
+
+<p>Dave Airlie (1):
+<ul>
+ <li>r600: don't close fd on failed load</li>
+</ul></p>
+
+<p>Eric Anholt (2):
+<ul>
+ <li>i965: Apply a workaround for the Ironlake "vertex flashing".</li>
+ <li>i965: Fix alpha testing when there is no color buffer in the FBO.</li>
+</ul></p>
+
+<p>Fabian Bieler (1):
+<ul>
+ <li>st/mesa: Apply LOD from texture object</li>
+</ul></p>
+
+<p>Henri Verbeet (1):
+<ul>
+ <li>st/mesa: Validate state before doing blits.</li>
+</ul></p>
+
+<p>Ian Romanick (13):
+<ul>
+ <li>docs: Add 7.10.1 md5sums</li>
+ <li>glsl: Refactor AST-to-HIR code handling variable initializers</li>
+ <li>glsl: Refactor AST-to-HIR code handling variable redeclarations</li>
+ <li>glsl: Process redeclarations before initializers</li>
+ <li>glsl: Function signatures cannot have NULL return type</li>
+ <li>glsl: Add several function / call related validations</li>
+ <li>linker: Add imported functions to the linked IR</li>
+ <li>glsl: Use insert_before for lists instead of open coding it</li>
+ <li>glsl: Only allow unsized array assignment in an initializer</li>
+ <li>glcpp: Refresh autogenerated lexer files</li>
+ <li>docs: Initial bits of 7.10.2 release notes</li>
+ <li>mesa: set version string to 7.10.2</li>
+ <li>mesa: Remove nonexistant files from _FILES lists</li>
+</ul></p>
+
+<p>Jerome Glisse (1):
+<ul>
+ <li>r600g: move user fence into base radeon structure</li>
+</ul></p>
+
+<p>José Fonseca (2):
+<ul>
+ <li>mesa: Fix typo glGet*v(GL_TEXTURE_COORD_ARRAY_*).</li>
+ <li>mesa: More glGet* fixes.</li>
+</ul></p>
+
+<p>Kenneth Graunke (4):
+<ul>
+ <li>glcpp: Rework lexer to use a SKIP state rather than REJECT.</li>
+ <li>glcpp: Remove trailing contexts from #if rules.</li>
+ <li>i965/fs: Fix linear gl_Color interpolation on pre-gen6 hardware.</li>
+ <li>glsl: Accept precision qualifiers on sampler types, but only in ES.</li>
+</ul></p>
+
+<p>Marek Olšák (15):
+<ul>
+ <li>st/mesa: fix crash when DrawBuffer-&gt;_ColorDrawBuffers[0] is NULL</li>
+ <li>st/mesa: fail to alloc a renderbuffer if st_choose_renderbuffer_format fails</li>
+ <li>r300/compiler: fix the saturate modifier when applied to TEX instructions</li>
+ <li>r300/compiler: fix translating the src negate bits in pair_translate</li>
+ <li>r300/compiler: Abs doesn't cancel Negate (in the conversion to native swizzles)</li>
+ <li>r300/compiler: TEX instructions don't support negation on source arguments</li>
+ <li>r300/compiler: do not set TEX_IGNORE_UNCOVERED on r500</li>
+ <li>r300/compiler: saturate Z before the shadow comparison</li>
+ <li>r300/compiler: fix equal and notequal shadow compare functions</li>
+ <li>r300/compiler: remove unused variables</li>
+ <li>st/mesa: fix crash when using both user and vbo buffers with the same stride</li>
+ <li>r300g: fix alpha-test with no colorbuffer</li>
+ <li>r300g: tell the GLSL compiler to lower the continue opcode</li>
+ <li>r300/compiler: propagate SaturateMode down to the result of shadow comparison</li>
+ <li>r300/compiler: apply the texture swizzle to shadow pass and fail values too</li>
+</ul></p>
+
+<p>Michel Dänzer (1):
+<ul>
+ <li>Use proper source row stride when getting depth/stencil texels.</li>
+</ul></p>
+
+<p>Tom Stellard (4):
+<ul>
+ <li>r300/compiler: Use a 4-bit writemask in pair instructions</li>
+ <li>prog_optimize: Fix reallocating registers for shaders with loops</li>
+ <li>r300/compiler: Fix vertex shader MAD instructions with constant swizzles</li>
+ <li>r300/compiler: Don't try to convert RGB to Alpha in full instructions</li>
+</ul></p>
+
+</body>
+</html>
diff --git a/docs/relnotes-7.11.html b/docs/relnotes-7.11.html
index 277339b..2bd126c 100644
--- a/docs/relnotes-7.11.html
+++ b/docs/relnotes-7.11.html
@@ -36,11 +36,22 @@ tbd
<h2>New features</h2>
<ul>
+<li>GL_ARB_color_buffer_float (gallium drivers, i965)
+<li>GL_ARB_draw_buffers_blend (gallium)
<li>GL_ARB_draw_instanced extension (gallium drivers, swrast)
<li>GL_ARB_instanced_arrays extension (gallium drivers)
-<li>GL_ARB_texture_compression_rgtc (gallium r600, swrast)
-<li>GL_ARB_draw_buffers_blend (gallium)
+<li>GL_ARB_occlusion_query2 (gallium drivers, swrast)
+<li>GL_ARB_sampler_objects (gallium drivers)
+<li>GL_ARB_texture_compression_rgtc (gallium drivers, swrast)
+<li>GL_ARB_texture_float (gallium, i965)
+<li>GL_EXT_texture_compression_latc (gallium drivers, swrast)
+<li>GL_EXT_texture_compression_rgtc (gallium drivers, swrast)
<li>GL_EXT_texture_sRGB_decode (gallium drivers, swrast, i965)
+<li>GL_EXT_texture_snorm (gallium drivers)
+<li>GL_ATI_draw_buffers (all drivers)
+<li>GL_ATI_texture_compression_3dc (gallium drivers, swrast)
+<li>GL_ATI_texture_float (gallium, i965)
+<li>GL_NV_texture_barrier (gallium drivers)
</ul>
diff --git a/docs/relnotes.html b/docs/relnotes.html
index b0ca3ef..c1a7ab7 100644
--- a/docs/relnotes.html
+++ b/docs/relnotes.html
@@ -14,6 +14,7 @@ The release notes summarize what's new or changed in each Mesa release.
<UL>
<LI><A HREF="relnotes-7.11.html">7.11 release notes</A>
+<LI><A HREF="relnotes-7.10.2.html">7.10.2 release notes</A>
<LI><A HREF="relnotes-7.10.1.html">7.10.1 release notes</A>
<LI><A HREF="relnotes-7.10.html">7.10 release notes</A>
<LI><A HREF="relnotes-7.9.2.html">7.9.2 release notes</A>