
                            Mesa 5.0 release notes

                              November 13, 2002

                                PLEASE READ!!!!



Introduction
------------

Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0) designate stable releases.
Odd-numbered versions (such as 4.1) designate new developmental releases.

Mesa 5.0 is basically just a stabilization of Mesa 4.1.  To see a list of
bug fixes, etc. see the VERSIONS file.



New Features in Mesa 5.0
------------------------

Mesa 5.0 supports OpenGL 1.4.  Note Mesa's versioning convention:

   OpenGL Version    Mesa Version
   ------------------------------
        1.0             1.x
        1.1             2.x
        1.2             3.x
        1.3             4.x
        1.4             5.x

OpenGL 1.4 (and Mesa 5.0) incorporates the following OpenGL extensions as
standard features:

	GL_ARB_depth_texture
	GL_ARB_shadow
	GL_ARB_texture_env_crossbar
	GL_ARB_texture_mirror_repeat
	GL_ARB_window_pos
	GL_EXT_blend_color
	GL_EXT_blend_func_separate
	GL_EXT_blend_logic_op
	GL_EXT_blend_minmax
	GL_EXT_blend_subtract
	GL_EXT_fog_coord
	GL_EXT_multi_draw_arrays
	GL_EXT_point_parameters
	GL_EXT_secondary_color
	GL_EXT_stencil_wrap
	GL_SGIS_generate_mipmap



Device Driver Status
--------------------

A number of Mesa's software drivers haven't been actively maintained for
some time.  We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:


Driver			Status
----------------------	---------------------
XMesa (Xlib)		implements OpenGL 1.4
OSMesa (off-screen)	implements OpenGL 1.4
FX (3dfx Voodoo1/2)	implements OpenGL 1.3
SVGA			implements OpenGL 1.3
Wind River UGL		implements OpenGL 1.3
Windows/Win32		implements OpenGL 1.4
DOS/DJGPP		implements OpenGL 1.3
GGI			implements OpenGL 1.3
DOS			implements OpenGL 1.4
BeOS			needs updating (underway)
Allegro			needs updating
D3D			needs updating

Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.


----------------------------------------------------------------------
$Id: RELNOTES-5.0,v 1.1.1.1 2012/03/29 17:22:08 uid42307 Exp $
