blob: 8de64d1f1c379f9455e4c0d96ebe3a35942335fa [file] [log] [blame]
Mesa 6.1 release notes
August 18, 2004
Mesa uses an even/odd version number scheme like the Linux kernel.
Odd numbered versions (such as 6.1) designate new developmental releases.
Even numbered versions (such as 6.0) designate stable releases.
New Features
Half-precision floating point (GLhalf) pixel formats are supported
in Mesa, but the feature isn't exposed yet since the ARB extension
hasn't been finalized yet.
Texture image handling
The code which implements image conversion, pixel transfer ops, etc
for glTexImage commands has been rewritten.
Now the gl_texture_format struct has a new StoreImage function
pointer. Each texture format must implement this function. The
function is totally responsible for converting the user's texture
image into the specific format. A few helper functions makes this
relatively simple.
Overall, the code is much simpler, cleaner and easier to work with
now. Adding new texture formats is straight-forward and there's no
longer any distinction between "hardware" and "software" formats.
Finally, the code for compressed texture images has been reorganized
as well.
Removed files:
New files:
Driver / context changes
The _mesa_create_context() and _mesa_initialize_context() function
parameters have changed. They now take a pointer to a struct
dd_function_table. Drivers can initialize this table by calling
_mesa_init_driver_functions(). Drivers should then plug in the special
functions they implement. In particular, the ctx->Driver.NewTextureObject
pointer _must_ be set so that the default texture objects created in
_mesa_create/initialize_context() are correctly built.
The _mesa_init_driver_functions() function allows a lot of redundant code
to be removed from the device drivers (such as initializing
ctx->Driver.Accum to point to _swrast_Accum). Adding new functions to
the dd_function_table can be done with less hassle since the pointer can
be initialized in _mesa_init_driver_functions() rather than in _all_ the
Device Drivers
Mesa advertises itself as supporting OpenGL 1.2, 1.3, 1.4 or 1.5
depending on the device driver's capabilities. For example, if the
driver enables all the ARB extensions which are part of OpenGL 1.5
then glGetString(GL_VERSION) will return "1.5". Otherwise, it'll
return "1.4" or the next lower version that implements all required
A number of Mesa's software drivers haven't been actively maintained for
some time. We rely on volunteers to maintain many of the drivers.
Here's the current status of all included drivers:
Driver Status
---------------------- ---------------------
XMesa (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
Other Changes
See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.1.