blob: f002cb0689d8d435f61e486b936afc25a1182e5f [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 Paul943f0c62003-01-21 15:49:06 +000027GL_ATI_texture_env_combine3 extension
28 This adds a few new texture combine modes.
29 Contributed by Ian Romanick.
Brian Paul7c0e32b2002-12-18 14:57:34 +000030
Brian Paulccec6472003-01-21 21:48:29 +000031GL_SGI_texture_color_table
Brian Paula89cc0e2003-02-13 16:01:33 +000032 Adds a color table lookup to the RGBA texture path. There's a separate
33 color table for each texture unit.
Brian Paulccec6472003-01-21 21:48:29 +000034 Contributed by Eric Plante.
Brian Paul7c0e32b2002-12-18 14:57:34 +000035
Brian Paul4e50ab52003-03-01 01:50:13 +000036GL_NV_fragment_program
37 NVIDIA's fragment-level programming feature.
Brian Paulc0e11892003-06-01 16:27:37 +000038 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
44GL_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
48GL_NV_light_max_exponent
49 Lifts the 128 limit for max light exponent.
50
Brian Paul5e04bcf2003-06-10 15:01:45 +000051GL_EXT_texture_rectangle
52 Identical to GL_NV_texture_rectangle
53
Brian Paulb17a7222003-06-13 02:37:27 +000054GL_ARB_occlusion_query
55 Useful for visibility-based culling.
56
Brian Paul235c1502003-07-03 03:07:12 +000057GL_ARB_texture_non_power_of_two
58 Removes the restriction that texture dimensions must be powers of two.
Brian Paulc0e11892003-06-01 16:27:37 +000059
Brian Paul83f57e32003-09-17 21:22:54 +000060GL_ARB_vertex_buffer_object
61 Allows server-side vertex arrays, optimized host/card data transfers, etc.
62
63GL_ARB_point_sprite
64 ARB-approved version of GL_NV_point_sprite. Basically allows textures
65 to be applied to points.
66
Brian Pauld2d30522003-08-24 14:56:20 +000067GL_IBM_multimode_draw_arrays
68 Allows multiple vertex arrays to be drawn with one call, including arrays
69 of different types of primitives.
70
71GL_SUN_multi_draw_arrays
72 An alias for GL_EXT_multi_draw_arrays, standard in OpenGL 1.4.
73
74
Brian Paul83f57e32003-09-17 21:22:54 +000075With the addition of GL_ARB_occlusion_query, GL_ARB_vertex_buffer_object,
76GL_ARB_texture_non_power_of_two and GL_EXT_shadow_funcs, Mesa 5.1 supports
77all the new features of OpenGL 1.5. Mesa 6.0 (the next stable release)
78will advertise GL_VERSION = "1.5".
79
80
Brian Paulc0e11892003-06-01 16:27:37 +000081
82Build System Changes
83--------------------
84
Brian Paul65f60582003-09-17 21:36:08 +000085The GNU automake/autoconf support has been removed. As it was, it seldom
86worked on anything but Linux. The Mesa developers aren't big fans of
87automake/autoconf/libtool and didn't have the time to maintain it.
88If someone wants to contribute new automake/autoconf support (and is
89willing to maintain it), it may be re-incorporated into Mesa, subject
90to some requirements.
91
Brian Paulc0e11892003-06-01 16:27:37 +000092The "old style" makefile system has been updated:
93 1. Make-config has been trimmed down to fewer, modern configurations.
94 2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
95 script that works on all sorts of systems. There are probably some
96 bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
97 Improvements/contributes are greatly appreciated.
98 3. The Makefile.X11 files have been cleaned up in various ways
99
Brian Pauld2d30522003-08-24 14:56:20 +0000100
101
102Directory tree reorganization
103-----------------------------
104
105The directory structure for Mesa has been overhauled to improve its layout.
106All source code for Mesa, GLU, GLUT, etc is now under the src/ directory
107in appropriate subdirectories.
108
109The Mesa source code and drivers has been reorganized under src/mesa/.
110
Brian Paul65f60582003-09-17 21:36:08 +0000111All demonstration programs and tests are now in subdirectories under progs/.
Brian Pauld2d30522003-08-24 14:56:20 +0000112
Brian Paul4e50ab52003-03-01 01:50:13 +0000113
114
115Source File Changes
116-------------------
117
118The mmath.[ch] files are obsolete. Their contents have been moved
119into the imports.[ch] and macros.[ch] files.
120
121The files related to vertex and fragment programming have changed.
122Old files:
123 vpexec.[ch]
124 vpparse.[ch]
125 vpstate.[ch]
126New files:
Brian Paul65f60582003-09-17 21:36:08 +0000127 program.[ch] - generic ARB/NV program code
128 arbprogram.[ch] - ARB program API functions
129 nvprogram.[ch] - NV program API functions
Brian Paul4e50ab52003-03-01 01:50:13 +0000130 nvvertprog.h - NV vertex program definitions
131 nvfragprog.h - NV fragment program definitions
132 nvvertparse.[ch] - NV vertex program parser
133 nvfragparse.[ch] - NV fragment program parser
Brian Paul4e50ab52003-03-01 01:50:13 +0000134 nvvertexec.[ch] - NV vertex program execution
135 swrast/s_nvfragprog.[ch] - NV fragment program execution
136
Brian Paul9c270502003-03-29 16:39:52 +0000137Removed files:
Brian Paul65f60582003-09-17 21:36:08 +0000138 swrast/s_histogram.[ch] - moved into src/histogram.c
Brian Paul4e50ab52003-03-01 01:50:13 +0000139
Brian Paulc0e11892003-06-01 16:27:37 +0000140Other New files:
Brian Paul7f223f22003-03-30 16:17:54 +0000141 bufferobj.[ch] - GL_ARB_vertex_buffer_object functions
Brian Paulc0e11892003-06-01 16:27:37 +0000142 version.h - defines the Mesa version info
143
144
145Other Changes
146-------------
147
148The ctx->Driver.CreateTexture function has been removed - it wasn't used.
149
150New device driver hook functions:
151 NewTextureObject - used to allocate struct gl_texture_objects
152 NewTextureImage - used to allocate struct gl_texture_images
153
154New ctx->Texture._EnabledCoordUnits field:
155 With the addition of GL_NV_fragment_program we may need to interpolate
156 various sets of texture coordinates even when the corresponding texture
157 unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get
158 called but we still may have to interpolate texture coordinates across
159 triangles so that the fragment program will get them.
160 This new field indicates which sets of texture coordinates are needed.
161 If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
162 same bit MUST be set in ctx->Texture._EnabledCoordUnits.
163
164
165
166To Do
167-----
168Add screen-awareness to fakeglx.c
169
Brian Paul7f223f22003-03-30 16:17:54 +0000170
Brian Paul4e50ab52003-03-01 01:50:13 +0000171
Brian Paul7c0e32b2002-12-18 14:57:34 +0000172
173Device Driver Status
174--------------------
175
176A number of Mesa's software drivers haven't been actively maintained for
177some time. We rely on volunteers to maintain many of these drivers.
178Here's the current status of all included drivers:
179
180
181Driver Status
182---------------------- ---------------------
183XMesa (Xlib) implements OpenGL 1.4
184OSMesa (off-screen) implements OpenGL 1.4
185FX (3dfx Voodoo1/2) implements OpenGL 1.3
186SVGA implements OpenGL 1.3
187Wind River UGL implements OpenGL 1.3
188Windows/Win32 implements OpenGL 1.4
Brian Paul971e4d62003-03-11 15:34:42 +0000189DJGPP implements OpenGL 1.4
Brian Paul7c0e32b2002-12-18 14:57:34 +0000190GGI implements OpenGL 1.3
Brian Paul7f223f22003-03-30 16:17:54 +0000191BeOS implements OpenGL 1.4
Brian Paul7c0e32b2002-12-18 14:57:34 +0000192Allegro needs updating
193D3D needs updating
194
195Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
196driver call the _mesa_enable_1_4_extensions() function.
197
198
199----------------------------------------------------------------------