diff options
author | Thierry Reding <thierry@gilfi.de> | 2006-11-18 17:59:25 +0000 |
---|---|---|
committer | Thierry Reding <thierry@gilfi.de> | 2006-11-18 17:59:25 +0000 |
commit | bb44a8ae1f392d44b2f588c831101c865485bcfd (patch) | |
tree | 3c5e6aa649975c46d68c3f7745f6410ddac1f174 /docs | |
parent | b5a5062176ffae31566f55db4eee6099d15ccf1f (diff) |
Update to latest upstream release candidate.
Update patches.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/RELNOTES-6.4 | 50 | ||||
-rw-r--r-- | docs/RELNOTES-6.4.1 | 47 | ||||
-rw-r--r-- | docs/RELNOTES-6.4.2 | 47 | ||||
-rw-r--r-- | docs/RELNOTES-6.5 | 97 | ||||
-rw-r--r-- | docs/contents.html | 2 | ||||
-rw-r--r-- | docs/devinfo.html | 14 | ||||
-rw-r--r-- | docs/dispatch.html | 274 | ||||
-rw-r--r-- | docs/mangling.html | 8 | ||||
-rw-r--r-- | docs/news.html | 85 | ||||
-rw-r--r-- | docs/relnotes-6.4.1.html | 68 | ||||
-rw-r--r-- | docs/relnotes-6.4.2.html | 75 | ||||
-rw-r--r-- | docs/relnotes-6.4.html | 90 | ||||
-rw-r--r-- | docs/relnotes-6.5.1.html | 74 | ||||
-rw-r--r-- | docs/relnotes-6.5.2.html | 111 | ||||
-rw-r--r-- | docs/relnotes-6.5.html | 131 | ||||
-rw-r--r-- | docs/relnotes.html | 24 | ||||
-rw-r--r-- | docs/sourcedocs.html | 17 | ||||
-rw-r--r-- | docs/versions.html | 175 |
18 files changed, 878 insertions, 511 deletions
diff --git a/docs/RELNOTES-6.4 b/docs/RELNOTES-6.4 deleted file mode 100644 index a12600c3c83..00000000000 --- a/docs/RELNOTES-6.4 +++ /dev/null @@ -1,50 +0,0 @@ - - Mesa 6.4 Release Notes - - October 24, 2005 - - - -Introduction ------------- - -Mesa uses an even/odd version number scheme like the Linux kernel. -Odd numbered versions (such as 6.3) designate new developmental releases. -Even numbered versions (such as 6.4) designate stable releases. - - -6.4 is a bug-fix release. See the VERSIONS file for details. - - - -GLUT tarball ------------- - -Starting with 6.4, the GLUT library sources are distributed in a separate -tarball. This was done at the request of Linux distro vendors who prefer -to use freeglut. - - - - -Driver Status ----------------------- ---------------------- -DRI drivers varies with the driver -XMesa (Xlib) implements OpenGL 1.5 -OSMesa (off-screen) implements OpenGL 1.5 -Windows/Win32 implements OpenGL 1.5 -Glide (3dfx Voodoo1/2) requires updates -SVGA requires updates -DJGPP requires updates -GGI requires updates -BeOS requires updates -Allegro requires updates -D3D requires updates - -The drivers which require updates mostly need to be updated to work -with the new gl_renderbuffer / gl_framebuffer infrastructure introduced -in Mesa 6.3. - - ----------------------------------------------------------------------- -$Id: RELNOTES-6.4,v 3.1 2005/10/24 23:33:27 brianp Exp $ diff --git a/docs/RELNOTES-6.4.1 b/docs/RELNOTES-6.4.1 deleted file mode 100644 index 4a867e77825..00000000000 --- a/docs/RELNOTES-6.4.1 +++ /dev/null @@ -1,47 +0,0 @@ - - Mesa 6.4.1 Release Notes - - -Introduction ------------- - -Mesa uses an even/odd version number scheme like the Linux kernel. -Odd numbered versions (such as 6.3) designate new developmental releases. -Even numbered versions (such as 6.4) designate stable releases. - - -6.4.1 is a bug-fix release. See the VERSIONS file for details. - - - -GLUT tarball ------------- - -Starting with 6.4, the GLUT library sources are distributed in a separate -tarball. This was done at the request of Linux distro vendors who prefer -to use freeglut. - - - - -Driver Status ----------------------- ---------------------- -DRI drivers varies with the driver -XMesa (Xlib) implements OpenGL 1.5 -OSMesa (off-screen) implements OpenGL 1.5 -Windows/Win32 implements OpenGL 1.5 -Glide (3dfx Voodoo1/2) requires updates -SVGA requires updates -DJGPP requires updates -GGI requires updates -BeOS requires updates -Allegro requires updates -D3D requires updates - -The drivers which require updates mostly need to be updated to work -with the new gl_renderbuffer / gl_framebuffer infrastructure introduced -in Mesa 6.3. - - ----------------------------------------------------------------------- -$Id: RELNOTES-6.4.1,v 3.1 2006/02/03 17:21:54 brianp Exp $ diff --git a/docs/RELNOTES-6.4.2 b/docs/RELNOTES-6.4.2 deleted file mode 100644 index f9312157b1a..00000000000 --- a/docs/RELNOTES-6.4.2 +++ /dev/null @@ -1,47 +0,0 @@ - - Mesa 6.4.2 Release Notes - - -Introduction ------------- - -Mesa uses an even/odd version number scheme like the Linux kernel. -Odd numbered versions (such as 6.3) designate new developmental releases. -Even numbered versions (such as 6.4) designate stable releases. - - -6.4.2 is a minor bug-fix release. See the VERSIONS file for details. - - - -GLUT tarball ------------- - -Starting with 6.4, the GLUT library sources are distributed in a separate -tarball. This was done at the request of Linux distro vendors who prefer -to use freeglut. - - - - -Driver Status ----------------------- ---------------------- -DRI drivers varies with the driver -XMesa (Xlib) implements OpenGL 1.5 -OSMesa (off-screen) implements OpenGL 1.5 -Windows/Win32 implements OpenGL 1.5 -Glide (3dfx Voodoo1/2) requires updates -SVGA requires updates -DJGPP requires updates -GGI requires updates -BeOS requires updates -Allegro requires updates -D3D requires updates - -The drivers which require updates mostly need to be updated to work -with the new gl_renderbuffer / gl_framebuffer infrastructure introduced -in Mesa 6.3. - - ----------------------------------------------------------------------- -$Id: RELNOTES-6.4.2,v 3.1 2006/02/03 17:21:54 brianp Exp $ diff --git a/docs/RELNOTES-6.5 b/docs/RELNOTES-6.5 deleted file mode 100644 index f51b1bde386..00000000000 --- a/docs/RELNOTES-6.5 +++ /dev/null @@ -1,97 +0,0 @@ - - Mesa 6.5 Release Notes - - - -Introduction ------------- - -Mesa uses an even/odd version number scheme like the Linux kernel. -Odd numbered versions (such as 6.5) designate new developmental releases. -Even numbered versions (such as 6.4) designate stable releases. - - - -New Features ------------- - -OpenGL Shading language support - This includes the GL_ARB_shader_objects, GL_ARB_shading_language_100, - GL_ARB_vertex_shader and GL_ARB_fragment_shader extensions. Most of - the work was done by Michal Krol. - There's probably a fair number of bugs since this is a pretty large, - complicated body of code. - - The OpenGL 2.0 interface to these features will be implemented in a - future version of Mesa, - -GL_EXT_timer_query - Used to measure the time of OpenGL operations at high precision. - Only supported in the software/Xlib driver at this time. - -GL_EXT_packed_depth_stencil - Defines a new GL_DEPTH_STENCIL_EXT pixel format. - -GL_EXT_framebuffer_blit - A simplified glCopyPixels-like feature for copying pixel rectangles. - -GL_ARB_half_float_pixel - Adds a new half-precision floating point format for image transfers, - such as for glDrawPixels, glReadPixels, glTexImage, etc. - - - -Removed Extensions ------------------- - -The following extensions have been removed: - - GL_HP_occlusion_test - this is superceded by GL_ARB_occlusion_query. - - - -Known Issues ------------- - -Rendering to depth textures will not work. Rendering to GL_DEPTH_STENCIL -textures should work. - - - -Driver Interface Changes ------------------------- - -Stencil: The Driver.StencilOp/Func/Mask() functions have been replaced by -the two-sided versions: Driver.Stencil*Separate(). - -Render-to-texture: The functions for rendering to textures have changed. - - - -To Do (someday) items ---------------------- - Switch to freeglut - Increase MAX_DRAWBUFFERS - Fix linux-glide target/driver. - Fix lambda calculation for frag progs. - - - -Driver Status ----------------------- ---------------------- -DRI drivers varies with the driver -XMesa/GLX (on Xlib) implements OpenGL 1.5 -OSMesa (off-screen) implements OpenGL 1.5 -Glide (3dfx Voodoo1/2) implements OpenGL 1.3 -SVGA implements OpenGL 1.3 -Wind River UGL implements OpenGL 1.3 -Windows/Win32 implements OpenGL 1.5 -DJGPP implements OpenGL 1.5 -GGI implements OpenGL 1.3 -BeOS implements OpenGL 1.5 -Allegro needs updating -D3D needs updating - - ----------------------------------------------------------------------- -$Id: RELNOTES-6.5,v 3.4 2006/03/29 04:53:02 brianp Exp $ diff --git a/docs/contents.html b/docs/contents.html index 40cefa26e7a..9f09df97374 100644 --- a/docs/contents.html +++ b/docs/contents.html @@ -28,7 +28,6 @@ a:visited { <li><a href="systems.html" target="MainFrame">Platforms and Drivers</a> <li><a href="license.html" target="MainFrame">License & Copyright</a> <li><a href="faq.html" target="MainFrame">FAQ</a> -<li><a href="versions.html" target="MainFrame">Version History</a> <li><a href="relnotes.html" target="MainFrame">Release Notes</a> <li><a href="thanks.html" target="MainFrame">Acknowledgements</a> <li><a href="conform.html" target="MainFrame">Conformance Testing</a> @@ -74,6 +73,7 @@ a:visited { <li><a href="fbdev-dri.html" target="MainFrame">fbdev/DRI Environment</a> <li><a href="glfbdev-driver.html" target="MainFrame">glFBDev Driver</a> <LI><A HREF="custom.html" target="MainFrame">Custom Development</A> +<LI><A HREF="dispatch.html" target="MainFrame">GL Dispatch</A> </ul> <b>Links</b> diff --git a/docs/devinfo.html b/docs/devinfo.html index 4d4730be757..cce14d73a36 100644 --- a/docs/devinfo.html +++ b/docs/devinfo.html @@ -34,11 +34,15 @@ To add a new GL extension to Mesa you have to do at least the following. corresponding Python scripts. </li> <li> - Find an existing extension that's similar to the new one and search - the sources for code related to that extension. - Implement new code as needed. - In general, new state variables will be added to mtypes.h. If the - extension is rather large, try to implement it in a new source file. + Add a new entry to the <code>gl_extensions</code> struct in mtypes.h +</li> +<li> + Update the <code>extensions.c</code> file. +</li> +<li> + From this point, the best way to proceed is to find another extension, + similar to the new one, that's already implemented in Mesa and use it + as an example. </li> <li> If the new extension adds new GL state, the functions in get.c, enable.c diff --git a/docs/dispatch.html b/docs/dispatch.html new file mode 100644 index 00000000000..b9ea8822e60 --- /dev/null +++ b/docs/dispatch.html @@ -0,0 +1,274 @@ +<HTML> +<HEAD> +<TITLE>GL Dispatch in Mesa</TITLE> +<LINK REL="stylesheet" TYPE="text/css" HREF="mesa.css"> +</HEAD> + +<BODY> +<H1>GL Dispatch in Mesa</H1> + +<p>Several factors combine to make efficient dispatch of OpenGL functions +fairly complicated. This document attempts to explain some of the issues +and introduce the reader to Mesa's implementation. Readers already familiar +with the issues around GL dispatch can safely skip ahead to the <A +HREF="#overview">overview of Mesa's implementation</A>.</p> + +<H2>1. Complexity of GL Dispatch</H2> + +<p>Every GL application has at least one object called a GL <em>context</em>. +This object, which is an implicit parameter to ever GL function, stores all +of the GL related state for the application. Every texture, every buffer +object, every enable, and much, much more is stored in the context. Since +an application can have more than one context, the context to be used is +selected by a window-system dependent function such as +<tt>glXMakeContextCurrent</tt>.</p> + +<p>In environments that implement OpenGL with X-Windows using GLX, every GL +function, including the pointers returned by <tt>glXGetProcAddress</tt>, are +<em>context independent</em>. This means that no matter what context is +currently active, the same <tt>glVertex3fv</tt> function is used.</p> + +<p>This creates the first bit of dispatch complexity. An application can +have two GL contexts. One context is a direct rendering context where +function calls are routed directly to a driver loaded within the +application's address space. The other context is an indirect rendering +context where function calls are converted to GLX protocol and sent to a +server. The same <tt>glVertex3fv</tt> has to do the right thing depending +on which context is current.</p> + +<p>Highly optimized drivers or GLX protocol implementations may want to +change the behavior of GL functions depending on current state. For +example, <tt>glFogCoordf</tt> may operate differently depending on whether +or not fog is enabled.</p> + +<p>In multi-threaded environments, it is possible for each thread to have a +differnt GL context current. This means that poor old <tt>glVertex3fv</tt> +has to know which GL context is current in the thread where it is being +called.</p> + +<A NAME="overview"/> +<H2>2. Overview of Mesa's Implementation</H2> + +<p>Mesa uses two per-thread pointers. The first pointer stores the address +of the context current in the thread, and the second pointer stores the +address of the <em>dispatch table</em> associated with that context. The +dispatch table stores pointers to functions that actually implement +specific GL functions. Each time a new context is made current in a thread, +these pointers a updated.</p> + +<p>The implementation of functions such as <tt>glVertex3fv</tt> becomes +conceptually simple:</p> + +<ul> +<li>Fetch the current dispatch table pointer.</li> +<li>Fetch the pointer to the real <tt>glVertex3fv</tt> function from the +table.</li> +<li>Call the real function.</li> +</ul> + +<p>This can be implemented in just a few lines of C code. The file +<tt>src/mesa/glapi/glapitemp.h</tt> contains code very similar to this.</p> + +<blockquote> +<table border="1"> +<tr><td><pre> +void glVertex3f(GLfloat x, GLfloat y, GLfloat z) +{ + const struct _glapi_table * const dispatch = GET_DISPATCH(); + + (*dispatch->Vertex3f)(x, y, z); +}</pre></td></tr> +<tr><td>Sample dispatch function</td></tr></table> +</blockquote> + +<p>The problem with this simple implementation is the large amount of +overhead that it adds to every GL function call.</p> + +<p>In a multithreaded environment, a niave implementation of +<tt>GET_DISPATCH</tt> involves a call to <tt>pthread_getspecific</tt> or a +similar function. Mesa provides a wrapper function called +<tt>_glapi_get_dispatch</tt> that is used by default.</p> + +<H2>3. Optimizations</H2> + +<p>A number of optimizations have been made over the years to diminish the +performance hit imposed by GL dispatch. This section describes these +optimizations. The benefits of each optimization and the situations where +each can or cannot be used are listed.</p> + +<H3>3.1. Dual dispatch table pointers</H3> + +<p>The vast majority of OpenGL applications use the API in a single threaded +manner. That is, the application has only one thread that makes calls into +the GL. In these cases, not only do the calls to +<tt>pthread_getspecific</tt> hurt performance, but they are completely +unnecessary! It is possible to detect this common case and avoid these +calls.</p> + +<p>Each time a new dispatch table is set, Mesa examines and records the ID +of the executing thread. If the same thread ID is always seen, Mesa knows +that the application is, from OpenGL's point of view, single threaded.</p> + +<p>As long as an application is single threaded, Mesa stores a pointer to +the dispatch table in a global variable called <tt>_glapi_Dispatch</tt>. +The pointer is also stored in a per-thread location via +<tt>pthread_setspecific</tt>. When Mesa detects that an application has +become multithreaded, <tt>NULL</tt> is stored in <tt>_glapi_Dispatch</tt>.</p> + +<p>Using this simple mechanism the dispatch functions can detect the +multithreaded case by comparing <tt>_glapi_Dispatch</tt> to <tt>NULL</tt>. +The resulting implementation of <tt>GET_DISPATCH</tt> is slightly more +complex, but it avoids the expensive <tt>pthread_getspecific</tt> call in +the common case.</p> + +<blockquote> +<table border="1"> +<tr><td><pre> +#define GET_DISPATCH() \ + (_glapi_Dispatch != NULL) \ + ? _glapi_Dispatch : pthread_getspecific(&_glapi_Dispatch_key) +</pre></td></tr> +<tr><td>Improved <tt>GET_DISPATCH</tt> Implementation</td></tr></table> +</blockquote> + +<H3>3.2. ELF TLS</H3> + +<p>Starting with the 2.4.20 Linux kernel, each thread is allocated an area +of per-thread, global storage. Variables can be put in this area using some +extensions to GCC. By storing the dispatch table pointer in this area, the +expensive call to <tt>pthread_getspecific</tt> and the test of +<tt>_glapi_Dispatch</tt> can be avoided.</p> + +<p>The dispatch table pointer is stored in a new variable called +<tt>_glapi_tls_Dispatch</tt>. A new variable name is used so that a single +libGL can implement both interfaces. This allows the libGL to operate with +direct rendering drivers that use either interface. Once the pointer is +properly declared, <tt>GET_DISPACH</tt> becomes a simple variable +reference.</p> + +<blockquote> +<table border="1"> +<tr><td><pre> +extern __thread struct _glapi_table *_glapi_tls_Dispatch + __attribute__((tls_model("initial-exec"))); + +#define GET_DISPATCH() _glapi_tls_Dispatch +</pre></td></tr> +<tr><td>TLS <tt>GET_DISPATCH</tt> Implementation</td></tr></table> +</blockquote> + +<p>Use of this path is controlled by the preprocessor define +<tt>GLX_USE_TLS</tt>. Any platform capable of using TLS should use this as +the default dispatch method.</p> + +<H3>3.3. Assembly Language Dispatch Stubs</H3> + +<p>Many platforms has difficulty properly optimizing the tail-call in the +dispatch stubs. Platforms like x86 that pass parameters on the stack seem +to have even more difficulty optimizing these routines. All of the dispatch +routines are very short, and it is trivial to create optimal assembly +language versions. The amount of optimization provided by using assembly +stubs varies from platform to platform and application to application. +However, by using the assembly stubs, many platforms can use an additional +space optimization (see <A HREF="#fixedsize">below</A>).</p> + +<p>The biggest hurdle to creating assembly stubs is handling the various +ways that the dispatch table pointer can be accessed. There are four +different methods that can be used:</p> + +<ol> +<li>Using <tt>_glapi_Dispatch</tt> directly in builds for non-multithreaded +environments.</li> +<li>Using <tt>_glapi_Dispatch</tt> and <tt>_glapi_get_dispatch</tt> in +multithreaded environments.</li> +<li>Using <tt>_glapi_Dispatch</tt> and <tt>pthread_getspecific</tt> in +multithreaded environments.</li> +<li>Using <tt>_glapi_tls_Dispatch</tt> directly in TLS enabled +multithreaded environments.</li> +</ol> + +<p>People wishing to implement assembly stubs for new platforms should focus +on #4 if the new platform supports TLS. Otherwise, implement #2 followed by +#3. Environments that do not support multithreading are uncommon and not +terribly relevant.</p> + +<p>Selection of the dispatch table pointer access method is controlled by a +few preprocessor defines.</p> + +<ul> +<li>If <tt>GLX_USE_TLS</tt> is defined, method #4 is used.</li> +<li>If <tt>PTHREADS</tt> is defined, method #3 is used.</li> +<li>If any of <tt>PTHREADS</tt>, <tt>USE_XTHREADS</tt>, +<tt>SOLARIS_THREADS</tt>, <tt>WIN32_THREADS</tt>, or <tt>BEOS_THREADS</tt> +is defined, method #2 is used.</li> +<li>If none of the preceeding are defined, method #1 is used.</li> +</ul> + +<p>Two different techniques are used to handle the various different cases. +On x86 and SPARC, a macro called <tt>GL_STUB</tt> is used. In the preamble +of the assembly source file different implementations of the macro are +selected based on the defined preprocessor variables. The assmebly code +then consists of a series of invocations of the macros such as: + +<blockquote> +<table border="1"> +<tr><td><pre> +GL_STUB(Color3fv, _gloffset_Color3fv) +</pre></td></tr> +<tr><td>SPARC Assembly Implementation of <tt>glColor3fv</tt></td></tr></table> +</blockquote> + +<p>The benefit of this technique is that changes to the calling pattern +(i.e., addition of a new dispatch table pointer access method) require fewer +changed lines in the assembly code.</p> + +<p>However, this technique can only be used on platforms where the function +implementation does not change based on the parameters passed to the +function. For example, since x86 passes all parameters on the stack, no +additional code is needed to save and restore function parameters around a +call to <tt>pthread_getspecific</tt>. Since x86-64 passes parameters in +registers, varying amounts of code needs to be inserted around the call to +<tt>pthread_getspecific</tt> to save and restore the GL function's +parameters.</p> + +<p>The other technique, used by platforms like x86-64 that cannot use the +first technique, is to insert <tt>#ifdef</tt> within the assembly +implementation of each function. This makes the assembly file considerably +larger (e.g., 29,332 lines for <tt>glapi_x86-64.S</tt> versus 1,155 lines for +<tt>glapi_x86.S</tt>) and causes simple changes to the function +implementation to generate many lines of diffs. Since the assmebly files +are typically generated by scripts (see <A HREF="#autogen">below</A>), this +isn't a significant problem.</p> + +<p>Once a new assembly file is created, it must be inserted in the build +system. There are two steps to this. The file must first be added to +<tt>src/mesa/sources</tt>. That gets the file built and linked. The second +step is to add the correct <tt>#ifdef</tt> magic to +<tt>src/mesa/main/dispatch.c</tt> to prevent the C version of the dispatch +functions from being built.</p> + +<A NAME="fixedsize"/> +<H3>3.4. Fixed-Length Dispatch Stubs</H3> + +<p>To implement <tt>glXGetProcAddress</tt>, Mesa stores a table that +associates function names with pointers to those functions. This table is +stored in <tt>src/mesa/glapi/glprocs.h</tt>. For different reasons on +different platforms, storing all of those pointers is inefficient. On most +platforms, including all known platforms that support TLS, we can avoid this +added overhead.</p> + +<p>If the assembly stubs are all the same size, the pointer need not be +stored for every function. The location of the function can instead be +calculated by multiplying the size of the dispatch stub by the offset of the +function in the table. This value is then added to the address of the first +dispatch stub.</p> + +<p>This path is activated by adding the correct <tt>#ifdef</tt> magic to +<tt>src/mesa/glapi/glapi.c</tt> just before <tt>glprocs.h</tt> is +included.</p> + +<A NAME="autogen"/> +<H2>4. Automatic Generation of Dispatch Stubs</H2> + +</BODY> +</HTML> diff --git a/docs/mangling.html b/docs/mangling.html index cb19e7568a5..3f550ba5ec6 100644 --- a/docs/mangling.html +++ b/docs/mangling.html @@ -9,8 +9,8 @@ <H1>Function Name Mangling</H1> <p> -If you want to use Mesa and native OpenGL in the same application at -the same time you may find it useful to compile Mesa with +If you want to use both Mesa and another OpenGL library in the same +application at the same time you may find it useful to compile Mesa with <i>name mangling</i>. This results in all the Mesa functions being prefixed with <b>mgl</b> instead of <b>gl</b>. @@ -18,9 +18,7 @@ This results in all the Mesa functions being prefixed with <p> To do this, recompile Mesa with the compiler flag -DUSE_MGL_NAMESPACE. -Add the flag to the other compiler flags in Make-config (if using the -old-style build system) or in src/Makefile if using GNU autoconf/ -automake to build Mesa. +Add the flag to CFLAGS in the configuration file which you want to use. </p> diff --git a/docs/news.html b/docs/news.html index 0c77ad5d30f..9cd622fe227 100644 --- a/docs/news.html +++ b/docs/news.html @@ -13,100 +13,37 @@ <h2>September 15, 2006</h2> <p> -Mesa 6.5.1 has been released. This is a new development release. +<a href="relnotes-6.5.1.html">Mesa 6.5.1</a> has been released. +This is a new development release. </p> -<a href="versions.html#6.5.1">Changes in version 6.5.1</a> -<p> -The MD5 checksums are: -</p> -<pre> -TBD -</pre> <h2>March 31, 2006</h2> <p> -Mesa 6.5 has been released. This is a new development release. +<a href="relnotes-6.5.html">Mesa 6.5</a> has been released. +This is a new development release. </p> -<a href="versions.html#6.5">Changes in version 6.5</a> -<p> -The MD5 checksums are: -</p> -<pre> -657be3b92f6dabc78a67ed9cb8d67813 MesaLib-6.5.tar.gz -61beda590bfc5b4a12e979d5f2d70d7a MesaLib-6.5.tar.bz2 -19d48b872d579d4f91466060804a59ac MesaLib-6.5.zip -694ad3a7007010c7418a9c72d1cba5b7 MesaDemos-6.5.tar.gz -ab95b590dcd640726a2d89e62068c66e MesaDemos-6.5.tar.bz2 -b792c303fefd87294488e2b7eab976e5 MesaDemos-6.5.zip -ac1d585483617db0c91e5c15cb5ec3a3 MesaGLUT-6.5.tar.gz -59f0bf2b2ffb67fe23ee479f9b044f31 MesaGLUT-6.5.tar.bz2 -005decb2136718e22222ac1c4805cd15 MesaGLUT-6.5.zip -</pre> <h2>February 2, 2006</h2> <p> -Mesa 6.4.2 has been released. This is primarily a bug-fix release. -</p> -<a href="versions.html#6.4.2">Changes in version 6.4.2</a> -<p> -The MD5 checksums are: +<a href="relnotes-6.4.2.html">Mesa 6.4.2</a> has been released. +This is stable, bug-fix release. </p> -<pre> -cb0d745d520fa7c2bb9178058b763544 MesaLib-6.4.2.tar.gz -7674d2c603b5834259e4e5a820cefd5b MesaLib-6.4.2.tar.bz2 -d224e1325b33ff71a0f3893fc6b4d594 MesaLib-6.4.2.zip -d4b345d4588fc750cd3d34f3ac26673e MesaDemos-6.4.2.tar.gz -9cae1ab874af533ce356bd7dfe2e0bb0 MesaDemos-6.4.2.tar.bz2 -2da6e1d1245e441d27813595c6ba50de MesaDemos-6.4.2.zip -84427d18c3453f0ea52388eeba7169b5 MesaGLUT-6.4.2.tar.gz -b157ba8ad1ea63260cf5339132e7aac6 MesaGLUT-6.4.2.tar.bz2 -fe1523744fc05edc3811dfc6a1bf4181 MesaGLUT-6.4.2.zip -</pre> <h2>November 29, 2005</h2> <p> -Mesa 6.4.1 has been released. This is a stable, bug-fix release. +<a href="relnotes-6.4.1.html">Mesa 6.4.1</a> has been released. +This is stable, bug-fix release. </p> -<a href="versions.html#6.4.1">Changes in version 6.4.1</a> -<p> -The MD5 checksums are: -</p> -<pre> -698ceb574cf882b0226761f5913c0da9 MesaLib-6.4.1.tar.gz -ea148c828ec6f645526451db1b8556f1 MesaLib-6.4.1.tar.bz2 -42e93279468975ed2bf3111b8721e5d9 MesaLib-6.4.1.zip -e3b0d50807fd2bdcd1a95aaddd786f13 MesaDemos-6.4.1.tar.gz -99df1fdcb98d391666b476ca6f1dda8a MesaDemos-6.4.1.tar.bz2 -b999d2c6d92fb4b7740a3dbd889348e3 MesaDemos-6.4.1.zip -eadfe01fe5ddfb1eb8227dd567b31635 MesaGLUT-6.4.1.tar.gz -bd003bb4f981a4f91dee4c38644d4f3f MesaGLUT-6.4.1.tar.bz2 -71c401c037088bf688a88afdaeb3420f MesaGLUT-6.4.1.zip -</pre> - <h2>October 24, 2005</h2> <p> -Mesa 6.4 has been released. This is a stable, bug-fix release. -</p> -<a href="versions.html#6.4">Changes in version 6.4</a> -<p> -The MD5 checksums are: +<a href="relnotes-6.4.html">Mesa 6.4</a> has been released. +This is stable, bug-fix release. </p> -<pre> -1cce0c1eb4fd15e9dfe837a1ce0c9812 MesaLib-6.4.tar.gz -85a84e47a3f718f752f306b9e0954ef6 MesaLib-6.4.tar.bz2 -b976fea4f3ee06354c53f91b6e3f2ffc MesaLib-6.4.zip -d8734f2c69bcf7ef9f5ae454a85743ba MesaDemos-6.4.tar.gz -1a8c4d4fc699233f5fdb902b8753099e MesaDemos-6.4.tar.bz2 -607ab7c7a7de0cc5febbdde2bfa03098 MesaDemos-6.4.zip -3260156f66174322a092be0767962d34 MesaGLUT-6.4.tar.gz -0465d053f83775f44a12dec4050dfd78 MesaGLUT-6.4.tar.bz2 -02abfcdcdf72ba938ae00f6e3b70fbe0 MesaGLUT-6.4.zip -</pre> <h2>August 19, 2005</h2> @@ -1133,6 +1070,6 @@ source code</a>.</p> <hr> -$Id: news.html,v 3.30 2006/09/16 04:13:20 brianp Exp $ +$Id: news.html,v 3.32 2006/09/21 22:51:16 brianp Exp $ </body> </html> diff --git a/docs/relnotes-6.4.1.html b/docs/relnotes-6.4.1.html new file mode 100644 index 00000000000..3d6ff1c4fe4 --- /dev/null +++ b/docs/relnotes-6.4.1.html @@ -0,0 +1,68 @@ +<HTML> + +<TITLE>Mesa Release Notes</TITLE> + +<head><link rel="stylesheet" type="text/css" href="mesa.css"></head> + +<BODY> + +<body bgcolor="#eeeeee"> + +<H1>Mesa 6.4.1 / November 29, 2006</H1> + +<p> +Mesa 6.4.1 is a stable, bug-fix release. +</p> + + +<h2>MD5 checksums</h2> +<pre> +698ceb574cf882b0226761f5913c0da9 MesaLib-6.4.1.tar.gz +ea148c828ec6f645526451db1b8556f1 MesaLib-6.4.1.tar.bz2 +42e93279468975ed2bf3111b8721e5d9 MesaLib-6.4.1.zip +e3b0d50807fd2bdcd1a95aaddd786f13 MesaDemos-6.4.1.tar.gz +99df1fdcb98d391666b476ca6f1dda8a MesaDemos-6.4.1.tar.bz2 +b999d2c6d92fb4b7740a3dbd889348e3 MesaDemos-6.4.1.zip +eadfe01fe5ddfb1eb8227dd567b31635 MesaGLUT-6.4.1.tar.gz +bd003bb4f981a4f91dee4c38644d4f3f MesaGLUT-6.4.1.tar.bz2 +71c401c037088bf688a88afdaeb3420f MesaGLUT-6.4.1.zip +</pre> + + +<h2>Bug fixes</h2> +<ul> +<li>redefining a vertex program string didn't take effect in TNL module +<li>fixed occasional segfault upon vertex/fragment parsing error +<li>vertex program LIT instruction didn't handle 0^0=1 correctly +<li>fragment program fog option didn't work with glDrawPixels, glBitmap +<li>USE_MGL_NAMESPACE didn't work for x86-64 +<li>OSMesa demos were missing from previous release tarballs +<li>fixed problem with float->ushort conversion in glClear (bug 4992) +<li>popping of GL_EYE_PLANE texgen state was broken (bug 4996) +<li>popping of GL_SPOT_DIRECTION light state was broken (bug 5005) +<li>fixed occasional triangle color interpolation problem on VMS +<li>work around invalid free() call (bug 5131) +<li>fixed BSD X server compilation problem by including stdint.h +</ul> + + +<h2>Driver Status</h2> + +<pre> +Driver Status +---------------------- ---------------------- +DRI drivers varies with the driver +XMesa (Xlib) implements OpenGL 1.5 +OSMesa (off-screen) implements OpenGL 1.5 +Windows/Win32 implements OpenGL 1.5 +Glide (3dfx Voodoo1/2) requires updates +SVGA requires updates +DJGPP requires updates +GGI requires updates +BeOS requires updates +Allegro requires updates +D3D requires updates +</pre> + +</body> +</html> diff --git a/docs/relnotes-6.4.2.html b/docs/relnotes-6.4.2.html new file mode 100644 index 00000000000..f5a658f99b5 --- /dev/null +++ b/docs/relnotes-6.4.2.html @@ -0,0 +1,75 @@ +<HTML> + +<TITLE>Mesa Release Notes</TITLE> + +<head><link rel="stylesheet" type="text/css" href="mesa.css"></head> + +<BODY> + +<body bgcolor="#eeeeee"> + +<H1>Mesa 6.4.2 / February 2, 2006</H1> + +<p> +Mesa 6.4.2 is a stable, bug-fix release. +</p> + + +<h2>MD5 checksums</h2> +<pre> +cb0d745d520fa7c2bb9178058b763544 MesaLib-6.4.2.tar.gz +7674d2c603b5834259e4e5a820cefd5b MesaLib-6.4.2.tar.bz2 +d224e1325b33ff71a0f3893fc6b4d594 MesaLib-6.4.2.zip +d4b345d4588fc750cd3d34f3ac26673e MesaDemos-6.4.2.tar.gz +9cae1ab874af533ce356bd7dfe2e0bb0 MesaDemos-6.4.2.tar.bz2 +2da6e1d1245e441d27813595c6ba50de MesaDemos-6.4.2.zip +84427d18c3453f0ea52388eeba7169b5 MesaGLUT-6.4.2.tar.gz +b157ba8ad1ea63260cf5339132e7aac6 MesaGLUT-6.4.2.tar.bz2 +fe1523744fc05edc3811dfc6a1bf4181 MesaGLUT-6.4.2.zip +</pre> + + +<h2>New features</h2> +<ul> +<li>added OSMesaColorClamp() function/feature +<li>added wglGetExtensionStringARB() function +</ul> + +<h2>Changes</h2> +<ul> +<li>GLUT tarball +<br> +Starting with 6.4, the GLUT library sources are distributed in a separate +tarball. This was done at the request of Linux distro vendors who prefer +to use freeglut. +</ul> + +<h2>Bug fixes</h2> +<ul> +<li>fixed some problems when building on Windows +<li>GLw header files weren't installed by installmesa script (bug 5396) +<li>GL/glfbdev.h file was missing from tarballs +<li>fixed TNL initialization bug which could lead to crash (bug 5791) +</ul> + + +<h2>Driver Status</h2> + +<pre> +Driver Status +---------------------- ---------------------- +DRI drivers varies with the driver +XMesa (Xlib) implements OpenGL 1.5 +OSMesa (off-screen) implements OpenGL 1.5 +Windows/Win32 implements OpenGL 1.5 +Glide (3dfx Voodoo1/2) requires updates +SVGA requires updates +DJGPP requires updates +GGI requires updates +BeOS requires updates +Allegro requires updates +D3D requires updates +</pre> + +</body> +</html> diff --git a/docs/relnotes-6.4.html b/docs/relnotes-6.4.html new file mode 100644 index 00000000000..1fffa27f6f8 --- /dev/null +++ b/docs/relnotes-6.4.html @@ -0,0 +1,90 @@ +<HTML> + +<TITLE>Mesa Release Notes</TITLE> + +<head><link rel="stylesheet" type="text/css" href="mesa.css"></head> + +<BODY> + +<body bgcolor="#eeeeee"> + +<H1>Mesa 6.4 / October 24, 2005</H1> + +<p> +Mesa 6.4 is a stable, bug-fix release. +</p> + + +<h2>MD5 checksums</h2> +<pre> +1cce0c1eb4fd15e9dfe837a1ce0c9812 MesaLib-6.4.tar.gz +85a84e47a3f718f752f306b9e0954ef6 MesaLib-6.4.tar.bz2 +b976fea4f3ee06354c53f91b6e3f2ffc MesaLib-6.4.zip +d8734f2c69bcf7ef9f5ae454a85743ba MesaDemos-6.4.tar.gz +1a8c4d4fc699233f5fdb902b8753099e MesaDemos-6.4.tar.bz2 +607ab7c7a7de0cc5febbdde2bfa03098 MesaDemos-6.4.zip +3260156f66174322a092be0767962d34 MesaGLUT-6.4.tar.gz +0465d053f83775f44a12dec4050dfd78 MesaGLUT-6.4.tar.bz2 +02abfcdcdf72ba938ae00f6e3b70fbe0 MesaGLUT-6.4.zip +</pre> + + +<h2>New</h2> +<ul> +<li>Added a fast XOR line drawing function in Xlib driver +<li>Added support for GL_ARB_texture_mirrored_repeat to savage driver (supported only on Savage4 hardware). +</ul> + +<h2>Changes</h2> +<ul> +<li>Mesa now packaged in three parts: Library, Demos and GLUT +</ul> + +<h2>Bug fixes</h2> +<ul> +<li>GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig +<li>Some files were present multiple times in the 6.3.2 tarballs +<li>r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207) +<li>glxgears_fbconfig demo didn't work (bug 4237) +<li>fixed bug when bilinear sampling 2d textures with borders +<li>glXCreatePbuffer() could segfault instead of returning 0 (bug 4235) +<li>fixed undefined frexp and rand in X.org libGLcore.a (bug 4242) +<li>fixed a few problems with proxy color tables (bug 4270) +<li>fixed precision problem in Z clearing (bug 4395) +<li>glBitmap, glDraw/CopyPixels mistakenly generated selection hits +<li>fixed potential segfault caused by reading pixels outside + of renderbuffer bounds +<li>glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB +<li>fixed memory corruption bug involving software alpha buffers +<li>glReadPixels clipped by window bounds was sometimes broken +<li>glDraw/CopyPixels of stencil data ignored the stencil write mask +<li>glReadPixels from a texture bound to a framebuffer object didn't work +<li>glIsRender/FramebufferEXT weren't totally correct +<li>fixed a number of point size attenuation/fade bugs +<li>fixed glFogCoord bug 4729 +<li>GLX encoding for transpose matrix functions was broken +<li>fixed broken fragment program KIL and SWZ instructions +<li>fragment programs that wrote result.depth.z didn't work +</ul> + + +<h2>Driver Status</h2> + +<pre> +Driver Status +---------------------- ---------------------- +DRI drivers varies with the driver +XMesa (Xlib) implements OpenGL 1.5 +OSMesa (off-screen) implements OpenGL 1.5 +Windows/Win32 implements OpenGL 1.5 +Glide (3dfx Voodoo1/2) requires updates +SVGA requires updates +DJGPP requires updates +GGI requires updates +BeOS requires updates +Allegro requires updates +D3D requires updates +</pre> + +</body> +</html> diff --git a/docs/relnotes-6.5.1.html b/docs/relnotes-6.5.1.html index 0640e992bba..b053203f72a 100644 --- a/docs/relnotes-6.5.1.html +++ b/docs/relnotes-6.5.1.html @@ -8,17 +8,7 @@ <body bgcolor="#eeeeee"> -<H1>Mesa 6.5.1 Release Notes</H1> - - - -<H2>Introduction</H2> - -<p> -Mesa uses an even/odd version number scheme like the Linux kernel. -Odd numbered versions (such as 6.5) designate new developmental releases. -Even numbered versions (such as 6.4) designate stable releases. -</p> +<H1>Mesa 6.5.1 Release Notes / September 15, 2006</H1> <p> Mesa 6.5.1 is a 6.5 follow-on development release mostly consisting of @@ -26,8 +16,21 @@ Mesa 6.5.1 is a 6.5 follow-on development release mostly consisting of </p> -<h2>New Features</h2> +<h2>MD5 checksums</h2> +<pre> +d9a555297319bb932a3192952d53d073 MesaLib-6.5.1.tar.gz +c46f2c6646a270911b791dd8e1c2d977 MesaLib-6.5.1.tar.bz2 +939eaaff33322bfeafac784402b45f4f MesaLib-6.5.1.zip +9e4bbe83c007bfbaa67449a81cc3d36a MesaDemos-6.5.1.tar.gz +0f2794baf7a9d98b22caea9f78c6942d MesaDemos-6.5.1.tar.bz2 +14c77eab9cc7a265c331abf239927c1c MesaDemos-6.5.1.zip +c5f87c23aaf4eaf1bda0d007ea98366c MesaGLUT-6.5.1.tar.gz +2525642fe7f454e3e1a1aad01359b406 MesaGLUT-6.5.1.tar.bz2 +e33b165c22551e23b58ede8767378543 MesaGLUT-6.5.1.zip +</pre> + +<h2>New Features</h2> <ul> <li>Intel i965 "broadwater" DRI driver @@ -38,6 +41,53 @@ Mesa 6.5.1 is a 6.5 follow-on development release mostly consisting of <li>GL_EXT_gpu_program_parameters - addes a few new functions for setting multiple vertex/fragment program parameters with one call. +<li>"engine" demo +<li>updated fbdev driver and GLUT for fbdev (Sean D'Epagnier) +<li>many updates to the DRI drivers +</ul> + +<h2>Changes</h2> +<ul> +<li>The glVertexAttribARB functions no longer alias the conventional + vertex attributes. +<li>glxinfo program prints more info with -l option +<li>GL_FRAGMENT_PROGRAM_NV and GL_FRAGMENT_PROGRAM_ARB are now + compatible, in terms of glBindProgramARB() +<li>The GL_ARB_vertex_program attribute <code>vertex.weight</code> is now + accepted by the parser, even though the GL_ARB_vertex_blend and + GL_EXT_vertex_weighting extensions aren't supported. + Allows Warcraft to run. +</ul> + +<h2>Bug fixes</h2> +<ul> +<li>fixed broken texture border handling for depth textures (bug 6498) +<li>removed the test for duplicated framebuffer attachments, per + version 117 of the GL_EXT_framebuffer_object specification +<li>fixed a few render-to-texture bugs, including render to depth texture +<li>clipping of lines against user-defined clip planes was broken (6512) +<li>assembly language dispatch for SPARC was broken (bug 6484) +<li>assorted compilation fixes on various Unix platforms (Dan Schikore) +<li>glPopAttrib could restore an invalid value for GL_DRAW_BUFFER +<li>assorted minor fixes for 16 and 32 bit/channel modes +<li>fixed assorted bugs in texture compression paths +<li>fixed indirect rendering vertex array crashes (bug 6863) +<li>glDrawPixels GL_INDEX_OFFSET didn't always work +<li>fixed convolution memory leak (bug 7077) +<li>rectangular depth textures didn't work +<li>invalid mode to glBegin didn't generate an error (bug 7142) +<li>'normalized' parameter to glVertexAttribPointerARB didn't work +<li>disable bogus GLX_SGI_video_sync extension in xlib driver +<li>fixed R128 driver locking bug (Martijn van Oosterhout) +<li>using evaluators with vertex programs caused crashes (bug 7564) +<li>fragment.position wasn't set correctly for point/line primitives +<li>fixed parser bug for scalar sources for GL_NV_fragment_program +<li>max fragment program length was incorrectly 128, now 1024 +<li>writes to result.depth in fragment programs weren't clamped to [0,1] +<li>fixed potential dangling pointer bug in glBindProgram() +<li>fixed some memory leaks (and potential crashes) in Xlib driver +<li>fixed a number of build issues on HP-UX (Christopher Bell) +<li>accum buffer didn't work with OSMesa interface </ul> diff --git a/docs/relnotes-6.5.2.html b/docs/relnotes-6.5.2.html new file mode 100644 index 00000000000..1ba936413a8 --- /dev/null +++ b/docs/relnotes-6.5.2.html @@ -0,0 +1,111 @@ +<HTML> + +<TITLE>Mesa Release Notes</TITLE> + +<head><link rel="stylesheet" type="text/css" href="mesa.css"></head> + +<BODY> + +<body bgcolor="#eeeeee"> + +<H1>Mesa 6.5.2 Release Notes / (in progress)</H1> + +<p> +Mesa 6.5.2 is a 6.5 follow-on development release mostly consisting of +<a href="versions.html#6.5.1">bug fixes</a>. +</p> + + +<h2>MD5 checksums</h2> +<pre> +TBD +</pre> + + +<h2>New features</h2> +<ul> +<li>New DRI memory manager system. Currently used by the i915tex driver. +Other DRI drivers will be updated to use the new memory manager in coming +months. +<br> +To use the new driver you'll need the most recent DRM library and drivers +(version 2.2 or later) and a recent xf86-video-intel driver module from X.org. +<br> +New features resulting from this work include: +<ul> +<li>EXT_framebuffer_objects, render to texture +<li>ARB_pixel_buffer_objects +<li>Accelerated CopyTexSubimage, DrawPixels, ReadPixels, CopyPixels +<li>Accelerated texture uploads from pixel buffer objects +<li>Potentially texturing directly from the pixel buffer object (zero +copy texturing). +</ul> +<li>New Intel i965 DRI driver +<li>New <code>minstall</code> script to replace normal install program +<li>Faster fragment program execution in software +<li>Added (or fixed) support for <a href="http://www.opengl.org/registry/specs/SGI/make_current_read.txt"> + GLX_SGI_make_current_read</a> to the following drivers:</li> + <ul> + <li>radeon</li> + <li>savage</li> + <li>mga</li> + </ul> +</ul> + +<h2>Bug fixes</h2> +<ul> +<li>fixed invalid memory read while rendering textured points (bug 8320) +<li>fixed problems with freebsd-dri configuration (bug 8344) +<li>Mesa's fake glxGetCurrentContext() wasn't thread-aware +<li>OPTION NV_position_invariant didn't work in NV vertex programs +<li>glDrawPixels into a user-created framebuffer object could crash Xlib driver +<li>Line clipping was broken in some circumstances +<li>fragment.fogcoord register didn't always contain the correct value +<li>RGBA logicops didn't work reliably in some DRI drivers +<li>Fixed broken RGBA LogicOps in Intel DRI drivers +<li>Fixed some fragment program bugs in Intel i915 DRI driver +<li>Fixed glGetVertexAttribfvARB bug 8883 +<li>Implemented glGetUniform[fi]vARB() functions +</ul> + + +<h2>Internal code changes</h2> + +<ul> +<li>The device driver functions ResizeBuffers and GetBufferSize have been +decprecated. +<li>OpenGL 2.0 and 2.1 support is nearly done. We need to do quite a bit +more testing of the shading language functions. +</ul> + + +<h2>To Do (someday) items</h2> +<ul> +<li>Switch to freeglut +<li>Increase MAX_DRAWBUFFERS +<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 1.5 +OSMesa (off-screen) implements OpenGL 1.5 +Glide (3dfx Voodoo1/2) implements OpenGL 1.3 +SVGA implements OpenGL 1.3 +Wind River UGL implements OpenGL 1.3 +Windows/Win32 implements OpenGL 1.5 +DJGPP implements OpenGL 1.5 +GGI implements OpenGL 1.3 +BeOS implements OpenGL 1.5 +Allegro needs updating +D3D needs updating +</pre> + +</body> +</html> diff --git a/docs/relnotes-6.5.html b/docs/relnotes-6.5.html new file mode 100644 index 00000000000..9d1d6691e9d --- /dev/null +++ b/docs/relnotes-6.5.html @@ -0,0 +1,131 @@ +<HTML> + +<TITLE>Mesa Release Notes</TITLE> + +<head><link rel="stylesheet" type="text/css" href="mesa.css"></head> + +<BODY> + +<body bgcolor="#eeeeee"> + +<H1>Mesa 6.5 Release Notes / March 31, 2006</H1> + +<p> +Mesa 6.5 is a new development release. +</p> + + +<h2>MD5 checksums</h2> +<pre> +657be3b92f6dabc78a67ed9cb8d67813 MesaLib-6.5.tar.gz +61beda590bfc5b4a12e979d5f2d70d7a MesaLib-6.5.tar.bz2 +19d48b872d579d4f91466060804a59ac MesaLib-6.5.zip +694ad3a7007010c7418a9c72d1cba5b7 MesaDemos-6.5.tar.gz +ab95b590dcd640726a2d89e62068c66e MesaDemos-6.5.tar.bz2 +b792c303fefd87294488e2b7eab976e5 MesaDemos-6.5.zip +ac1d585483617db0c91e5c15cb5ec3a3 MesaGLUT-6.5.tar.gz +59f0bf2b2ffb67fe23ee479f9b044f31 MesaGLUT-6.5.tar.bz2 +005decb2136718e22222ac1c4805cd15 MesaGLUT-6.5.zip +</pre> + + + +<h2>New Features</h2> +<ul> +<li>OpenGL Shading language support +<br> + This includes the GL_ARB_shader_objects, GL_ARB_shading_language_100, + GL_ARB_vertex_shader and GL_ARB_fragment_shader extensions. Most of + the work was done by Michal Krol. + There's probably a fair number of bugs since this is a pretty large, + complicated body of code. +<br> + The OpenGL 2.0 interface to these features will be implemented in a + future version of Mesa, + +<li>GL_EXT_timer_query +<br> + Used to measure the time of OpenGL operations at high precision. + Only supported in the software/Xlib driver at this time. + +<li>GL_EXT_packed_depth_stencil +<br> + Defines a new GL_DEPTH_STENCIL_EXT pixel format. + +<li>GL_EXT_framebuffer_blit +<br> + A simplified glCopyPixels-like feature for copying pixel rectangles. + +<li>GL_ARB_half_float_pixel +<br> + Adds a new half-precision floating point format for image transfers, + such as for glDrawPixels, glReadPixels, glTexImage, etc. +</ul> + +<h2>Changes</h2> +<ul> +<li>removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead) +<li>removed GL_SGIX/SGIS_pixel_texture extensions +</ul> +<h2>Bug fixes</h2> +<ul> +<li>fixed glxcontextmodes.c datatype problem (bug 5835) +<li>fixed aix-gcc build/install bugs (bug 5874) +<li>fixed some bugs in texture env program generation +<li>glXCopyContext() didn't handle texture object bindings properly +<li>glXCopyContext() didn't copy all lighting state +<li>fixed FreeBSD config (Pedro Giffuni) +<li>fixed some minor framebuffer object bugs +<li>replaced dprintf() with _glu_printf() in GLU (bug 6244) +<li>fixed a number of thread safety bugs/regressions +<li>fixed a number of GLU tesselator bugs (John Shell, bug 6339) +<li>paletted texturing was broken w/ floating point palettes (K. Schultz) +<li>lots of assorted framebuffer object bug fixes +</ul> + + +<h2>Known Issues</h2> +<ul> +<li>Rendering to depth textures will not work. Rendering to GL_DEPTH_STENCIL +textures should work. +</ul> + + +<h2>Driver Interface Changes</h2> +<ul> +<li>Stencil: The Driver.StencilOp/Func/Mask() functions have been replaced by +the two-sided versions: Driver.Stencil*Separate(). +<li>Render-to-texture: The functions for rendering to textures have changed. +</ul> + + +<h2>To Do (someday) items</h2> +<ul> +<li>Switch to freeglut +<li>Increase MAX_DRAWBUFFERS +<li>Fix linux-glide target/driver. +<li>Fix lambda calculation for frag progs. +</ul> + + +<h2>Driver Status</h2> + +<pre> +Driver Status +---------------------- ---------------------- +DRI drivers varies with the driver +XMesa/GLX (on Xlib) implements OpenGL 1.5 +OSMesa (off-screen) implements OpenGL 1.5 +Glide (3dfx Voodoo1/2) implements OpenGL 1.3 +SVGA implements OpenGL 1.3 +Wind River UGL implements OpenGL 1.3 +Windows/Win32 implements OpenGL 1.5 +DJGPP implements OpenGL 1.5 +GGI implements OpenGL 1.3 +BeOS implements OpenGL 1.5 +Allegro needs updating +D3D needs updating +</pre> + +</body> +</html> diff --git a/docs/relnotes.html b/docs/relnotes.html index 7383f02098f..9165c9f1492 100644 --- a/docs/relnotes.html +++ b/docs/relnotes.html @@ -9,15 +9,31 @@ <H1>Release Notes</H1> <p> +Mesa uses an even/odd version number scheme like the Linux kernel. +Odd numbered versions (such as 6.5) designate new developmental releases. +Even numbered versions (such as 6.4) designate stable releases. +</p> + + +<p> The release notes summarize what's new or changed in each Mesa release. </p> <UL> +<LI><A HREF="relnotes-6.5.2.html">6.5.2 release notes</A> <LI><A HREF="relnotes-6.5.1.html">6.5.1 release notes</A> -<LI><A HREF="RELNOTES-6.5">RELNOTES-6.5</A> -<LI><A HREF="RELNOTES-6.4.2">RELNOTES-6.4.2</A> -<LI><A HREF="RELNOTES-6.4.1">RELNOTES-6.4.1</A> -<LI><A HREF="RELNOTES-6.4">RELNOTES-6.4</A> +<LI><A HREF="relnotes-6.5.html">6.5 release notes</A> +<LI><A HREF="relnotes-6.4.2.html">6.4.2 release notes</A> +<LI><A HREF="relnotes-6.4.1.html">6.4.1 release notes</A> +<LI><A HREF="relnotes-6.4.html">6.4 release notes</A> +</UL + +<p> +Versions of Mesa prior to 6.4 are summarized in the +<a href="versions.html">versions file</a> and the following release notes. +</p> + +<UL> <LI><A HREF="RELNOTES-6.3.2">RELNOTES-6.3.2</A> <LI><A HREF="RELNOTES-6.3">RELNOTES-6.3</A> <LI><A HREF="RELNOTES-6.2.1">RELNOTES-6.2.1</A> diff --git a/docs/sourcedocs.html b/docs/sourcedocs.html index a5248d988d7..90538af5cf0 100644 --- a/docs/sourcedocs.html +++ b/docs/sourcedocs.html @@ -11,11 +11,22 @@ <p> <A HREF="http://www.doxygen.org" target="_parent">Doxygen</A> is used to automatically -produce cross-referenced documentation from the Mesa sources. -This is not included in the normal Mesa distribution. -Download Mesa from CVS if interested. +produce cross-referenced documentation from the Mesa source code. +</p> + +<p> +The Doxygen configuration files and generated files are not included +in the normal Mesa distribution (they're very large). +To generate Doxygen documentation, download Mesa from CVS, change to +the <code>doxygen</code> directory and run <code>make</code>. </P> +<p> +For an example of Doxygen usage in Mesa, see a recent source file +such as <a href="http://webcvs.freedesktop.org/mesa/Mesa/src/mesa/main/bufferobj.c?view=markup" target="_parent">bufferobj.c</a>. +</p> + + <P> If you're reading this page from your local copy of Mesa, and have run the doxygen scripts, you can read the documentation diff --git a/docs/versions.html b/docs/versions.html index ad31a548dd3..84b40fd2158 100644 --- a/docs/versions.html +++ b/docs/versions.html @@ -8,6 +8,11 @@ <body bgcolor="#eeeeee"> +<B> +NOTE: Changes for Mesa 6.4 and later are documented in the corresponding +<a href="relnotes.html">release notes</a> file. +</B> + <H1>Mesa Version History</H1> @@ -1641,172 +1646,10 @@ Bug fixes: </ul> -<h2><a name="6.4">6.4 October 24, 2005</h2> -New: -<ul> -<li>Added a fast XOR line drawing function in Xlib driver -<li>Added support for GL_ARB_texture_mirrored_repeat to savage driver (supported only on Savage4 hardware). -</ul> -Changes: -<ul> -<li>Mesa now packaged in three parts: Library, Demos and GLUT -</ul> -Bug fixes: -<ul> -<li>GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig -<li>Some files were present multiple times in the 6.3.2 tarballs -<li>r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207) -<li>glxgears_fbconfig demo didn't work (bug 4237) -<li>fixed bug when bilinear sampling 2d textures with borders -<li>glXCreatePbuffer() could segfault instead of returning 0 (bug 4235) -<li>fixed undefined frexp and rand in X.org libGLcore.a (bug 4242) -<li>fixed a few problems with proxy color tables (bug 4270) -<li>fixed precision problem in Z clearing (bug 4395) -<li>glBitmap, glDraw/CopyPixels mistakenly generated selection hits -<li>fixed potential segfault caused by reading pixels outside - of renderbuffer bounds -<li>glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB -<li>fixed memory corruption bug involving software alpha buffers -<li>glReadPixels clipped by window bounds was sometimes broken -<li>glDraw/CopyPixels of stencil data ignored the stencil write mask -<li>glReadPixels from a texture bound to a framebuffer object didn't work -<li>glIsRender/FramebufferEXT weren't totally correct -<li>fixed a number of point size attenuation/fade bugs -<li>fixed glFogCoord bug 4729 -<li>GLX encoding for transpose matrix functions was broken -<li>fixed broken fragment program KIL and SWZ instructions -<li>fragment programs that wrote result.depth.z didn't work -</ul> - - -<h2><a name="6.4.1">6.4.1 November 30, 2005</h2> -Bug fixes: -<ul> -<li>redefining a vertex program string didn't take effect in TNL module -<li>fixed occasional segfault upon vertex/fragment parsing error -<li>vertex program LIT instruction didn't handle 0^0=1 correctly -<li>fragment program fog option didn't work with glDrawPixels, glBitmap -<li>USE_MGL_NAMESPACE didn't work for x86-64 -<li>OSMesa demos were missing from previous release tarballs -<li>fixed problem with float->ushort conversion in glClear (bug 4992) -<li>popping of GL_EYE_PLANE texgen state was broken (bug 4996) -<li>popping of GL_SPOT_DIRECTION light state was broken (bug 5005) -<li>fixed occasional triangle color interpolation problem on VMS -<li>work around invalid free() call (bug 5131) -<li>fixed BSD X server compilation problem by including stdint.h -</ul> - - -<h2><a name="6.4.2">6.4.2 February 2, 2006</h2> -New: -<ul> -<li>added OSMesaColorClamp() function/feature -<li>added wglGetExtensionStringARB() function -</ul> -Bug fixes: -<ul> -<li>fixed some problems when building on Windows -<li>GLw header files weren't installed by installmesa script (bug 5396) -<li>GL/glfbdev.h file was missing from tarballs -<li>fixed TNL initialization bug which could lead to crash (bug 5791) -</ul> - - -<h2><a name="6.5">6.5 March 31, 2006</h2> -New: -<ul> -<li>OpenGL Shading Language support through GL_ARB_shader_objects, - GL_ARB_shading_language_100, GL_ARB_vertex_shader and - GL_ARB_fragment_shader (done by Michal Krol) -<li>GL_EXT_packed_depth_stencil extension -<li>GL_EXT_timer_query extension -<li>GL_EXT_framebuffer_blit extension -<li>GL_ARB_half_float_pixel -<li>reflect demo improved to support multiple windows -<li>singlebuffer demo (shows no/little-flicker single-buffered rendering) -<li>r200: enable GL_ARB_texture_env_crossbar, separate the texture - sampling unit bits from the texture env combine enable bits -<li>r200: add support for GL_ATI_fragment_shader -<li>added fast XOR-mode line drawing optimization -<li>radeon: add support for all 3 tmus, GL_ARB_texture_cube_map - and GL_EXT_fog_coord -<li>MESA_GLX_ALPHA_BITS env var for xlib driver -<li>many DRI driver updates (including screen rotation support - for the Intel DRI driver) -</ul> -Changes: -<ul> -<li>removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead) -<li>removed GL_SGIX/SGIS_pixel_texture extensions -</ul> -Bug fixes: -<ul> -<li>fixed glxcontextmodes.c datatype problem (bug 5835) -<li>fixed aix-gcc build/install bugs (bug 5874) -<li>fixed some bugs in texture env program generation -<li>glXCopyContext() didn't handle texture object bindings properly -<li>glXCopyContext() didn't copy all lighting state -<li>fixed FreeBSD config (Pedro Giffuni) -<li>fixed some minor framebuffer object bugs -<li>replaced dprintf() with _glu_printf() in GLU (bug 6244) -<li>fixed a number of thread safety bugs/regressions -<li>fixed a number of GLU tesselator bugs (John Shell, bug 6339) -<li>paletted texturing was broken w/ floating point palettes (K. Schultz) -<li>lots of assorted framebuffer object bug fixes -</ul> - - -<h2><a name="6.5.1">6.5.1 September 15, 2006</h2> -New: -<ul> -<li>Intel i965 DRI driver -<li>GL_APPLE_vertex_array_object extension (Ian Romanick) -<li>GL_EXT_texture_sRGB extension -<li>GL_EXT_gpu_program_parameters (Ian Romanick) -<li>"engine" demo -<li>updated fbdev driver and GLUT for fbdev (Sean D'Epagnier) -<li>many updates to the DRI drivers -</ul> -Changes: -<ul> -<li>The glVertexAttribARB functions no longer alias the conventional - vertex attributes. -<li>glxinfo program prints more info with -l option -<li>GL_FRAGMENT_PROGRAM_NV and GL_FRAGMENT_PROGRAM_ARB are now - compatible, in terms of glBindProgramARB() -<li>The GL_ARB_vertex_program attribute <code>vertex.weight</code> is now - accepted by the parser, even though the GL_ARB_vertex_blend and - GL_EXT_vertex_weighting extensions aren't supported. - Allows Warcraft to run. -</ul> -Bug fixes: -<ul> -<li>fixed broken texture border handling for depth textures (bug 6498) -<li>removed the test for duplicated framebuffer attachments, per - version 117 of the GL_EXT_framebuffer_object specification -<li>fixed a few render-to-texture bugs, including render to depth texture -<li>clipping of lines against user-defined clip planes was broken (6512) -<li>assembly language dispatch for SPARC was broken (bug 6484) -<li>assorted compilation fixes on various Unix platforms (Dan Schikore) -<li>glPopAttrib could restore an invalid value for GL_DRAW_BUFFER -<li>assorted minor fixes for 16 and 32 bit/channel modes -<li>fixed assorted bugs in texture compression paths -<li>fixed indirect rendering vertex array crashes (bug 6863) -<li>glDrawPixels GL_INDEX_OFFSET didn't always work -<li>fixed convolution memory leak (bug 7077) -<li>rectangular depth textures didn't work -<li>invalid mode to glBegin didn't generate an error (bug 7142) -<li>'normalized' parameter to glVertexAttribPointerARB didn't work -<li>disable bogus GLX_SGI_video_sync extension in xlib driver -<li>fixed R128 driver locking bug (Martijn van Oosterhout) -<li>using evaluators with vertex programs caused crashes (bug 7564) -<li>fragment.position wasn't set correctly for point/line primitives -<li>fixed parser bug for scalar sources for GL_NV_fragment_program -<li>max fragment program length was incorrectly 128, now 1024 -<li>writes to result.depth in fragment programs weren't clamped to [0,1] -<li>fixed potential dangling pointer bug in glBindProgram() -<li>fixed some memory leaks (and potential crashes) in Xlib driver -</ul> +<B> +NOTE: Changes for Mesa 6.4 and later are documented in the corresponding +<a href="relnotes.html">release notes</a> file. +</B> </body> |