From bb44a8ae1f392d44b2f588c831101c865485bcfd Mon Sep 17 00:00:00 2001 From: Thierry Reding Date: Sat, 18 Nov 2006 17:59:25 +0000 Subject: Update to latest upstream release candidate. Update patches. --- docs/RELNOTES-6.4 | 50 --------- docs/RELNOTES-6.4.1 | 47 -------- docs/RELNOTES-6.4.2 | 47 -------- docs/RELNOTES-6.5 | 97 ----------------- docs/contents.html | 2 +- docs/devinfo.html | 14 ++- docs/dispatch.html | 274 +++++++++++++++++++++++++++++++++++++++++++++++ docs/mangling.html | 8 +- docs/news.html | 85 ++------------- docs/relnotes-6.4.1.html | 68 ++++++++++++ docs/relnotes-6.4.2.html | 75 +++++++++++++ docs/relnotes-6.4.html | 90 ++++++++++++++++ docs/relnotes-6.5.1.html | 74 ++++++++++--- docs/relnotes-6.5.2.html | 111 +++++++++++++++++++ docs/relnotes-6.5.html | 131 ++++++++++++++++++++++ docs/relnotes.html | 24 ++++- docs/sourcedocs.html | 17 ++- docs/versions.html | 175 ++---------------------------- 18 files changed, 878 insertions(+), 511 deletions(-) delete mode 100644 docs/RELNOTES-6.4 delete mode 100644 docs/RELNOTES-6.4.1 delete mode 100644 docs/RELNOTES-6.4.2 delete mode 100644 docs/RELNOTES-6.5 create mode 100644 docs/dispatch.html create mode 100644 docs/relnotes-6.4.1.html create mode 100644 docs/relnotes-6.4.2.html create mode 100644 docs/relnotes-6.4.html create mode 100644 docs/relnotes-6.5.2.html create mode 100644 docs/relnotes-6.5.html (limited to 'docs') 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 {
  • Platforms and Drivers
  • License & Copyright
  • FAQ -
  • Version History
  • Release Notes
  • Acknowledgements
  • Conformance Testing @@ -74,6 +73,7 @@ a:visited {
  • fbdev/DRI Environment
  • glFBDev Driver
  • Custom Development +
  • GL Dispatch Links 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.
  • - 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 gl_extensions struct in mtypes.h +
  • +
  • + Update the extensions.c file. +
  • +
  • + 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.
  • 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 @@ + + +GL Dispatch in Mesa + + + + +

    GL Dispatch in Mesa

    + +

    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 overview of Mesa's implementation.

    + +

    1. Complexity of GL Dispatch

    + +

    Every GL application has at least one object called a GL context. +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 +glXMakeContextCurrent.

    + +

    In environments that implement OpenGL with X-Windows using GLX, every GL +function, including the pointers returned by glXGetProcAddress, are +context independent. This means that no matter what context is +currently active, the same glVertex3fv function is used.

    + +

    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 glVertex3fv has to do the right thing depending +on which context is current.

    + +

    Highly optimized drivers or GLX protocol implementations may want to +change the behavior of GL functions depending on current state. For +example, glFogCoordf may operate differently depending on whether +or not fog is enabled.

    + +

    In multi-threaded environments, it is possible for each thread to have a +differnt GL context current. This means that poor old glVertex3fv +has to know which GL context is current in the thread where it is being +called.

    + + +

    2. Overview of Mesa's Implementation

    + +

    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 dispatch table 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.

    + +

    The implementation of functions such as glVertex3fv becomes +conceptually simple:

    + +
      +
    • Fetch the current dispatch table pointer.
    • +
    • Fetch the pointer to the real glVertex3fv function from the +table.
    • +
    • Call the real function.
    • +
    + +

    This can be implemented in just a few lines of C code. The file +src/mesa/glapi/glapitemp.h contains code very similar to this.

    + +
    + + +
    +void glVertex3f(GLfloat x, GLfloat y, GLfloat z)
    +{
    +    const struct _glapi_table * const dispatch = GET_DISPATCH();
    +    
    +    (*dispatch->Vertex3f)(x, y, z);
    +}
    Sample dispatch function
    +
    + +

    The problem with this simple implementation is the large amount of +overhead that it adds to every GL function call.

    + +

    In a multithreaded environment, a niave implementation of +GET_DISPATCH involves a call to pthread_getspecific or a +similar function. Mesa provides a wrapper function called +_glapi_get_dispatch that is used by default.

    + +

    3. Optimizations

    + +

    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.

    + +

    3.1. Dual dispatch table pointers

    + +

    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 +pthread_getspecific hurt performance, but they are completely +unnecessary! It is possible to detect this common case and avoid these +calls.

    + +

    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.

    + +

    As long as an application is single threaded, Mesa stores a pointer to +the dispatch table in a global variable called _glapi_Dispatch. +The pointer is also stored in a per-thread location via +pthread_setspecific. When Mesa detects that an application has +become multithreaded, NULL is stored in _glapi_Dispatch.

    + +

    Using this simple mechanism the dispatch functions can detect the +multithreaded case by comparing _glapi_Dispatch to NULL. +The resulting implementation of GET_DISPATCH is slightly more +complex, but it avoids the expensive pthread_getspecific call in +the common case.

    + +
    + + +
    +#define GET_DISPATCH() \
    +    (_glapi_Dispatch != NULL) \
    +        ? _glapi_Dispatch : pthread_getspecific(&_glapi_Dispatch_key)
    +
    Improved GET_DISPATCH Implementation
    +
    + +

    3.2. ELF TLS

    + +

    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 pthread_getspecific and the test of +_glapi_Dispatch can be avoided.

    + +

    The dispatch table pointer is stored in a new variable called +_glapi_tls_Dispatch. 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, GET_DISPACH becomes a simple variable +reference.

    + +
    + + +
    +extern __thread struct _glapi_table *_glapi_tls_Dispatch
    +    __attribute__((tls_model("initial-exec")));
    +
    +#define GET_DISPATCH() _glapi_tls_Dispatch
    +
    TLS GET_DISPATCH Implementation
    +
    + +

    Use of this path is controlled by the preprocessor define +GLX_USE_TLS. Any platform capable of using TLS should use this as +the default dispatch method.

    + +

    3.3. Assembly Language Dispatch Stubs

    + +

    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 below).

    + +

    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:

    + +
      +
    1. Using _glapi_Dispatch directly in builds for non-multithreaded +environments.
    2. +
    3. Using _glapi_Dispatch and _glapi_get_dispatch in +multithreaded environments.
    4. +
    5. Using _glapi_Dispatch and pthread_getspecific in +multithreaded environments.
    6. +
    7. Using _glapi_tls_Dispatch directly in TLS enabled +multithreaded environments.
    8. +
    + +

    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.

    + +

    Selection of the dispatch table pointer access method is controlled by a +few preprocessor defines.

    + + + +

    Two different techniques are used to handle the various different cases. +On x86 and SPARC, a macro called GL_STUB 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: + +

    + + +
    +GL_STUB(Color3fv, _gloffset_Color3fv)
    +
    SPARC Assembly Implementation of glColor3fv
    +
    + +

    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.

    + +

    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 pthread_getspecific. Since x86-64 passes parameters in +registers, varying amounts of code needs to be inserted around the call to +pthread_getspecific to save and restore the GL function's +parameters.

    + +

    The other technique, used by platforms like x86-64 that cannot use the +first technique, is to insert #ifdef within the assembly +implementation of each function. This makes the assembly file considerably +larger (e.g., 29,332 lines for glapi_x86-64.S versus 1,155 lines for +glapi_x86.S) and causes simple changes to the function +implementation to generate many lines of diffs. Since the assmebly files +are typically generated by scripts (see below), this +isn't a significant problem.

    + +

    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 +src/mesa/sources. That gets the file built and linked. The second +step is to add the correct #ifdef magic to +src/mesa/main/dispatch.c to prevent the C version of the dispatch +functions from being built.

    + + +

    3.4. Fixed-Length Dispatch Stubs

    + +

    To implement glXGetProcAddress, Mesa stores a table that +associates function names with pointers to those functions. This table is +stored in src/mesa/glapi/glprocs.h. 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.

    + +

    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.

    + +

    This path is activated by adding the correct #ifdef magic to +src/mesa/glapi/glapi.c just before glprocs.h is +included.

    + +
    +

    4. Automatic Generation of Dispatch Stubs

    + + + 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 @@

    Function Name Mangling

    -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 name mangling. This results in all the Mesa functions being prefixed with mgl instead of gl. @@ -18,9 +18,7 @@ This results in all the Mesa functions being prefixed with

    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.

    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 @@

    September 15, 2006

    -Mesa 6.5.1 has been released. This is a new development release. +Mesa 6.5.1 has been released. +This is a new development release.

    -Changes in version 6.5.1 -

    -The MD5 checksums are: -

    -
    -TBD
    -

    March 31, 2006

    -Mesa 6.5 has been released. This is a new development release. +Mesa 6.5 has been released. +This is a new development release.

    -Changes in version 6.5 -

    -The MD5 checksums are: -

    -
    -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
    -

    February 2, 2006

    -Mesa 6.4.2 has been released. This is primarily a bug-fix release. -

    -Changes in version 6.4.2 -

    -The MD5 checksums are: +Mesa 6.4.2 has been released. +This is stable, bug-fix release.

    -
    -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
    -

    November 29, 2005

    -Mesa 6.4.1 has been released. This is a stable, bug-fix release. +Mesa 6.4.1 has been released. +This is stable, bug-fix release.

    -Changes in version 6.4.1 -

    -The MD5 checksums are: -

    -
    -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
    -
    -

    October 24, 2005

    -Mesa 6.4 has been released. This is a stable, bug-fix release. -

    -Changes in version 6.4 -

    -The MD5 checksums are: +Mesa 6.4 has been released. +This is stable, bug-fix release.

    -
    -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
    -

    August 19, 2005

    @@ -1133,6 +1070,6 @@ source code.


    -$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 $ 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 @@ + + +Mesa Release Notes + + + + + + + +

    Mesa 6.4.1 / November 29, 2006

    + +

    +Mesa 6.4.1 is a stable, bug-fix release. +

    + + +

    MD5 checksums

    +
    +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
    +
    + + +

    Bug fixes

    + + + +

    Driver Status

    + +
    +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
    +
    + + + 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 @@ + + +Mesa Release Notes + + + + + + + +

    Mesa 6.4.2 / February 2, 2006

    + +

    +Mesa 6.4.2 is a stable, bug-fix release. +

    + + +

    MD5 checksums

    +
    +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
    +
    + + +

    New features

    + + +

    Changes

    + + +

    Bug fixes

    + + + +

    Driver Status

    + +
    +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
    +
    + + + 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 @@ + + +Mesa Release Notes + + + + + + + +

    Mesa 6.4 / October 24, 2005

    + +

    +Mesa 6.4 is a stable, bug-fix release. +

    + + +

    MD5 checksums

    +
    +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
    +
    + + +

    New

    + + +

    Changes

    + + +

    Bug fixes

    + + + +

    Driver Status

    + +
    +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
    +
    + + + 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 @@ -

    Mesa 6.5.1 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. -

    +

    Mesa 6.5.1 Release Notes / September 15, 2006

    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

    -

    New Features

    +

    MD5 checksums

    +
    +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
    +
    + +

    New Features

    + +

    Changes

    + + +

    Bug fixes

    + 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 @@ + + +Mesa Release Notes + + + + + + + +

    Mesa 6.5.2 Release Notes / (in progress)

    + +

    +Mesa 6.5.2 is a 6.5 follow-on development release mostly consisting of +bug fixes. +

    + + +

    MD5 checksums

    +
    +TBD
    +
    + + +

    New features

    + + +

    Bug fixes

    + + + +

    Internal code changes

    + + + + +

    To Do (someday) items

    + + + +

    Driver Status

    + +
    +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
    +
    + + + 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 @@ + + +Mesa Release Notes + + + + + + + +

    Mesa 6.5 Release Notes / March 31, 2006

    + +

    +Mesa 6.5 is a new development release. +

    + + +

    MD5 checksums

    +
    +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
    +
    + + + +

    New Features

    + + +

    Changes

    + +

    Bug fixes

    + + + +

    Known Issues

    + + + +

    Driver Interface Changes

    + + + +

    To Do (someday) items

    + + + +

    Driver Status

    + +
    +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
    +
    + + + diff --git a/docs/relnotes.html b/docs/relnotes.html index 7383f02098f..9165c9f1492 100644 --- a/docs/relnotes.html +++ b/docs/relnotes.html @@ -8,16 +8,32 @@

    Release Notes

    +

    +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. +

    + +

    The release notes summarize what's new or changed in each Mesa release.

    +Versions of Mesa prior to 6.4 are summarized in the +versions file and the following release notes. +

    + + -

    6.4 October 24, 2005

    -New: -
      -
    • Added a fast XOR line drawing function in Xlib driver -
    • Added support for GL_ARB_texture_mirrored_repeat to savage driver (supported only on Savage4 hardware). -
    -Changes: -
      -
    • Mesa now packaged in three parts: Library, Demos and GLUT -
    -Bug fixes: -
      -
    • GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig -
    • Some files were present multiple times in the 6.3.2 tarballs -
    • r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207) -
    • glxgears_fbconfig demo didn't work (bug 4237) -
    • fixed bug when bilinear sampling 2d textures with borders -
    • glXCreatePbuffer() could segfault instead of returning 0 (bug 4235) -
    • fixed undefined frexp and rand in X.org libGLcore.a (bug 4242) -
    • fixed a few problems with proxy color tables (bug 4270) -
    • fixed precision problem in Z clearing (bug 4395) -
    • glBitmap, glDraw/CopyPixels mistakenly generated selection hits -
    • fixed potential segfault caused by reading pixels outside - of renderbuffer bounds -
    • glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB -
    • fixed memory corruption bug involving software alpha buffers -
    • glReadPixels clipped by window bounds was sometimes broken -
    • glDraw/CopyPixels of stencil data ignored the stencil write mask -
    • glReadPixels from a texture bound to a framebuffer object didn't work -
    • glIsRender/FramebufferEXT weren't totally correct -
    • fixed a number of point size attenuation/fade bugs -
    • fixed glFogCoord bug 4729 -
    • GLX encoding for transpose matrix functions was broken -
    • fixed broken fragment program KIL and SWZ instructions -
    • fragment programs that wrote result.depth.z didn't work -
    - - -

    6.4.1 November 30, 2005

    -Bug fixes: -
      -
    • redefining a vertex program string didn't take effect in TNL module -
    • fixed occasional segfault upon vertex/fragment parsing error -
    • vertex program LIT instruction didn't handle 0^0=1 correctly -
    • fragment program fog option didn't work with glDrawPixels, glBitmap -
    • USE_MGL_NAMESPACE didn't work for x86-64 -
    • OSMesa demos were missing from previous release tarballs -
    • fixed problem with float->ushort conversion in glClear (bug 4992) -
    • popping of GL_EYE_PLANE texgen state was broken (bug 4996) -
    • popping of GL_SPOT_DIRECTION light state was broken (bug 5005) -
    • fixed occasional triangle color interpolation problem on VMS -
    • work around invalid free() call (bug 5131) -
    • fixed BSD X server compilation problem by including stdint.h -
    - - -

    6.4.2 February 2, 2006

    -New: -
      -
    • added OSMesaColorClamp() function/feature -
    • added wglGetExtensionStringARB() function -
    -Bug fixes: -
      -
    • fixed some problems when building on Windows -
    • GLw header files weren't installed by installmesa script (bug 5396) -
    • GL/glfbdev.h file was missing from tarballs -
    • fixed TNL initialization bug which could lead to crash (bug 5791) -
    - - -

    6.5 March 31, 2006

    -New: -
      -
    • 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) -
    • GL_EXT_packed_depth_stencil extension -
    • GL_EXT_timer_query extension -
    • GL_EXT_framebuffer_blit extension -
    • GL_ARB_half_float_pixel -
    • reflect demo improved to support multiple windows -
    • singlebuffer demo (shows no/little-flicker single-buffered rendering) -
    • r200: enable GL_ARB_texture_env_crossbar, separate the texture - sampling unit bits from the texture env combine enable bits -
    • r200: add support for GL_ATI_fragment_shader -
    • added fast XOR-mode line drawing optimization -
    • radeon: add support for all 3 tmus, GL_ARB_texture_cube_map - and GL_EXT_fog_coord -
    • MESA_GLX_ALPHA_BITS env var for xlib driver -
    • many DRI driver updates (including screen rotation support - for the Intel DRI driver) -
    -Changes: -
      -
    • removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead) -
    • removed GL_SGIX/SGIS_pixel_texture extensions -
    -Bug fixes: -
      -
    • fixed glxcontextmodes.c datatype problem (bug 5835) -
    • fixed aix-gcc build/install bugs (bug 5874) -
    • fixed some bugs in texture env program generation -
    • glXCopyContext() didn't handle texture object bindings properly -
    • glXCopyContext() didn't copy all lighting state -
    • fixed FreeBSD config (Pedro Giffuni) -
    • fixed some minor framebuffer object bugs -
    • replaced dprintf() with _glu_printf() in GLU (bug 6244) -
    • fixed a number of thread safety bugs/regressions -
    • fixed a number of GLU tesselator bugs (John Shell, bug 6339) -
    • paletted texturing was broken w/ floating point palettes (K. Schultz) -
    • lots of assorted framebuffer object bug fixes -
    - - -

    6.5.1 September 15, 2006

    -New: -
      -
    • Intel i965 DRI driver -
    • GL_APPLE_vertex_array_object extension (Ian Romanick) -
    • GL_EXT_texture_sRGB extension -
    • GL_EXT_gpu_program_parameters (Ian Romanick) -
    • "engine" demo -
    • updated fbdev driver and GLUT for fbdev (Sean D'Epagnier) -
    • many updates to the DRI drivers -
    -Changes: -
      -
    • The glVertexAttribARB functions no longer alias the conventional - vertex attributes. -
    • glxinfo program prints more info with -l option -
    • GL_FRAGMENT_PROGRAM_NV and GL_FRAGMENT_PROGRAM_ARB are now - compatible, in terms of glBindProgramARB() -
    • The GL_ARB_vertex_program attribute vertex.weight 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. -
    -Bug fixes: -
      -
    • fixed broken texture border handling for depth textures (bug 6498) -
    • removed the test for duplicated framebuffer attachments, per - version 117 of the GL_EXT_framebuffer_object specification -
    • fixed a few render-to-texture bugs, including render to depth texture -
    • clipping of lines against user-defined clip planes was broken (6512) -
    • assembly language dispatch for SPARC was broken (bug 6484) -
    • assorted compilation fixes on various Unix platforms (Dan Schikore) -
    • glPopAttrib could restore an invalid value for GL_DRAW_BUFFER -
    • assorted minor fixes for 16 and 32 bit/channel modes -
    • fixed assorted bugs in texture compression paths -
    • fixed indirect rendering vertex array crashes (bug 6863) -
    • glDrawPixels GL_INDEX_OFFSET didn't always work -
    • fixed convolution memory leak (bug 7077) -
    • rectangular depth textures didn't work -
    • invalid mode to glBegin didn't generate an error (bug 7142) -
    • 'normalized' parameter to glVertexAttribPointerARB didn't work -
    • disable bogus GLX_SGI_video_sync extension in xlib driver -
    • fixed R128 driver locking bug (Martijn van Oosterhout) -
    • using evaluators with vertex programs caused crashes (bug 7564) -
    • fragment.position wasn't set correctly for point/line primitives -
    • fixed parser bug for scalar sources for GL_NV_fragment_program -
    • max fragment program length was incorrectly 128, now 1024 -
    • writes to result.depth in fragment programs weren't clamped to [0,1] -
    • fixed potential dangling pointer bug in glBindProgram() -
    • fixed some memory leaks (and potential crashes) in Xlib driver -
    + +NOTE: Changes for Mesa 6.4 and later are documented in the corresponding +
    release notes file. + -- cgit v1.2.3