latest updates for 5.1
[mesa.git] / docs / RELNOTES-5.1
1
2 Mesa 5.1 release notes
3
4 Month day, 2003
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 Even-numbered versions (such as 5.0) designate stable releases.
15 Odd-numbered versions (such as 5.1) designate new developmental releases.
16
17
18 Bug fixes
19 ---------
20 See the VERSIONS file for a list of bugs fixed in this release.
21
22
23
24 New Features in Mesa 5.1
25 ------------------------
26
27 GL_ATI_texture_env_combine3 extension
28 This adds a few new texture combine modes.
29 Contributed by Ian Romanick.
30
31 GL_SGI_texture_color_table
32 Adds a color table lookup to the RGBA texture path. There's a separate
33 color table for each texture unit.
34 Contributed by Eric Plante.
35
36 GL_NV_fragment_program
37 NVIDIA's fragment-level programming feature.
38 Possible lurking bugs:
39 - the DDX and DDY commands aren't fully tested
40 - there may be bugs in the parser
41 - the TEX and TXP instructions both do perspective correction
42 - the pack/unpack instructions may not be correct
43
44 GL_EXT_depth_bounds_test
45 This extension adds a scissor-like test for the Z axis. It's used to
46 optimize stencil-volume shadow algorithms.
47
48 GL_NV_light_max_exponent
49 Lifts the 128 limit for max light exponent.
50
51
52
53 Build System Changes
54 --------------------
55
56 The "old style" makefile system has been updated:
57 1. Make-config has been trimmed down to fewer, modern configurations.
58 2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
59 script that works on all sorts of systems. There are probably some
60 bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
61 Improvements/contributes are greatly appreciated.
62 3. The Makefile.X11 files have been cleaned up in various ways
63
64 NOTE: there are plans to completely reorganize the Mesa directory tree
65 structure. At that time, the GNU autoconf/autoconfig support will be
66 removed.
67
68
69
70 Source File Changes
71 -------------------
72
73 The mmath.[ch] files are obsolete. Their contents have been moved
74 into the imports.[ch] and macros.[ch] files.
75
76 The files related to vertex and fragment programming have changed.
77 Old files:
78 vpexec.[ch]
79 vpparse.[ch]
80 vpstate.[ch]
81 New files:
82 nvvertprog.h - NV vertex program definitions
83 nvfragprog.h - NV fragment program definitions
84 nvvertparse.[ch] - NV vertex program parser
85 nvfragparse.[ch] - NV fragment program parser
86 nvprogram.[ch] - NV program API functions
87 nvvertexec.[ch] - NV vertex program execution
88 swrast/s_nvfragprog.[ch] - NV fragment program execution
89
90 Removed files:
91 swrast/s_historgram.[ch] - moved into src/histogram.c
92
93 Other New files:
94 bufferobj.[ch] - GL_ARB_vertex_buffer_object functions
95 arbprogram.[ch] - GL_ARB_vertex/fragment_program functions
96 version.h - defines the Mesa version info
97
98
99 Other Changes
100 -------------
101
102 The ctx->Driver.CreateTexture function has been removed - it wasn't used.
103
104 New device driver hook functions:
105 NewTextureObject - used to allocate struct gl_texture_objects
106 NewTextureImage - used to allocate struct gl_texture_images
107
108 New ctx->Texture._EnabledCoordUnits field:
109 With the addition of GL_NV_fragment_program we may need to interpolate
110 various sets of texture coordinates even when the corresponding texture
111 unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get
112 called but we still may have to interpolate texture coordinates across
113 triangles so that the fragment program will get them.
114 This new field indicates which sets of texture coordinates are needed.
115 If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
116 same bit MUST be set in ctx->Texture._EnabledCoordUnits.
117
118
119
120 To Do
121 -----
122 Add screen-awareness to fakeglx.c
123
124
125
126
127 Device Driver Status
128 --------------------
129
130 A number of Mesa's software drivers haven't been actively maintained for
131 some time. We rely on volunteers to maintain many of these drivers.
132 Here's the current status of all included drivers:
133
134
135 Driver Status
136 ---------------------- ---------------------
137 XMesa (Xlib) implements OpenGL 1.4
138 OSMesa (off-screen) implements OpenGL 1.4
139 FX (3dfx Voodoo1/2) implements OpenGL 1.3
140 SVGA implements OpenGL 1.3
141 Wind River UGL implements OpenGL 1.3
142 Windows/Win32 implements OpenGL 1.4
143 DJGPP implements OpenGL 1.4
144 GGI implements OpenGL 1.3
145 BeOS implements OpenGL 1.4
146 Allegro needs updating
147 D3D needs updating
148
149 Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
150 driver call the _mesa_enable_1_4_extensions() function.
151
152
153 ----------------------------------------------------------------------
154 $Id: RELNOTES-5.1,v 1.10 2003/06/01 16:27:37 brianp Exp $