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