summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJulien Cristau <jcristau@debian.org>2009-01-10 20:30:41 +0100
committerJulien Cristau <jcristau@debian.org>2009-01-10 20:30:41 +0100
commit5359febc9bba59cce547ca7ac06637b253f45834 (patch)
tree0e676aaa4e34f1c28185e6b71e836dce210d4a08 /docs
parent5387880f1828bdfa921a0dc87bd387b382695b0e (diff)
parentf1455ca5f411ee8f7d992682e3e9c55d82e75715 (diff)
Merge tag 'mesa_7_3_rc1' into debian-experimental
Conflicts: progs/tests/Makefile progs/tests/floattex.c
Diffstat (limited to 'docs')
-rw-r--r--docs/cell.html72
-rw-r--r--docs/contents.html4
-rw-r--r--docs/download.html4
-rw-r--r--docs/install.html67
-rw-r--r--docs/news.html14
-rw-r--r--docs/relnotes-7.2.html104
-rw-r--r--docs/relnotes-7.3.html79
-rw-r--r--docs/relnotes.html2
-rw-r--r--docs/shading.html70
9 files changed, 325 insertions, 91 deletions
diff --git a/docs/cell.html b/docs/cell.html
index f9915d67e54..7fbbba7c7e0 100644
--- a/docs/cell.html
+++ b/docs/cell.html
@@ -6,7 +6,7 @@
<BODY>
-<H1>Mesa Cell Driver</H1>
+<H1>Mesa/Gallium Cell Driver</H1>
<p>
The Mesa
@@ -23,18 +23,19 @@ Two phases are planned.
First, to implement the framework for parallel rasterization using the Cell
SPEs, including texture mapping.
Second, to implement a full-featured OpenGL driver with support for GLSL, etc.
+The second phase is now underway.
</p>
<H2>Source Code</H2>
<p>
-The Cell driver source code is on the <code>gallium-0.1</code> branch of the
-git repository.
+The latest Cell driver source code is on the <code>gallium-0.2</code> branch
+of the Mesa git repository.
After you've cloned the repository, check out the branch with:
</p>
<pre>
- git-checkout -b gallium-0.1 origin/gallium-0.1
+ git-checkout -b gallium-0.2 origin/gallium-0.2
</pre>
<p>
To build the driver you'll need the IBM Cell SDK (version 2.1 or 3.0).
@@ -43,12 +44,13 @@ or the Cell Simulator (untested, though).
</p>
<p>
-If using Cell SDK 3.0, first edit configs/linux-cell and add
-<code>-DSPU_MAIN_PARAM_LONG_LONG</code> to the SPU_CFLAGS.
+If using Cell SDK 2.1, see the configs/linux-cell file for some
+special changes.
</p>
<p>
To compile the code, run <code>make linux-cell</code>.
+To build in debug mode, run <code>make linux-cell-debug</code>.
</p>
<p>
@@ -60,7 +62,7 @@ directory that contains <code>libGL.so</code>.
Verify that the Cell driver is being used by running <code>glxinfo</code>
and looking for:
<pre>
- OpenGL renderer string: Gallium 0.1, Cell on Xlib
+ OpenGL renderer string: Gallium 0.2, Cell on Xlib
</pre>
@@ -77,21 +79,61 @@ SPU local store as needed.
Similarly, textures are tiled and brought into local store as needed.
</p>
+
+<H2>Status</H2>
+
+<p>
+As of October 2008, the driver runs quite a few OpenGL demos.
+Features that work include:
+</p>
+<ul>
+<li>Point/line/triangle rendering, glDrawPixels
+<li>2D, NPOT and cube texture maps with nearest/linear/mipmap filtering
+<li>Dynamic SPU code generation for fragment shaders, but not complete
+<li>Dynamic SPU code generation for fragment ops (blend, Z-test, etc), but not complete
+<li>Dynamic PPU/PPC code generation for vertex shaders, but not complete
+</ul>
<p>
-More recently, vertex transformation has been parallelized across the SPUs
-as well.
+Performance has recently improved with the addition of PPC code generation
+for vertex shaders, but the code quality isn't too great yet.
+</p>
+<p>
+Another bottleneck is SwapBuffers. It may be the limiting factor for
+many simple GL tests.
</p>
-<H2>Status</H2>
+
+<H2>Debug Options</H2>
<p>
-As of February 2008 the driver supports smooth/flat shaded triangle rendering
-with Z testing and simple texture mapping.
-Simple demos like gears run successfully.
-To test texture mapping, try progs/demos/texcyl (press right mouse button for
-rendering options).
+The CELL_DEBUG env var can be set to a comma-separated list of one or
+more of the following debug options:
</p>
+<ul>
+<li><b>checker</b> - use a different background clear color for each SPU.
+ This lets you see which SPU is rendering which screen tiles.
+<li><b>sync</b> - wait/synchronize after each DMA transfer
+<li><b>asm</b> - print generated SPU assembly code to stdout
+<li><b>fragops</b> - emit fragment ops debug messages
+<li><b>fragopfallback</b> - don't use codegen for fragment ops
+<li><b>cmd</b> - print SPU commands as their received
+<li><b>cache</b> - print texture cache statistics when program exits
+</ul>
+<p>
+Note that some of these options may only work for linux-cell-debug builds.
+</p>
+
+<p>
+If the GALLIUM_NOPPC env var is set, PPC code generation will not be used
+and vertex shaders will be run with the TGSI interpreter.
+</p>
+<p>
+If the GALLIUM_NOCELL env var is set, the softpipe driver will be used
+intead of the Cell driver.
+This is useful for comparison/validation.
+</p>
+
<H2>Contributing</H2>
diff --git a/docs/contents.html b/docs/contents.html
index 257b13f68a7..b348d3d17f3 100644
--- a/docs/contents.html
+++ b/docs/contents.html
@@ -37,8 +37,8 @@ a:visited {
<b>Download / Install</b>
<ul>
-<li><a href="download.html" target="MainFrame">Downloading/Unpacking</a>
-<li><a href="install.html" target="MainFrame">Compilation/Installation</a>
+<li><a href="download.html" target="MainFrame">Downloading / Unpacking</a>
+<li><a href="install.html" target="MainFrame">Compiling / Installing</a>
<li><a href="glu.html" target="MainFrame">SGI's GLU</a>
<li><a href="precompiled.html" target="MainFrame">Precompiled Libraries</a>
</ul>
diff --git a/docs/download.html b/docs/download.html
index 2d587f35f9f..37b0b3da479 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -9,9 +9,9 @@
<H1>Downloading</H1>
<p>
-Current development release: <b>7.1</b>
+Current development release: <b>7.3</b>
<br>
-Last stable release: <b>7.0.4</b>
+Last stable release: <b>7.2</b>
</p>
<p>
diff --git a/docs/install.html b/docs/install.html
index 16ef013688a..be61ef30433 100644
--- a/docs/install.html
+++ b/docs/install.html
@@ -1,58 +1,73 @@
<HTML>
-<TITLE>Compilation and Installation</TITLE>
+<TITLE>Compiling and Installing</TITLE>
<link rel="stylesheet" type="text/css" href="mesa.css"></head>
<BODY>
-<H1>Compilation and Installation</H1>
+<H1>Compiling and Installing</H1>
<ol>
<li><a href="#unix-x11">Unix / X11</a>
+ <ul>
+ <li><a href="#prereq">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="#vms">VMS</a>
<li><a href="#other">Other</a>
</ol>
-
+<br>
<a name="unix-x11">
<H2>1. Unix/X11 Compilation and Installation</H1>
-<h3>1.1 Prerequisites for DRI and Hardware Acceleration</h3>
+<a name="prereq">
+<h3>1.1 Prerequisites for DRI and hardware acceleration</h3>
<p>
-To build Mesa 7.1 with DRI-based hardware acceleration you must first have
-the <a href="http://dri.freedesktop.org/libdrm/" target="_parent">DRM version 2.3.1</a>.
+The following are required for DRI-based hardware acceleration with Mesa 7.3:
</p>
-<p>
-You should also be using the Xorg server version 1.4 or 1.5.
+<ul>
+<li><a href="http://xorg.freedesktop.org/releases/individual/proto/">dri2proto</a> version 1.99.3 or later
+<li>Linux 2.6.28
+<li><a href="http://dri.freedesktop.org/libdrm/" target="_parent">libDRM</a>
+version 2.4.3 or later
+<li>Xorg server version 1.5 or later
+</ul>
</p>
-
-<h3>1.2 Autoconf Compilation</h3>
+<a name="autoconf">
+<h3>1.2 Building with Autoconf</h3>
<p>
Mesa may be <a href="autoconf.html">built using autoconf</a>.
This should work well on most GNU-based systems.
-When that fails, the traditional Mesa build system is available.
+If that fails the traditional Mesa build system is available.
-<h3>1.3 Traditional Compilation</h3>
+<a name="traditional">
+<h3>1.3 Building with traditional Makefiles</h3>
<p>
The traditional Mesa build system is based on a collection of pre-defined
system configurations.
</p>
<p>
-To see the list of configurations, type <b>make</b> alone.
-Then choose a configuration from the list and type <b>make configname</b>.
+To see the list of configurations, just type <code>make</code>.
+Then choose a configuration from the list and type <code>make</code>
+<em>configname</em>.
</p>
<p>
@@ -66,7 +81,7 @@ allow you to run OpenGL/GLX applications on any X server (regardless of
whether it supports the GLX X server extension).
You will <em>not</em> be able to use hardware 3D acceleration.
<p>
-To compile stand-alone Mesa type <b>make</b> in the top-level directory.
+To compile stand-alone Mesa type <code>make</code> in the top-level directory.
You'll see a list of supported system configurations.
Choose one from the list (such as linux-x86), and type:
</p>
@@ -109,6 +124,7 @@ Later, if you want to rebuild for a different configuration run
</p>
+<a name="libs">
<h3>1.4 The libraries</h3>
<p>
@@ -169,6 +185,7 @@ If you built the DRI hardware drivers, you'll also see the DRI drivers:
</pre>
+<a name="demos">
<h3>1.5 Running the demos</h3>
<p>
@@ -244,6 +261,7 @@ Retrace your steps if this doesn't look right.
</p>
+<a name="install">
<H3>1.6 Installing the header and library files</H3>
<p>
@@ -284,7 +302,8 @@ This is a handy way to compare multiple OpenGL implementations.
</p>
-<H3>1.7 Building OpenGL Programs With pkg-config</H3>
+<a name="pkg-config">
+<H3>1.7 Building OpenGL programs with pkg-config</H3>
<p>
Running <code>make install</code> will install package configuration files
@@ -314,25 +333,15 @@ Please see the <a href="README.WIN32">README.WIN32</a> file.
-
-<a name="vms">
-<H2>3. VMS Compilation and Installation</H1>
-
-<p>
-Please see the <a href="README.VMS">README.VMS</a> file.
-</p>
-
-
-
-
<a name="other">
-<H2>4. Other systems</H1>
+<H2>3. Other systems</H1>
<p>
Documentation for other environments (some may be very out of date):
</p>
<UL>
+<li><A HREF="README.VMS">README.VMS</A> - VMS
<LI><A HREF="README.GGI">README.GGI</A> - GGI
<LI><A HREF="README.3DFX">README.3DFX</A> - 3Dfx/Glide driver
<LI><A HREF="README.AMIWIN">README.AMIWIN</A> - Amiga Amiwin
diff --git a/docs/news.html b/docs/news.html
index 6d0d83659b8..784aea364a5 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -11,6 +11,20 @@
<H1>News</H1>
+<h2>January TBD, 2009</h2>
+<p>
+<a href="relnotes-7.3.html">Mesa 7.3</a> is released.
+This is a new development release.
+</p>
+
+
+<h2>September 20, 2008</h2>
+<p>
+<a href="relnotes-7.2.html">Mesa 7.2</a> is released.
+This is a stable, bug-fix release.
+</p>
+
+
<h2>August 26, 2008</h2>
<p>
<a href="relnotes-7.1.html">Mesa 7.1</a> is released.
diff --git a/docs/relnotes-7.2.html b/docs/relnotes-7.2.html
new file mode 100644
index 00000000000..0ad3b5b607a
--- /dev/null
+++ b/docs/relnotes-7.2.html
@@ -0,0 +1,104 @@
+<HTML>
+
+<TITLE>Mesa Release Notes</TITLE>
+
+<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.2 Release Notes / 20 September 2008</H1>
+
+<p>
+Mesa 7.2 is a stable release fixing bugs found in 7.1, which was a
+new development release.
+</p>
+<p>
+Mesa 7.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>
+Note that this version of Mesa does not use the GEM memory manager.
+The master branch of git uses GEM.
+The prototype DRI2 code that was in 7.1 has also been removed.
+</p>
+<p>
+DRM version 2.3.1 should be used with Mesa 7.2
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+81a2a4b7cbfce7553f7ad8d924edbe2f MesaLib-7.2.tar.gz
+04d379292e023df0b0266825cb0dbde5 MesaLib-7.2.tar.bz2
+8bc497a37977a55e987a4d1fabc3d882 MesaLib-7.2.zip
+10c762e39486df395838af1d7b57e69c MesaDemos-7.2.tar.gz
+22e03dc4038cd63f32c21eb60994892b MesaDemos-7.2.tar.bz2
+1197bc4eb3bf44e291c14d4eb2e19381 MesaDemos-7.2.zip
+42e3c6c6d156cd9dc545dbef72407354 MesaGLUT-7.2.tar.gz
+f67daf93e12c4a459703bbf3e4004e31 MesaGLUT-7.2.tar.bz2
+0390567eb2c2d12fbf82e8523fd77e2b MesaGLUT-7.2.zip
+</pre>
+
+
+<h2>New features</h2>
+<ul>
+<li>i965 driver: added support for G41 chipset (Intel)
+</ul>
+
+
+<h2>Bug fixes</h2>
+<ul>
+<li>Fixed display list bug involving primitives split across lists (bug 17564)
+<li>Fixed some issues with glBindAttribLocation()
+<li>Fixed crash in _tnl_InvalidateState() found with Amira (bug 15834)
+<li>Assorted bug fixes for Ming build
+<li>Fixed some vertex/pixel buffer object reference counting bugs
+<li>Fixed depth/stencil bug in i915/945 driver
+<li>Fixed some shader flow control bugs in i965 driver
+<li>Fixed a few tdfx driver bugs which prevented driver from working
+<li>Fixed multisample enable/disable bug
+</ul>
+
+<h2>Changes</h2>
+<ul>
+<li>Updated SGI header files with new license terms.
+</ul>
+
+
+
+<h2>To Do (someday) items</h2>
+<ul>
+<li>Remove the MEMCPY() and _mesa_memcpy() wrappers and just use memcpy().
+Probably do the same for malloc, calloc, etc.
+The wrappers were useful in the past for memory debugging but now we
+have valgrind. Not worried about SunOS 4 support anymore either...
+<li>Switch to freeglut
+<li>Fix linux-glide target/driver.
+<li>Improved lambda and derivative calculation for frag progs.
+</ul>
+
+
+<h2>Driver Status</h2>
+
+<pre>
+Driver Status
+---------------------- ----------------------
+DRI drivers varies with the driver
+XMesa/GLX (on Xlib) implements OpenGL 2.1
+OSMesa (off-screen) implements OpenGL 2.1
+Windows/Win32 implements OpenGL 2.1
+Glide (3dfx Voodoo1/2) implements OpenGL 1.3
+SVGA unsupported
+Wind River UGL unsupported
+DJGPP unsupported
+GGI unsupported
+BeOS unsupported
+Allegro unsupported
+D3D unsupported
+</pre>
+
+</body>
+</html>
diff --git a/docs/relnotes-7.3.html b/docs/relnotes-7.3.html
new file mode 100644
index 00000000000..c4866140115
--- /dev/null
+++ b/docs/relnotes-7.3.html
@@ -0,0 +1,79 @@
+<HTML>
+
+<TITLE>Mesa Release Notes</TITLE>
+
+<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.3 Release Notes / TBD January 2009</H1>
+
+<p>
+Mesa 7.3 is a new development release.
+Users especially concerned with stability should stick with latest
+stable release: version 7.2.
+</p>
+<p>
+Mesa 7.3 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 ardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+tbd
+</pre>
+
+
+<h2>New features</h2>
+<ul>
+<li>Support for GLSL 1.20
+<li>Intel DRI drivers now use GEM and DRI2
+</ul>
+
+
+<h2>Bug fixes</h2>
+<ul>
+<li>Assorted GLSL bug fixes
+<li>Assorted i965 driver fixes
+</ul>
+
+<h2>Changes</h2>
+<ul>
+<li>Deprecated the "XMesa" interface (include/GL/xmesa*.h files)
+<li>Deprecated the "FXMesa" interface (include/GL/fxmesa.h file)
+<li>Deprecated the "Allegro" interface (include/GL/amesa.h file)
+<li>Removed include/GL/uglmesa.h header
+<li>Removed include/GLView.h header for BeOS
+</ul>
+
+
+
+<h2>Driver Status</h2>
+
+<pre>
+Driver Status
+---------------------- ----------------------
+DRI drivers varies with the driver
+XMesa/GLX (on Xlib) implements OpenGL 2.1
+OSMesa (off-screen) implements OpenGL 2.1
+Windows/Win32 implements OpenGL 2.1
+Glide (3dfx Voodoo1/2) implements OpenGL 1.3
+SVGA unsupported
+Wind River UGL unsupported
+DJGPP unsupported
+GGI unsupported
+BeOS unsupported
+Allegro unsupported
+D3D unsupported
+</pre>
+
+</body>
+</html>
diff --git a/docs/relnotes.html b/docs/relnotes.html
index e3059771638..020e48551ec 100644
--- a/docs/relnotes.html
+++ b/docs/relnotes.html
@@ -20,6 +20,8 @@ The release notes summarize what's new or changed in each Mesa release.
</p>
<UL>
+<LI><A HREF="relnotes-7.3.html">7.3 release notes</A>
+<LI><A HREF="relnotes-7.2.html">7.2 release notes</A>
<LI><A HREF="relnotes-7.1.html">7.1 release notes</A>
<LI><A HREF="relnotes-7.0.4.html">7.0.4 release notes</A>
<LI><A HREF="relnotes-7.0.3.html">7.0.3 release notes</A>
diff --git a/docs/shading.html b/docs/shading.html
index 2cd17c76ac9..b77745fbf37 100644
--- a/docs/shading.html
+++ b/docs/shading.html
@@ -15,23 +15,46 @@ OpenGL Shading Language</a>.
</p>
<p>
-Last updated on 28 March 2007.
+Last updated on 15 December 2008.
</p>
<p>
Contents
</p>
<ul>
+<li><a href="#120">GLSL 1.20 support</a>
<li><a href="#unsup">Unsupported Features</a>
<li><a href="#notes">Implementation Notes</a>
<li><a href="#hints">Programming Hints</a>
<li><a href="#standalone">Stand-alone GLSL Compiler</a>
<li><a href="#implementation">Compiler Implementation</a>
<li><a href="#validation">Compiler Validation</a>
-<li><a href="#120">GLSL 1.20 support</a>
</ul>
+
+<a name="120">
+<h2>GLSL 1.20 support</h2>
+
+<p>
+GLSL version 1.20 is supported in Mesa 7.3.
+Among the features/differences of GLSL 1.20 are:
+<ul>
+<li><code>mat2x3, mat2x4</code>, etc. types and functions
+<li><code>transpose(), outerProduct(), matrixCompMult()</code> functions
+(but untested)
+<li>precision qualifiers (lowp, mediump, highp)
+<li><code>invariant</code> qualifier
+<li><code>array.length()</code> method
+<li><code>float[5] a;</code> array syntax
+<li><code>centroid</code> qualifier
+<li>unsized array constructors
+<li>initializers for uniforms
+<li>const initializers calling built-in functions
+</ul>
+
+
+
<a name="unsup">
<h2>Unsupported Features</h2>
@@ -41,15 +64,10 @@ in Mesa:
</p>
<ul>
-<li>Dereferencing arrays with non-constant indexes
-<li>Comparison of user-defined structs
<li>Linking of multiple shaders is not supported
<li>gl_ClipVertex
-<li>The derivative functions such as dFdx() are not implemented
-<li>The inverse trig functions asin(), acos(), and atan() are not implemented
<li>The gl_Color and gl_SecondaryColor varying vars are interpolated
without perspective correction
-<li>Floating point literal suffixes 'f' and 'F' aren't allowed.
</ul>
<p>
@@ -304,11 +322,11 @@ Extra NOP instructions will also be inserted.
<h2>Compiler Validation</h2>
<p>
-A new <a href="http://glean.sf.net" target="_parent">Glean</a> test has
+A <a href="http://glean.sf.net" target="_parent">Glean</a> test has
been create to exercise the GLSL compiler.
</p>
<p>
-The <em>glsl1</em> test runs over 150 sub-tests to check that the language
+The <em>glsl1</em> test runs over 170 sub-tests to check that the language
features and built-in functions work properly.
This test should be run frequently while working on the compiler to catch
regressions.
@@ -319,39 +337,5 @@ should be added.
</p>
-
-<a name="120">
-<h2>GLSL 1.20 support</h2>
-
-<p>
-Support for GLSL version 1.20 is underway. Status as follows.
-</p>
-
-<h3>Supported</h3>
-<ul>
-<li><code>mat2x3, mat2x4</code>, etc. types and functions
-<li><code>transpose(), outerProduct(), matrixCompMult()</code> functions
-(but untested)
-<li>precision qualifiers (lowp, mediump, highp)
-</ul>
-
-<h3>Partially Complete</h3>
-<ul>
-<li><code>invariant</code> qualifier
-</ul>
-
-<h3>Not Completed</h3>
-<ul>
-<li><code>array.length()</code> method
-<li><code>float[5] a;</code> array syntax
-<li><code>centroid</code> qualifier
-<li>unsized array constructors
-<li>initializers for uniforms
-<li>const initializers calling built-in functions
-</ul>
-
-
-
-
</BODY>
</HTML>