GL_EXT_texture_rectangle, directory tree info
[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 New 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
36 GL_ATI_texture_env_combine3 extension
37 This adds a few new texture combine modes.
38 Contributed by Ian Romanick.
39
40 GL_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
45 GL_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
53 GL_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
57 GL_NV_light_max_exponent
58 Lifts the 128 limit for max light exponent.
59
60 GL_EXT_texture_rectangle
61 Identical to GL_NV_texture_rectangle
62
63
64
65 Build System Changes
66 --------------------
67
68 The "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
78 Source File Changes
79 -------------------
80
81 The mmath.[ch] files are obsolete. Their contents have been moved
82 into the imports.[ch] and macros.[ch] files.
83
84 The files related to vertex and fragment programming have changed.
85 Old files:
86 vpexec.[ch]
87 vpparse.[ch]
88 vpstate.[ch]
89 New 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
98 Removed files:
99 swrast/s_historgram.[ch] - moved into src/histogram.c
100
101 Other 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
107 Other Changes
108 -------------
109
110 The ctx->Driver.CreateTexture function has been removed - it wasn't used.
111
112 New device driver hook functions:
113 NewTextureObject - used to allocate struct gl_texture_objects
114 NewTextureImage - used to allocate struct gl_texture_images
115
116 New 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
128 To Do
129 -----
130 Add screen-awareness to fakeglx.c
131
132
133
134
135 Device Driver Status
136 --------------------
137
138 A number of Mesa's software drivers haven't been actively maintained for
139 some time. We rely on volunteers to maintain many of these drivers.
140 Here's the current status of all included drivers:
141
142
143 Driver Status
144 ---------------------- ---------------------
145 XMesa (Xlib) implements OpenGL 1.4
146 OSMesa (off-screen) implements OpenGL 1.4
147 FX (3dfx Voodoo1/2) implements OpenGL 1.3
148 SVGA implements OpenGL 1.3
149 Wind River UGL implements OpenGL 1.3
150 Windows/Win32 implements OpenGL 1.4
151 DJGPP implements OpenGL 1.4
152 GGI implements OpenGL 1.3
153 BeOS implements OpenGL 1.4
154 Allegro needs updating
155 D3D needs updating
156
157 Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
158 driver call the _mesa_enable_1_4_extensions() function.
159
160
161 ----------------------------------------------------------------------