RELNOTES-3.5 revision eb11fa73ec505278fa9e7c9a1592bd1f5fd11770
1
2                         Mesa 3.5 release notes
3
4                             Month ??, 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.3) designate new developmental releases.
15Even numbered versions (such as 3.4) designate stable releases.
16
17The internal structure of Mesa 3.5 is (will be) changed so that it
18is more modular.  The motivation is better support of 3D hardware
19such as T&L hardware in which much of core Mesa isn't needed.
20
21Details to come...
22
23
24GLU 1.3
25-------
26
27Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library.
28This version of GLU supports the GLU 1.3 specification.  The old
29Mesa GLU library implemented the 1.1 specification.  The SI GLU
30library should work much better.
31
32You'll need a C++ compiler to compile the SI GLU library.  This may
33be a problem on some systems.
34
35
36
37New Extensions
38--------------
39
40GL_EXT_convolution
41	Adds image convolution to glRead/Copy/DrawPixels/TexImage.
42
43GL_ARB_imaging
44	This is the optional imaging subset of OpenGL 1.2.
45	It's the GL_EXT_convolution, GL_HP_convolution_border_modes,
46	GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable
47	GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract
48	and GL_SGI_color_matrix extensions all rolled together.
49	This is supported in all software renderers but not in all
50	hardware drivers (3dfx for example).
51
52GL_ARB_texture_compression
53	This is supported in Mesa but only used by the 3dfx DRI drivers
54	for Voodoo4 and later.
55
56GL_ARB_texture_env_add
57	This is identical to GL_EXT_texture_env_add.
58
59GL_NV_blend_square
60	Adds extra blend source and dest factors which allow squaring
61	of color values.
62
63GL_EXT_fog_coord
64	Allows specification of a per-vertex fog coordinate instead of
65	having fog always computed from the eye distance.
66
67GL_EXT_secondary_color
68	Allows specifying the secondary (specular) color for each vertex
69	instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
70	mode.
71
72
73
74libOSMesa.so
75------------
76
77libOSMesa.so is a new library which contains the OSMesa interface for
78off-screen rendering.  Apps which need the OSMesa interface should link
79with both -lOSMesa and -lGL.  This change was made so that stand-alone
80Mesa works the same way as XFree86/DRI's libGL.
81
82
83
84Device Driver Changes / Core Mesa Changes
85-----------------------------------------
86
87The ctx->Driver.LogicOp() function has been removed.  It used to
88be called during state update in order to determine if the driver
89could do glLogicOp() operations, and if not, set the SWLogicOpEnabled
90flag.  Drivers should instead examine the LogicOp state themselves
91and choose specialized point, line, and triangle functions appropriately,
92or fall back to software rendering.  The Xlib driver was the only driver
93to use this function.  And since the Xlib driver no longer draws
94points, lines or triangles using Xlib, the LogicOp function isn't needed.
95
96The ctx->Driver.Dither() function has been removed.  Drivers should
97detect dither enable/disable via ctx->Driver.Enable() instead.
98
99The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions
100are now just called from glIndexMask and glColorMask like the other
101GL state-changing functions.  They are no longer called from inside
102gl_update_state().  Also, they now return void.  The change was made
103mostly for sake of uniformity.
104
105The NEW_DRVSTATE[0123] flags have been removed.  They weren't being used
106and are obsolete w.r.t. the way state updates are done in DRI drivers.
107
108
109Removed obsolete gl_create_visual() and gl_destroy_visual().
110
111Renamed functions (new namespace):
112
113old				new
114gl_create_framebuffer		_mesa_create_framebuffer
115gl_destroy_framebuffer		_mesa_destroy_framebuffer
116gl_create_context		_mesa_create_context
117gl_destroy_context		_mesa_destroy_context
118gl_context_initialize		_mesa_context_initialize
119gl_copy_context			_mesa_copy_context
120gl_make_current			_mesa_make_current
121gl_make_current2		_mesa_make_current2
122gl_get_current_context		_mesa_get_current_context
123gl_flush_vb			_mesa_flush_vb
124gl_warning			_mesa_warning
125gl_compile_error		_mesa_compile_error
126
127
128All the drivers have been updated, but not all of them have been
129tested since I can't test some platforms (DOS, Windows, Allegro, etc).
130
131
132Multitexture
133------------
134
135Three texture units are now supported by default.  We'll allow more
136than three texture units when we fix some bitfield issues.  In at least
137one place we have a 32-bit bitfield which is fully allocated, leaving
138no space for texture unit #3 or higher.
139
140The TEXTURE1_1D, TEXTURE1_2D, etc constants may go away in the future.
141Currently, they're only used in the ctx->Texture.ReallyEnabled field.
142This bitfield is just a conglomerate of ctx->Texture.Unit[i].ReallyEnabled
143for all <i> texture units.  ctx->Texture.ReallyEnabled may become a
144GLboolean.  Then, drivers will have to loop over the texture units to
145examine ctx->Texture.Unit[i].ReallyEnabled.
146
147
148
149
150
151
152OpenGL SI related changes
153-------------------------
154
155In an effort to make Mesa's internal interfaces more like the OpenGL
156SI interfaces, a number of changes have been made:
157
1581. Importing the SI's glcore.h file which defines a number of
159interface structures like __GLimports and __GLexports.
160
1612. Renamed "struct gl_context" to "struct __GLcontextRec".
162
1633. Added __glCoreCreateContext() and __glCoreNopDispatch() functions.
164
1654. The GLcontext member Visual is no longer a pointer.
166
1675. New file: imports.c to setup default import functions for Mesa.
168
169
170----------------------------------------------------------------------
171$Id: RELNOTES-3.5,v 1.9 2001/03/17 00:47:19 brianp Exp $
172