blob: d720ba8dedf3e6f73c798c834b921bddc497a028 [file] [log] [blame]
Brian Paul7c0e32b2002-12-18 14:57:34 +00001
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
Brian Pauldc326362003-03-07 20:21:51 +000018Bug fixes
19---------
20See the VERSIONS file for a list of bugs fixed in this release.
21
22
23
Brian Paul7c0e32b2002-12-18 14:57:34 +000024New Features in Mesa 5.1
25------------------------
26
Brian Paul5e04bcf2003-06-10 15:01:45 +000027New 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
Brian Paul943f0c62003-01-21 15:49:06 +000036GL_ATI_texture_env_combine3 extension
37 This adds a few new texture combine modes.
38 Contributed by Ian Romanick.
Brian Paul7c0e32b2002-12-18 14:57:34 +000039
Brian Paulccec6472003-01-21 21:48:29 +000040GL_SGI_texture_color_table
Brian Paula89cc0e2003-02-13 16:01:33 +000041 Adds a color table lookup to the RGBA texture path. There's a separate
42 color table for each texture unit.
Brian Paulccec6472003-01-21 21:48:29 +000043 Contributed by Eric Plante.
Brian Paul7c0e32b2002-12-18 14:57:34 +000044
Brian Paul4e50ab52003-03-01 01:50:13 +000045GL_NV_fragment_program
46 NVIDIA's fragment-level programming feature.
Brian Paulc0e11892003-06-01 16:27:37 +000047 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
Brian Paul5e04bcf2003-06-10 15:01:45 +000060GL_EXT_texture_rectangle
61 Identical to GL_NV_texture_rectangle
62
Brian Paulb17a7222003-06-13 02:37:27 +000063GL_ARB_occlusion_query
64 Useful for visibility-based culling.
65
Brian Paul235c1502003-07-03 03:07:12 +000066GL_ARB_texture_non_power_of_two
67 Removes the restriction that texture dimensions must be powers of two.
Brian Paulc0e11892003-06-01 16:27:37 +000068
Brian Pauld2d30522003-08-24 14:56:20 +000069GL_IBM_multimode_draw_arrays
70 Allows multiple vertex arrays to be drawn with one call, including arrays
71 of different types of primitives.
72
73GL_SUN_multi_draw_arrays
74 An alias for GL_EXT_multi_draw_arrays, standard in OpenGL 1.4.
75
76
Brian Paulc0e11892003-06-01 16:27:37 +000077
78Build System Changes
79--------------------
80
81The "old style" makefile system has been updated:
82 1. Make-config has been trimmed down to fewer, modern configurations.
83 2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
84 script that works on all sorts of systems. There are probably some
85 bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
86 Improvements/contributes are greatly appreciated.
87 3. The Makefile.X11 files have been cleaned up in various ways
88
Brian Pauld2d30522003-08-24 14:56:20 +000089The GNU automake/autoconf support has been removed. As it was, it seldom
90worked on anything but Linux. The Mesa developers aren't big fans of
91automake/autoconf and didn't have the time to maintain it. If someone
92wants to contribute new automake/autoconf support (and is willing to
93maintain it), it may be re-incorporated into Mesa.
94
95
96
97Directory tree reorganization
98-----------------------------
99
100The directory structure for Mesa has been overhauled to improve its layout.
101All source code for Mesa, GLU, GLUT, etc is now under the src/ directory
102in appropriate subdirectories.
103
104The Mesa source code and drivers has been reorganized under src/mesa/.
105
106All demonstration programs and test are now in subdirectories under progs/.
107
Brian Paul4e50ab52003-03-01 01:50:13 +0000108
109
110Source File Changes
111-------------------
112
113The mmath.[ch] files are obsolete. Their contents have been moved
114into the imports.[ch] and macros.[ch] files.
115
116The files related to vertex and fragment programming have changed.
117Old files:
118 vpexec.[ch]
119 vpparse.[ch]
120 vpstate.[ch]
121New files:
122 nvvertprog.h - NV vertex program definitions
123 nvfragprog.h - NV fragment program definitions
124 nvvertparse.[ch] - NV vertex program parser
125 nvfragparse.[ch] - NV fragment program parser
126 nvprogram.[ch] - NV program API functions
127 nvvertexec.[ch] - NV vertex program execution
128 swrast/s_nvfragprog.[ch] - NV fragment program execution
129
Brian Paul9c270502003-03-29 16:39:52 +0000130Removed files:
131 swrast/s_historgram.[ch] - moved into src/histogram.c
Brian Paul4e50ab52003-03-01 01:50:13 +0000132
Brian Paulc0e11892003-06-01 16:27:37 +0000133Other New files:
Brian Paul7f223f22003-03-30 16:17:54 +0000134 bufferobj.[ch] - GL_ARB_vertex_buffer_object functions
Brian Paulc0e11892003-06-01 16:27:37 +0000135 arbprogram.[ch] - GL_ARB_vertex/fragment_program functions
136 version.h - defines the Mesa version info
137
138
139Other Changes
140-------------
141
142The ctx->Driver.CreateTexture function has been removed - it wasn't used.
143
144New device driver hook functions:
145 NewTextureObject - used to allocate struct gl_texture_objects
146 NewTextureImage - used to allocate struct gl_texture_images
147
148New ctx->Texture._EnabledCoordUnits field:
149 With the addition of GL_NV_fragment_program we may need to interpolate
150 various sets of texture coordinates even when the corresponding texture
151 unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get
152 called but we still may have to interpolate texture coordinates across
153 triangles so that the fragment program will get them.
154 This new field indicates which sets of texture coordinates are needed.
155 If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
156 same bit MUST be set in ctx->Texture._EnabledCoordUnits.
157
158
159
160To Do
161-----
162Add screen-awareness to fakeglx.c
163
Brian Paul7f223f22003-03-30 16:17:54 +0000164
Brian Paul4e50ab52003-03-01 01:50:13 +0000165
Brian Paul7c0e32b2002-12-18 14:57:34 +0000166
167Device Driver Status
168--------------------
169
170A number of Mesa's software drivers haven't been actively maintained for
171some time. We rely on volunteers to maintain many of these drivers.
172Here's the current status of all included drivers:
173
174
175Driver Status
176---------------------- ---------------------
177XMesa (Xlib) implements OpenGL 1.4
178OSMesa (off-screen) implements OpenGL 1.4
179FX (3dfx Voodoo1/2) implements OpenGL 1.3
180SVGA implements OpenGL 1.3
181Wind River UGL implements OpenGL 1.3
182Windows/Win32 implements OpenGL 1.4
Brian Paul971e4d62003-03-11 15:34:42 +0000183DJGPP implements OpenGL 1.4
Brian Paul7c0e32b2002-12-18 14:57:34 +0000184GGI implements OpenGL 1.3
Brian Paul7f223f22003-03-30 16:17:54 +0000185BeOS implements OpenGL 1.4
Brian Paul7c0e32b2002-12-18 14:57:34 +0000186Allegro needs updating
187D3D needs updating
188
189Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
190driver call the _mesa_enable_1_4_extensions() function.
191
192
193----------------------------------------------------------------------