summaryrefslogtreecommitdiff
path: root/docs/RELNOTES-5.1
blob: d0619916cc66e850392db99d9a3325ae3f0df4a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164

                            Mesa 5.1 release notes

                              Month day, 2003

                                PLEASE READ!!!!



Introduction
------------

Mesa uses an even/odd version number scheme like the Linux kernel.
Even-numbered versions (such as 5.0) designate stable releases.
Odd-numbered versions (such as 5.1) designate new developmental releases.


Bug fixes
---------
See the VERSIONS file for a list of bugs fixed in this release.



New Features in Mesa 5.1
------------------------

New directory tree
   The whole Mesa directory tree has been cleaned up and reorganized.
   Some old stuff has been abandoned.  Lots of non-Unix makefiles will
   have to be updated.

   For now, autoconf/automake support has been removed.  New autoconf/automake
   files will added if they meet certain criteria.


GL_ATI_texture_env_combine3 extension
   This adds a few new texture combine modes.
   Contributed by Ian Romanick.

GL_SGI_texture_color_table
   Adds a color table lookup to the RGBA texture path.  There's a separate
   color table for each texture unit.
   Contributed by Eric Plante.

GL_NV_fragment_program
   NVIDIA's fragment-level programming feature.
   Possible lurking bugs:
     - the DDX and DDY commands aren't fully tested
     - there may be bugs in the parser
     - the TEX and TXP instructions both do perspective correction
     - the pack/unpack instructions may not be correct

GL_EXT_depth_bounds_test
   This extension adds a scissor-like test for the Z axis.  It's used to
   optimize stencil-volume shadow algorithms.

GL_NV_light_max_exponent
   Lifts the 128 limit for max light exponent.

GL_EXT_texture_rectangle
   Identical to GL_NV_texture_rectangle

GL_ARB_occlusion_query
   Useful for visibility-based culling.



Build System Changes
--------------------

The "old style" makefile system has been updated:
   1. Make-config has been trimmed down to fewer, modern configurations.
   2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
      script that works on all sorts of systems.  There are probably some
      bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
      Improvements/contributes are greatly appreciated.
   3. The Makefile.X11 files have been cleaned up in various ways



Source File Changes
-------------------

The mmath.[ch] files are obsolete.  Their contents have been moved
into the imports.[ch] and macros.[ch] files.

The files related to vertex and fragment programming have changed.
Old files:
	vpexec.[ch]
	vpparse.[ch]
	vpstate.[ch]
New files:
	nvvertprog.h              - NV vertex program definitions
	nvfragprog.h              - NV fragment program definitions
	nvvertparse.[ch]          - NV vertex program parser
	nvfragparse.[ch]          - NV fragment program parser
	nvprogram.[ch]            - NV program API functions
	nvvertexec.[ch]           - NV vertex program execution
	swrast/s_nvfragprog.[ch]  - NV fragment program execution

Removed files:
	swrast/s_historgram.[ch]	- moved into src/histogram.c

Other New files:
	bufferobj.[ch]		- GL_ARB_vertex_buffer_object functions
	arbprogram.[ch]		- GL_ARB_vertex/fragment_program functions
	version.h		- defines the Mesa version info


Other Changes
-------------

The ctx->Driver.CreateTexture function has been removed - it wasn't used.

New device driver hook functions:
   NewTextureObject   - used to allocate struct gl_texture_objects
   NewTextureImage    - used to allocate struct gl_texture_images

New ctx->Texture._EnabledCoordUnits field:
   With the addition of GL_NV_fragment_program we may need to interpolate
   various sets of texture coordinates even when the corresponding texture
   unit is not enabled.  That is, glEnable(GL_TEXTURE_xD) may never get
   called but we still may have to interpolate texture coordinates across
   triangles so that the fragment program will get them.
   This new field indicates which sets of texture coordinates are needed.
   If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
   same bit MUST be set in ctx->Texture._EnabledCoordUnits.



To Do
-----
Add screen-awareness to fakeglx.c




Device Driver Status
--------------------

A number of Mesa's software drivers haven't been actively maintained for
some time.  We rely on volunteers to maintain many of these drivers.
Here's the current status of all included drivers:


Driver			Status
----------------------	---------------------
XMesa (Xlib)		implements OpenGL 1.4
OSMesa (off-screen)	implements OpenGL 1.4
FX (3dfx Voodoo1/2)	implements OpenGL 1.3
SVGA			implements OpenGL 1.3
Wind River UGL		implements OpenGL 1.3
Windows/Win32		implements OpenGL 1.4
DJGPP			implements OpenGL 1.4
GGI			implements OpenGL 1.3
BeOS			implements OpenGL 1.4
Allegro			needs updating
D3D			needs updating

Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
driver call the _mesa_enable_1_4_extensions() function.


----------------------------------------------------------------------