RELNOTES-3.5 revision 43caa5c09a5059c1ee05f5ecc7030f5a1c642531
1
2                         Mesa 3.5 release notes
3
4                             May ??, 2001
5
6                             PLEASE READ!!!!
7
8
9
10Introduction
11------------
12
13Mesa uses an even/odd version number scheme like the Linux kernel.
14Odd numbered versions (such as 3.5) designate new developmental releases.
15Even numbered versions (such as 3.4) designate stable releases.
16
17The biggest change in Mesa 3.5 is a complete overhaul of the source
18code in order to make it more modular.  This was driven by the DRI
19hardware drivers.  It simplifies the DRI drivers and opens the door
20to hardware transform/clip/lighting (TCL).
21
22
23
24Driver Support
25--------------
26
27The device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4
28Not all of the older Mesa drivers have been updated.  Here's the status:
29
30Driver			Status
31----------------------	-----------
32XMesa (Xlib)		updated
33OSMesa (off-screen)	updated
34FX (3dfx Voodoo1/2)	updated
35SVGA			updated
36GGI			not updated
37Windows/Win32		not updated
38DOS/DJGPP		not updated
39BeOS			not updated
40Allegro			not updated
41D3D			not updated
42DOS			not updated
43
44We're looking for volunteers to update the remaining drivers.  Please
45post to the Mesa3d-dev mailing list if you can help.
46
47
48
49GLU 1.3
50-------
51
52Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library.
53This version of GLU supports the GLU 1.3 specification.  The old
54Mesa GLU library implemented the 1.1 specification.  The SI GLU
55library should work much better.
56
57You'll need a C++ compiler to compile the SI GLU library.  This may
58be a problem on some systems.
59
60
61
62New Extensions
63--------------
64
65GL_EXT_convolution
66	Adds image convolution to glRead/Copy/DrawPixels/TexImage.
67
68GL_ARB_imaging
69	This is the optional imaging subset of OpenGL 1.2.
70	It's the GL_EXT_convolution, GL_HP_convolution_border_modes,
71	GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable
72	GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract
73	and GL_SGI_color_matrix extensions all rolled together.
74	This is supported in all software renderers but not in all
75	hardware drivers (3dfx for example).
76
77GL_ARB_texture_compression
78	This is supported in Mesa but only used by the 3dfx DRI drivers
79	for Voodoo4 and later.
80
81GL_ARB_texture_env_add
82	This is identical to GL_EXT_texture_env_add.
83
84GL_NV_blend_square
85	Adds extra blend source and dest factors which allow squaring
86	of color values.
87
88GL_EXT_fog_coord
89	Allows specification of a per-vertex fog coordinate instead of
90	having fog always computed from the eye distance.
91
92GL_EXT_secondary_color
93	Allows specifying the secondary (specular) color for each vertex
94	instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
95	mode.
96
97GL_ARB_texture_env_combine
98	Basically the same as GL_EXT_texture_env_combine
99
100GL_ARB_texture_env_add extension
101	Texture addition mode.
102
103GL_ARB_texture_env_dot3 extension
104	Dot product texture environment.
105
106GL_ARB_texture_border_clamp
107	Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode
108
109GL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient
110	Implements a shadow casting algorithm based on depth map textures
111
112
113
114libOSMesa.so
115------------
116
117libOSMesa.so is a new library which contains the OSMesa interface for
118off-screen rendering.  Apps which need the OSMesa interface should link
119with both -lOSMesa and -lGL.  This change was made so that stand-alone
120Mesa works the same way as XFree86/DRI's libGL.
121
122
123
124Device Driver Changes / Core Mesa Changes
125-----------------------------------------
126
127The ctx->Driver.LogicOp() function has been removed.  It used to
128be called during state update in order to determine if the driver
129could do glLogicOp() operations, and if not, set the SWLogicOpEnabled
130flag.  Drivers should instead examine the LogicOp state themselves
131and choose specialized point, line, and triangle functions appropriately,
132or fall back to software rendering.  The Xlib driver was the only driver
133to use this function.  And since the Xlib driver no longer draws
134points, lines or triangles using Xlib, the LogicOp function isn't needed.
135
136The ctx->Driver.Dither() function has been removed.  Drivers should
137detect dither enable/disable via ctx->Driver.Enable() instead.
138
139The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions
140are now just called from glIndexMask and glColorMask like the other
141GL state-changing functions.  They are no longer called from inside
142gl_update_state().  Also, they now return void.  The change was made
143mostly for sake of uniformity.
144
145The NEW_DRVSTATE[0123] flags have been removed.  They weren't being used
146and are obsolete w.r.t. the way state updates are done in DRI drivers.
147
148
149Removed obsolete gl_create_visual() and gl_destroy_visual().
150
151Renamed functions (new namespace):
152
153old				new
154gl_create_framebuffer		_mesa_create_framebuffer
155gl_destroy_framebuffer		_mesa_destroy_framebuffer
156gl_create_context		_mesa_create_context
157gl_destroy_context		_mesa_destroy_context
158gl_context_initialize		_mesa_context_initialize
159gl_copy_context			_mesa_copy_context
160gl_make_current			_mesa_make_current
161gl_make_current2		_mesa_make_current2
162gl_get_current_context		_mesa_get_current_context
163gl_flush_vb			_mesa_flush_vb
164gl_warning			_mesa_warning
165gl_compile_error		_mesa_compile_error
166
167
168All the drivers have been updated, but not all of them have been
169tested since I can't test some platforms (DOS, Windows, Allegro, etc).
170
171
172X/Mesa Driver
173-------------
174
175The source files for the X/Mesa driver in src/X have been renamed.
176The xmesa[1234].c files are gone.  The new files are xm_api.c,
177xm_dd.c, xm_line.c, xm_span.c and xm_tri.c.
178
179
180
181Multitexture
182------------
183
184Eight texture units are now supported by default.
185
186
187
188OpenGL SI related changes
189-------------------------
190
191In an effort to make Mesa's internal interfaces more like the OpenGL
192SI interfaces, a number of changes have been made:
193
1941. Importing the SI's glcore.h file which defines a number of
195interface structures like __GLimports and __GLexports.
196
1972. Renamed "struct gl_context" to "struct __GLcontextRec".
198
1993. Added __glCoreCreateContext() and __glCoreNopDispatch() functions.
200
2014. The GLcontext member Visual is no longer a pointer.
202
2035. New file: imports.c to setup default import functions for Mesa.
204
205
206
207
20816-bit color channels
209---------------------
210
211There's experimental support for 16-bit color channels (64-bit pixels)
212in Mesa 3.5.  Only the OSMesa interface can be used for 16-bit rendering.
213Type "make linux-osmesa16" in the top-level directory to build the
214special libOSMesa16.so library.
215
216This hasn't been tested very thoroughly yet so please file bug reports
217if you have trouble.
218
219In the future I hope to implement support for 32-bit, floating point
220color channels.
221
222----------------------------------------------------------------------
223$Id: RELNOTES-3.5,v 1.13 2001/05/04 17:42:53 brianp Exp $
224