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