diff options
author | Julien Cristau <jcristau@debian.org> | 2009-01-10 20:30:41 +0100 |
---|---|---|
committer | Julien Cristau <jcristau@debian.org> | 2009-01-10 20:30:41 +0100 |
commit | 5359febc9bba59cce547ca7ac06637b253f45834 (patch) | |
tree | 0e676aaa4e34f1c28185e6b71e836dce210d4a08 /docs | |
parent | 5387880f1828bdfa921a0dc87bd387b382695b0e (diff) | |
parent | f1455ca5f411ee8f7d992682e3e9c55d82e75715 (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.html | 72 | ||||
-rw-r--r-- | docs/contents.html | 4 | ||||
-rw-r--r-- | docs/download.html | 4 | ||||
-rw-r--r-- | docs/install.html | 67 | ||||
-rw-r--r-- | docs/news.html | 14 | ||||
-rw-r--r-- | docs/relnotes-7.2.html | 104 | ||||
-rw-r--r-- | docs/relnotes-7.3.html | 79 | ||||
-rw-r--r-- | docs/relnotes.html | 2 | ||||
-rw-r--r-- | docs/shading.html | 70 |
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> |