RELNOTES-5.1 revision 5e04bcf6de7a0fceb8ea0893238919c24cef137d
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
63
64
65Build System Changes
66--------------------
67
68The "old style" makefile system has been updated:
69   1. Make-config has been trimmed down to fewer, modern configurations.
70   2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
71      script that works on all sorts of systems.  There are probably some
72      bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
73      Improvements/contributes are greatly appreciated.
74   3. The Makefile.X11 files have been cleaned up in various ways
75
76
77
78Source File Changes
79-------------------
80
81The mmath.[ch] files are obsolete.  Their contents have been moved
82into the imports.[ch] and macros.[ch] files.
83
84The files related to vertex and fragment programming have changed.
85Old files:
86	vpexec.[ch]
87	vpparse.[ch]
88	vpstate.[ch]
89New files:
90	nvvertprog.h              - NV vertex program definitions
91	nvfragprog.h              - NV fragment program definitions
92	nvvertparse.[ch]          - NV vertex program parser
93	nvfragparse.[ch]          - NV fragment program parser
94	nvprogram.[ch]            - NV program API functions
95	nvvertexec.[ch]           - NV vertex program execution
96	swrast/s_nvfragprog.[ch]  - NV fragment program execution
97
98Removed files:
99	swrast/s_historgram.[ch]	- moved into src/histogram.c
100
101Other New files:
102	bufferobj.[ch]		- GL_ARB_vertex_buffer_object functions
103	arbprogram.[ch]		- GL_ARB_vertex/fragment_program functions
104	version.h		- defines the Mesa version info
105
106
107Other Changes
108-------------
109
110The ctx->Driver.CreateTexture function has been removed - it wasn't used.
111
112New device driver hook functions:
113   NewTextureObject   - used to allocate struct gl_texture_objects
114   NewTextureImage    - used to allocate struct gl_texture_images
115
116New ctx->Texture._EnabledCoordUnits field:
117   With the addition of GL_NV_fragment_program we may need to interpolate
118   various sets of texture coordinates even when the corresponding texture
119   unit is not enabled.  That is, glEnable(GL_TEXTURE_xD) may never get
120   called but we still may have to interpolate texture coordinates across
121   triangles so that the fragment program will get them.
122   This new field indicates which sets of texture coordinates are needed.
123   If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
124   same bit MUST be set in ctx->Texture._EnabledCoordUnits.
125
126
127
128To Do
129-----
130Add screen-awareness to fakeglx.c
131
132
133
134
135Device Driver Status
136--------------------
137
138A number of Mesa's software drivers haven't been actively maintained for
139some time.  We rely on volunteers to maintain many of these drivers.
140Here's the current status of all included drivers:
141
142
143Driver			Status
144----------------------	---------------------
145XMesa (Xlib)		implements OpenGL 1.4
146OSMesa (off-screen)	implements OpenGL 1.4
147FX (3dfx Voodoo1/2)	implements OpenGL 1.3
148SVGA			implements OpenGL 1.3
149Wind River UGL		implements OpenGL 1.3
150Windows/Win32		implements OpenGL 1.4
151DJGPP			implements OpenGL 1.4
152GGI			implements OpenGL 1.3
153BeOS			implements OpenGL 1.4
154Allegro			needs updating
155D3D			needs updating
156
157Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
158driver call the _mesa_enable_1_4_extensions() function.
159
160
161----------------------------------------------------------------------
162