1
2                           Mesa 6.1 release notes
3
4                              August 18, 2004
5
6                              PLEASE READ!!!!
7
8
9
10Introduction
11------------
12
13Mesa uses an even/odd version number scheme like the Linux kernel.
14Odd numbered versions (such as 6.1) designate new developmental releases.
15Even numbered versions (such as 6.0) designate stable releases.
16
17
18New Features
19------------
20
21Half-precision floating point (GLhalf) pixel formats are supported
22in Mesa, but the feature isn't exposed yet since the ARB extension
23hasn't been finalized yet.
24
25
26Texture image handling
27----------------------
28
29The code which implements image conversion, pixel transfer ops, etc
30for glTexImage commands has been rewritten.
31
32Now the gl_texture_format struct has a new StoreImage function
33pointer.  Each texture format must implement this function.  The
34function is totally responsible for converting the user's texture
35image into the specific format.  A few helper functions makes this
36relatively simple.
37
38Overall, the code is much simpler, cleaner and easier to work with
39now.  Adding new texture formats is straight-forward and there's no
40longer any distinction between "hardware" and "software" formats.
41
42Finally, the code for compressed texture images has been reorganized
43as well.
44
45Removed files:
46  texutil.c
47  texutil.h
48  texutil_tmp.h
49
50New files:
51  texcompress_s3tc.c
52  texcompress_fxt1.c
53
54
55
56Driver / context changes
57------------------------
58
59The _mesa_create_context() and _mesa_initialize_context() function
60parameters have changed.  They now take a pointer to a struct
61dd_function_table.  Drivers can initialize this table by calling
62_mesa_init_driver_functions().  Drivers should then plug in the special
63functions they implement.  In particular, the ctx->Driver.NewTextureObject
64pointer _must_ be set so that the default texture objects created in
65_mesa_create/initialize_context() are correctly built.
66
67The _mesa_init_driver_functions() function allows a lot of redundant code
68to be removed from the device drivers (such as initializing
69ctx->Driver.Accum to point to _swrast_Accum).  Adding new functions to
70the dd_function_table can be done with less hassle since the pointer can
71be initialized in _mesa_init_driver_functions() rather than in _all_ the
72drivers.
73
74
75Device Drivers
76--------------
77
78Mesa advertises itself as supporting OpenGL 1.2, 1.3, 1.4 or 1.5
79depending on the device driver's capabilities.  For example, if the
80driver enables all the ARB extensions which are part of OpenGL 1.5
81then glGetString(GL_VERSION) will return "1.5".  Otherwise, it'll
82return "1.4" or the next lower version that implements all required
83functionality.
84
85A number of Mesa's software drivers haven't been actively maintained for
86some time.  We rely on volunteers to maintain many of the drivers.
87Here's the current status of all included drivers:
88
89Driver			Status
90----------------------	---------------------
91XMesa (Xlib)		implements OpenGL 1.5
92OSMesa (off-screen)	implements OpenGL 1.5
93Glide (3dfx Voodoo1/2)	implements OpenGL 1.3
94SVGA			implements OpenGL 1.3
95Wind River UGL		implements OpenGL 1.3
96Windows/Win32		implements OpenGL 1.5
97DJGPP			implements OpenGL 1.5
98GGI			implements OpenGL 1.3
99BeOS			implements OpenGL 1.5
100Allegro			needs updating
101D3D			needs updating
102
103
104
105Other Changes
106-------------
107
108See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.1.
109
110
111----------------------------------------------------------------------
112