
                         Mesa 3.1 release notes

                             PLEASE READ!!!!


New copyright
-------------

Mesa 3.1 will be distributed under an XFree86-style copyright instead
of the GNU LGPL.


New directories
---------------

All documentation files are now in the docs/ directory.
All shell scripts are now in the bin/ directory.


New library names
-----------------

Formerly, the main Mesa library was named libMesaGL.so (or libMesaGL.a)
and the GLU library was named libMesaGLU.so (or libMesaGLU.a).

Now, the main library is named libGL.so (or libGL.a) and the GLU library
is named libGLU.so (or libGLU.a).

The change allows Mesa to be more easily substituted for OpenGL.
Specifically, the linker/loader on some Unix-like systems won't
allow libMesaGL.so to be used instead of libGL.so if the application
was linked with the former.

Warning: if you have another OpenGL implementation installed on your
system (i.e. you have another OpenGL libGL.so) you'll have to be
carefull about which library (OpenGL or Mesa) you link against.  Be
aware of -L linker flags and the value of the LD_LIBRARY_PATH environment
variable.


New library versioning
----------------------

Previously, the Mesa GL library was named libMesaGL.so.3.0
To better support Linux/OpenGL standards, the Mesa GL library is now
named libGL.so.1.2.030100  This indicates version 1.2 of the OpenGL spec
and Mesa implementation 3.1.0

In the long term this will allow better interoperability with other
OpenGL implementations, especially on Linux.  In the short term,
OpenGL apps may have to be relinked to use the new library naming.



New makefiles
-------------

The old Makefiles found in the various directories have been renamed
to Makefile.X11 in order to prevent filename collisions with autoconfig-
generated Makefiles.

The top-level Makefile simply includes Makefile.X11
If your top-level Makefile get's overwritten/destroyed you can restore
it by copying Makefile.X11 to Makefile


New extensions
--------------

GL_EXT_stencil_wrap
	Implements two new stencil operations: GL_INCR_WRAP_EXT and
	GL_DECR_WRAP_EXT which allow stencil increment and decrement
	without clamping.

GL_INGR_blend_func_separate
	Allows specification of blend factors for RGB and Alpha independently.
	(INGR = Intergraph)

GL_ARB_multitexture
	Multiple simultaneous textures.  (ARB = Architecture Review Board)

GL_NV_texgen_reflection
	nVidia texgen extension for better reflection mapping.

GL_PGI_misc_hints
	Assorted transformation hints.

GL_EXT_compiled_vertex_array
	Compiled vertex arrays.

GL_EXT_clip_volume_hint
	Allows one to disable clip volume (frustum) testing.



Extensions removed
------------------

GL_EXT_multitexture - obsolete in favor of GL_ARB_multitexture



Config file
-----------

By default, /etc/mesa.conf will be read when Mesa starts.  This
file controls default hints, enable/disable of extensions, and
more.  See the CONFIG file for documentation.



Optimizations
-------------

Keith Whitwell has contributed significant optimizations to Mesa's
vertex transformation code.  Basically, the whole transformation
stage of Mesa has been rewritten.

It's impossible to give a speedup factor.  You'll just have to
try your app and see how it performs.



Device Driver changes
---------------------

A bunch of new device driver functions have been added.  See src/dd.h
Keith Harrison contributed many of them.  I've been planning on adding
a bunch of functions like these to make writing hardware drivers easier.
More such function will probably be added in the near future.



Miscellaneous
-------------

util/glstate.c has some handy functions for debugging.  Basically, it
offers a simple function for printing GL state variables.  It's not
finished yet.  There's a LOT more GLenum records to be added (see the
code).  Anyone want to help?



----------------------------------------------------------------------
