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