xref: /aosp_15_r20/external/mesa3d/docs/_extra/relnotes/3.5 (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker
2*61046927SAndroid Build Coastguard Worker                         Mesa 3.5 release notes
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Worker                             June 21, 2001
5*61046927SAndroid Build Coastguard Worker
6*61046927SAndroid Build Coastguard Worker                             PLEASE READ!!!!
7*61046927SAndroid Build Coastguard Worker
8*61046927SAndroid Build Coastguard Worker
9*61046927SAndroid Build Coastguard Worker
10*61046927SAndroid Build Coastguard WorkerIntroduction
11*61046927SAndroid Build Coastguard Worker------------
12*61046927SAndroid Build Coastguard Worker
13*61046927SAndroid Build Coastguard WorkerMesa uses an even/odd version number scheme like the Linux kernel.
14*61046927SAndroid Build Coastguard WorkerOdd numbered versions (such as 3.5) designate new developmental releases.
15*61046927SAndroid Build Coastguard WorkerEven numbered versions (such as 3.4) designate stable releases.
16*61046927SAndroid Build Coastguard Worker
17*61046927SAndroid Build Coastguard WorkerThe biggest change in Mesa 3.5 is a complete overhaul of the source
18*61046927SAndroid Build Coastguard Workercode in order to make it more modular.  This was driven by the DRI
19*61046927SAndroid Build Coastguard Workerhardware drivers.  It simplifies the DRI drivers and opens the door
20*61046927SAndroid Build Coastguard Workerto hardware transform/clip/lighting (TCL).  Keith Whitwell can take
21*61046927SAndroid Build Coastguard Workerthe credit for that.
22*61046927SAndroid Build Coastguard Worker
23*61046927SAndroid Build Coastguard Worker
24*61046927SAndroid Build Coastguard Worker
25*61046927SAndroid Build Coastguard WorkerDriver Support
26*61046927SAndroid Build Coastguard Worker--------------
27*61046927SAndroid Build Coastguard Worker
28*61046927SAndroid Build Coastguard WorkerThe device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4
29*61046927SAndroid Build Coastguard WorkerNot all of the older Mesa drivers have been updated.  Here's the status:
30*61046927SAndroid Build Coastguard Worker
31*61046927SAndroid Build Coastguard WorkerDriver			Status
32*61046927SAndroid Build Coastguard Worker----------------------	-----------
33*61046927SAndroid Build Coastguard WorkerXMesa (Xlib)		updated
34*61046927SAndroid Build Coastguard WorkerOSMesa (off-screen)	updated
35*61046927SAndroid Build Coastguard WorkerFX (3dfx Voodoo1/2)	updated
36*61046927SAndroid Build Coastguard WorkerSVGA			updated
37*61046927SAndroid Build Coastguard WorkerGGI			not updated
38*61046927SAndroid Build Coastguard WorkerWindows/Win32		not updated
39*61046927SAndroid Build Coastguard WorkerDOS/DJGPP		not updated
40*61046927SAndroid Build Coastguard WorkerBeOS			not updated
41*61046927SAndroid Build Coastguard WorkerAllegro			not updated
42*61046927SAndroid Build Coastguard WorkerD3D			not updated
43*61046927SAndroid Build Coastguard WorkerDOS			not updated
44*61046927SAndroid Build Coastguard Worker
45*61046927SAndroid Build Coastguard WorkerWe're looking for volunteers to update the remaining drivers.  Please
46*61046927SAndroid Build Coastguard Workerpost to the Mesa3d-dev mailing list if you can help.
47*61046927SAndroid Build Coastguard Worker
48*61046927SAndroid Build Coastguard Worker
49*61046927SAndroid Build Coastguard Worker
50*61046927SAndroid Build Coastguard WorkerGLU 1.3
51*61046927SAndroid Build Coastguard Worker-------
52*61046927SAndroid Build Coastguard Worker
53*61046927SAndroid Build Coastguard WorkerMesa 3.5 includes the SGI Sample Implementation (SI) GLU library.
54*61046927SAndroid Build Coastguard WorkerThis version of GLU supports the GLU 1.3 specification.  The old
55*61046927SAndroid Build Coastguard WorkerMesa GLU library implemented the 1.1 specification.  The SI GLU
56*61046927SAndroid Build Coastguard Workerlibrary should work much better.
57*61046927SAndroid Build Coastguard Worker
58*61046927SAndroid Build Coastguard WorkerYou'll need a C++ compiler to compile the SI GLU library.  This may
59*61046927SAndroid Build Coastguard Workerbe a problem on some systems.
60*61046927SAndroid Build Coastguard Worker
61*61046927SAndroid Build Coastguard Worker
62*61046927SAndroid Build Coastguard Worker
63*61046927SAndroid Build Coastguard WorkerNew Extensions
64*61046927SAndroid Build Coastguard Worker--------------
65*61046927SAndroid Build Coastguard Worker
66*61046927SAndroid Build Coastguard WorkerGL_EXT_convolution
67*61046927SAndroid Build Coastguard Worker	Adds image convolution to glRead/Copy/DrawPixels/TexImage.
68*61046927SAndroid Build Coastguard Worker
69*61046927SAndroid Build Coastguard WorkerGL_ARB_imaging
70*61046927SAndroid Build Coastguard Worker	This is the optional imaging subset of OpenGL 1.2.
71*61046927SAndroid Build Coastguard Worker	It's the GL_EXT_convolution, GL_HP_convolution_border_modes,
72*61046927SAndroid Build Coastguard Worker	GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable
73*61046927SAndroid Build Coastguard Worker	GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract
74*61046927SAndroid Build Coastguard Worker	and GL_SGI_color_matrix extensions all rolled together.
75*61046927SAndroid Build Coastguard Worker	This is supported in all software renderers but not in all
76*61046927SAndroid Build Coastguard Worker	hardware drivers (3dfx for example).
77*61046927SAndroid Build Coastguard Worker
78*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_compression
79*61046927SAndroid Build Coastguard Worker	This is supported in Mesa but only used by the 3dfx DRI drivers
80*61046927SAndroid Build Coastguard Worker	for Voodoo4 and later.
81*61046927SAndroid Build Coastguard Worker
82*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_env_add
83*61046927SAndroid Build Coastguard Worker	This is identical to GL_EXT_texture_env_add.
84*61046927SAndroid Build Coastguard Worker
85*61046927SAndroid Build Coastguard WorkerGL_NV_blend_square
86*61046927SAndroid Build Coastguard Worker	Adds extra blend source and dest factors which allow squaring
87*61046927SAndroid Build Coastguard Worker	of color values.
88*61046927SAndroid Build Coastguard Worker
89*61046927SAndroid Build Coastguard WorkerGL_EXT_fog_coord
90*61046927SAndroid Build Coastguard Worker	Allows specification of a per-vertex fog coordinate instead of
91*61046927SAndroid Build Coastguard Worker	having fog always computed from the eye distance.
92*61046927SAndroid Build Coastguard Worker
93*61046927SAndroid Build Coastguard WorkerGL_EXT_secondary_color
94*61046927SAndroid Build Coastguard Worker	Allows specifying the secondary (specular) color for each vertex
95*61046927SAndroid Build Coastguard Worker	instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
96*61046927SAndroid Build Coastguard Worker	mode.
97*61046927SAndroid Build Coastguard Worker
98*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_env_combine
99*61046927SAndroid Build Coastguard Worker	Basically the same as GL_EXT_texture_env_combine
100*61046927SAndroid Build Coastguard Worker
101*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_env_add extension
102*61046927SAndroid Build Coastguard Worker	Texture addition mode.
103*61046927SAndroid Build Coastguard Worker
104*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_env_dot3 extension
105*61046927SAndroid Build Coastguard Worker	Dot product texture environment.
106*61046927SAndroid Build Coastguard Worker
107*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_border_clamp
108*61046927SAndroid Build Coastguard Worker	Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode
109*61046927SAndroid Build Coastguard Worker
110*61046927SAndroid Build Coastguard WorkerGL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient
111*61046927SAndroid Build Coastguard Worker	Implements a shadow casting algorithm based on depth map textures
112*61046927SAndroid Build Coastguard Worker
113*61046927SAndroid Build Coastguard WorkerGL_SGIS_generate_mipmap
114*61046927SAndroid Build Coastguard Worker	Automatically generate lower mipmap images whenever the base mipmap
115*61046927SAndroid Build Coastguard Worker	image is changed with glTexImage, glCopyTexImage, etc.
116*61046927SAndroid Build Coastguard Worker
117*61046927SAndroid Build Coastguard Worker
118*61046927SAndroid Build Coastguard Worker
119*61046927SAndroid Build Coastguard WorkerlibOSMesa.so
120*61046927SAndroid Build Coastguard Worker------------
121*61046927SAndroid Build Coastguard Worker
122*61046927SAndroid Build Coastguard WorkerlibOSMesa.so is a new library which contains the OSMesa interface for
123*61046927SAndroid Build Coastguard Workeroff-screen rendering.  Apps which need the OSMesa interface should link
124*61046927SAndroid Build Coastguard Workerwith both -lOSMesa and -lGL.  This change was made so that stand-alone
125*61046927SAndroid Build Coastguard WorkerMesa works the same way as XFree86/DRI's libGL.
126*61046927SAndroid Build Coastguard Worker
127*61046927SAndroid Build Coastguard Worker
128*61046927SAndroid Build Coastguard Worker
129*61046927SAndroid Build Coastguard WorkerDevice Driver Changes / Core Mesa Changes
130*61046927SAndroid Build Coastguard Worker-----------------------------------------
131*61046927SAndroid Build Coastguard Worker
132*61046927SAndroid Build Coastguard WorkerThe ctx->Driver.LogicOp() function has been removed.  It used to
133*61046927SAndroid Build Coastguard Workerbe called during state update in order to determine if the driver
134*61046927SAndroid Build Coastguard Workercould do glLogicOp() operations, and if not, set the SWLogicOpEnabled
135*61046927SAndroid Build Coastguard Workerflag.  Drivers should instead examine the LogicOp state themselves
136*61046927SAndroid Build Coastguard Workerand choose specialized point, line, and triangle functions appropriately,
137*61046927SAndroid Build Coastguard Workeror fall back to software rendering.  The Xlib driver was the only driver
138*61046927SAndroid Build Coastguard Workerto use this function.  And since the Xlib driver no longer draws
139*61046927SAndroid Build Coastguard Workerpoints, lines or triangles using Xlib, the LogicOp function isn't needed.
140*61046927SAndroid Build Coastguard Worker
141*61046927SAndroid Build Coastguard WorkerThe ctx->Driver.Dither() function has been removed.  Drivers should
142*61046927SAndroid Build Coastguard Workerdetect dither enable/disable via ctx->Driver.Enable() instead.
143*61046927SAndroid Build Coastguard Worker
144*61046927SAndroid Build Coastguard WorkerThe ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions
145*61046927SAndroid Build Coastguard Workerare now just called from glIndexMask and glColorMask like the other
146*61046927SAndroid Build Coastguard WorkerGL state-changing functions.  They are no longer called from inside
147*61046927SAndroid Build Coastguard Workergl_update_state().  Also, they now return void.  The change was made
148*61046927SAndroid Build Coastguard Workermostly for sake of uniformity.
149*61046927SAndroid Build Coastguard Worker
150*61046927SAndroid Build Coastguard WorkerThe NEW_DRVSTATE[0123] flags have been removed.  They weren't being used
151*61046927SAndroid Build Coastguard Workerand are obsolete w.r.t. the way state updates are done in DRI drivers.
152*61046927SAndroid Build Coastguard Worker
153*61046927SAndroid Build Coastguard Worker
154*61046927SAndroid Build Coastguard WorkerRemoved obsolete gl_create_visual() and gl_destroy_visual().
155*61046927SAndroid Build Coastguard Worker
156*61046927SAndroid Build Coastguard WorkerRenamed functions (new namespace):
157*61046927SAndroid Build Coastguard Worker
158*61046927SAndroid Build Coastguard Workerold				new
159*61046927SAndroid Build Coastguard Workergl_create_framebuffer		_mesa_create_framebuffer
160*61046927SAndroid Build Coastguard Workergl_destroy_framebuffer		_mesa_destroy_framebuffer
161*61046927SAndroid Build Coastguard Workergl_create_context		_mesa_create_context
162*61046927SAndroid Build Coastguard Workergl_destroy_context		_mesa_destroy_context
163*61046927SAndroid Build Coastguard Workergl_context_initialize		_mesa_context_initialize
164*61046927SAndroid Build Coastguard Workergl_copy_context			_mesa_copy_context
165*61046927SAndroid Build Coastguard Workergl_make_current			_mesa_make_current
166*61046927SAndroid Build Coastguard Workergl_make_current2		_mesa_make_current2
167*61046927SAndroid Build Coastguard Workergl_get_current_context		_mesa_get_current_context
168*61046927SAndroid Build Coastguard Workergl_flush_vb			_mesa_flush_vb
169*61046927SAndroid Build Coastguard Workergl_warning			_mesa_warning
170*61046927SAndroid Build Coastguard Workergl_compile_error		_mesa_compile_error
171*61046927SAndroid Build Coastguard Worker
172*61046927SAndroid Build Coastguard Worker
173*61046927SAndroid Build Coastguard WorkerAll the drivers have been updated, but not all of them have been
174*61046927SAndroid Build Coastguard Workertested since I can't test some platforms (DOS, Windows, Allegro, etc).
175*61046927SAndroid Build Coastguard Worker
176*61046927SAndroid Build Coastguard Worker
177*61046927SAndroid Build Coastguard WorkerX/Mesa Driver
178*61046927SAndroid Build Coastguard Worker-------------
179*61046927SAndroid Build Coastguard Worker
180*61046927SAndroid Build Coastguard WorkerThe source files for the X/Mesa driver in src/X have been renamed.
181*61046927SAndroid Build Coastguard WorkerThe xmesa[1234].c files are gone.  The new files are xm_api.c,
182*61046927SAndroid Build Coastguard Workerxm_dd.c, xm_line.c, xm_span.c and xm_tri.c.
183*61046927SAndroid Build Coastguard Worker
184*61046927SAndroid Build Coastguard Worker
185*61046927SAndroid Build Coastguard Worker
186*61046927SAndroid Build Coastguard WorkerMultitexture
187*61046927SAndroid Build Coastguard Worker------------
188*61046927SAndroid Build Coastguard Worker
189*61046927SAndroid Build Coastguard WorkerEight texture units are now supported by default.
190*61046927SAndroid Build Coastguard Worker
191*61046927SAndroid Build Coastguard Worker
192*61046927SAndroid Build Coastguard Worker
193*61046927SAndroid Build Coastguard WorkerOpenGL SI related changes
194*61046927SAndroid Build Coastguard Worker-------------------------
195*61046927SAndroid Build Coastguard Worker
196*61046927SAndroid Build Coastguard WorkerIn an effort to make Mesa's internal interfaces more like the OpenGL
197*61046927SAndroid Build Coastguard WorkerSI interfaces, a number of changes have been made:
198*61046927SAndroid Build Coastguard Worker
199*61046927SAndroid Build Coastguard Worker1. Importing the SI's glcore.h file which defines a number of
200*61046927SAndroid Build Coastguard Workerinterface structures like __GLimports and __GLexports.
201*61046927SAndroid Build Coastguard Worker
202*61046927SAndroid Build Coastguard Worker2. Renamed "struct gl_context" to "struct __GLcontextRec".
203*61046927SAndroid Build Coastguard Worker
204*61046927SAndroid Build Coastguard Worker3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions.
205*61046927SAndroid Build Coastguard Worker
206*61046927SAndroid Build Coastguard Worker4. The GLcontext member Visual is no longer a pointer.
207*61046927SAndroid Build Coastguard Worker
208*61046927SAndroid Build Coastguard Worker5. New file: imports.c to setup default import functions for Mesa.
209*61046927SAndroid Build Coastguard Worker
210*61046927SAndroid Build Coastguard Worker
211*61046927SAndroid Build Coastguard Worker
212*61046927SAndroid Build Coastguard Worker
213*61046927SAndroid Build Coastguard Worker16-bit color channels
214*61046927SAndroid Build Coastguard Worker---------------------
215*61046927SAndroid Build Coastguard Worker
216*61046927SAndroid Build Coastguard WorkerThere's experimental support for 16-bit color channels (64-bit pixels)
217*61046927SAndroid Build Coastguard Workerin Mesa 3.5.  Only the OSMesa interface can be used for 16-bit rendering.
218*61046927SAndroid Build Coastguard WorkerType "make linux-osmesa16" in the top-level directory to build the
219*61046927SAndroid Build Coastguard Workerspecial libOSMesa16.so library.
220*61046927SAndroid Build Coastguard Worker
221*61046927SAndroid Build Coastguard WorkerThis hasn't been tested very thoroughly yet so please file bug reports
222*61046927SAndroid Build Coastguard Workerif you have trouble.
223*61046927SAndroid Build Coastguard Worker
224*61046927SAndroid Build Coastguard WorkerIn the future I hope to implement support for 32-bit, floating point
225*61046927SAndroid Build Coastguard Workercolor channels.
226*61046927SAndroid Build Coastguard Worker
227*61046927SAndroid Build Coastguard Worker----------------------------------------------------------------------
228