VERSIONS revision a701a1445c9c3ad3bda480c41377b90a9a48fad2
1$Id: VERSIONS,v 1.79 2002/01/09 00:30:01 brianp Exp $
2
3
4Mesa Version History
5====================
6
71.0 beta   February 1995
8    Initial release
9
101.1 beta   March 4, 1995
11    Changes:
12	faster point and line drawing (2x faster)
13	more systems supported, better Makefiles
14	Renamed lib*.a files to avoid collisions
15	many small bug fixes
16    New:
17	pseudo-GLX functions added
18	new implementation of evaluators (eval2.c)
19	GLUT support
20
211.1.1 beta   March 7, 1995
22    Changes:
23	Reverted from eval2.c to eval.c due to FPE on Linux
24	more speed improvements
25	more Makefile changes
26
271.1.2 beta   March 14, 1995
28    New:
29	implementation of SGI's blending extensions
30	glXUseXFont implemented
31	added MESA_DEBUG environment variable support
32    Changes:
33	Using eval2.c again
34	more FPE-prevention checks (0-length normals are OK)
35	a few small bug fixes
36	much faster pixel logic ops!
37	faster transformation arithmetic
38
391.1.3 beta   March 31, 1995
40    New:
41	gluScaleImage() and gluBuild2DMipMaps() implemented
42	Mesa widgets for Xt/Motif
43	blendEXT demos
44	added environment variables for selecting visuals
45    Changes:
46	almost all GLUT demos work correctly now
47	faster X device driver functions
48	more bug fixes
49
501.1.4 beta   April 20, 1995
51    Bug fixes:
52	- missing #define SEEK_SET in src-tk/image.c
53	- compile glShadeModel into display lists
54	- fixed pow() domain error in src/light.c
55	- fixed "flickering bitmaps" in double buffer mode
56	- fixed tk.h and aux.h for C++
57	- state of LIGHT_MODEL_LOCAL_VIEWER was inverted
58    New features:
59	- MUCH, MUCH nicer dithering in 8-bit RGB mode
60	- updated widgets and widget demos
61	- Implemented GLXPixmap functions
62	- Added GLU 1.1 and GLX 1.1 functions
63	- Changed the X/Mesa interface API, more versatile
64	- Implemented gluPartialDisk()
65
661.2   May 22, 1995
67    Bug fixes:
68	- IRIX 4.x makefile problem
69	- modified tk to share root colormap as needed
70	- gluLookAt normalization problem
71	- suppress Expose, NoExpose events in swapbuffers
72	- glBitmap() and glDrawPixels() clipping
73    New features:
74	- GL_BLEND, GL_MODULATE, GL_DECAL, and GL_REPLACE_EXT texture
75	      modes implemented
76	- texture maps stored more efficiently
77	- texture maps can be compiled into display lists
78	- Bogdan Sikorski's GLU polygon tesselation code
79	- Linas Vepstas's sweep and extrusion library
80	- glXCreateContext()'s shareList parameter works as it's supposed to.
81	      XMesaCreateContext() updated to accept a shareList parameter too.
82	- Mesa can be compiled with real OpenGL .h files
83	- MESA_BACK_BUFFER environment variable
84	- better GLX error checking
85
861.2.1   June 22, 1995
87    Bug fixes:
88	- X/Mesa double buffer window resize crash
89	- widgets now pass PointerMotion events
90	- X/Mesa incorrect default clear color and drawing color
91	- more robust X MIT-SHM support in X/Mesa
92	- glTexImage( format=GL_LUMINANCE ) didn't work
93	- GL_LINE mode polygons with line width > 1.0 could cause a crash
94	- numerous feedback bugs
95	- glReadPixels() from depth buffer was wrong
96	- error prone depth and stencil buffer allocation
97    New features:
98	- Preliminary Microsoft Windows driver
99	- Implemented a number of missing functions: glEvalCoord[12][df]v(),
100	    glGet...(), etc.
101	- Added a few missing symbols to gl.h and glu.h
102	- Faster rendering of smooth-shaded, RGBA, depth-buffered polygons.
103	- Faster rendering of lines when width=2.0
104	- Stencil-related functions now work in display lists
105    Changes:
106	- renamed aux.h as glaux.h (MS-DOS names can't start with aux)
107	- most filenames are in 8.3 format to accomodate MS-DOS
108	- use GLubytes to store arrays of colors instead of GLints
109
1101.2.2   August 2, 1995
111    New features:
112	- texture mapped points and lines
113	- NURBS! (but not 100% complete)
114	- viewports may safely extend beyond window boundaries
115	- MESA_PRIVATE_CMAP environment variable
116	- Grayscale X display support
117	- two new demos:  demos/gears.c and demos/shadow.c
118	- MachTen for Macintosh configuration
119    Bug fixes:
120	- glGet*(GL_DEPTH_BITS) returned bytes, not bits
121	- point, line, and bitmap rasterization suffered from roundoff errors
122	- fixed a division by zero error in line clippping
123	- occasional wrong default background color really fixed!
124	- glDepthFunc(GL_ALWAYS) with glDepthMask(GL_FALSE) didn't work
125	- gluBuild2DMipmaps malloc problem fixed
126	- view volume clipping of smooth shaded lines resulted in bad colors
127    Changes:
128	- new visual selection method in glXChooseVisual()
129	- improved GLU quadric functions
130	- call XSync for glFinish and XFlush for glFlush
131	- glVertex() calls now use a function pointer to avoid conditionals
132	- removed contrib directory from Mesa tar file (available on ftp site)
133	- AIX shared library support
134	- Removed GLUenum type as it's not in OpenGL
135
1361.2.3   September 26, 1995
137    New features:
138	- Mesa header files now equivalent to SGI OpenGL headers
139	- Support for HP's Color Recovery dithering displays
140	- Faster vertex transformation
141	- Faster raster operations into X windows under certain conditions
142	- New configurations:  HP w/ shared libs, Ultrix w/ GCC, Data General
143	- 4-bit visuals now supported
144    Bug fixes:
145	- glScissor bug fixed
146	- round-off errors in clipping lines against clip planes fixed
147	- byte swapping between hosts and display servers implemented
148	- glGetError() can be called without a current rendering context
149	- problem with accidentally culled polygons is fixed
150	- fixed some widget compilation problems
151
1521.2.4   November 17, 1995
153    New features:
154	- More speed improvements (lighting, fogging, polygon drawing)
155	- Window system and OS-independent off-screen rendering
156	- Preliminary Fortran bindings
157	- glPolygonOffsetEXT implemented
158	- glColorMask and glIndexMask now fully implemented
159	- glPixelZoom implemented
160	- display lists fully implemented
161	- gamma correction
162	- dithering in 8-bit TrueColor/DirectColor visuals
163    Changes:
164	- Improved device driver interface
165	- tk.h renamed to gltk.h to avoid conflicts with Tcl's Tk
166	- Dithering support moved from core into device driver
167    Bug fixes:
168	- glEnable/Disable( GL_LIGHTING ) didn't always take effect
169	- glReadPixels byte swapping was broken
170	- glMaterial with pname==GL_AMBIENT_AND_DIFFUSE was broken
171	- duplicate glColor4b() prototype in GL/gl.h removed
172	- stripes in wave -ci demo fixed
173	- GL_LINEAR_MIPMAP_NEAREST had wrong value
174	- bugs in HP Color Recovery support fixed
175	- fixed bug when blending lines, points, bitmaps outside of window
176
1771.2.5   November 30, 1995
178    New Features:
179	- updated MS Windows driver
180	- new implementation of StaticGray/GrayScale visual support
181    Bug fixes:
182	- pixelzooming with gamma correction or blending didn't work
183	- HP color recovery visual wasn't being picked by glXChooseVisual
184	- glClear didn't always observe glColorMask changes
185	- olympic and offset demos didn't compile on some Suns
186	- texcoord clamping wasn't correct
187	- a polygon optimization introduced an occasional sampling problem
188
1891.2.6   January 26, 1996
190    New Features:
191	- faster line and polygon rendering under certain conditions.  See
192	  Performance Tips 9 and 10 in README
193	- profiling
194	- lighting is a bit faster
195	- better perspective corrected texture mapping
196	- Amiga AmiWin (X11) support
197	- preliminary Linux SVGA driver
198    Changes:
199	- now using a 16-bit depth buffer, faster, smaller
200	- GL_NORMALIZE is disabled by default
201    Bug fixes:
202	- projective texture mapping
203	- fixed a memory leak in the context destroy function
204	- GL_POLYGON with less than 3 vertices caused a crash
205	- glGet*() returned wrong result for GL_INDEX_MODE
206	- reading pixels from an unmapped X window caused a BadMatch error
207
2081.2.7   March 5, 1996
209    New:
210	- faster lighting
211	- faster 16-bit TrueColor rendering on Linux
212	- faster 32-bit TrueColor rendering on Linux, HP, IBM
213	- non-depth-buffered XImage polygons are faster
214	- vertex array extension
215	- software alpha planes
216	- updated Macintosh driver
217	- new NeXT driver
218	- GLU quadric functions generate texture coordinates
219	- reflect.c demo - reflective, textured surface demo
220    Changes:
221	- gamma correction code moved into the X driver for better performance
222    Bug fixes:
223	- multiple glClipPlane()'s didn't work reliably
224	- glPolygonMode() didn't always work
225	- glCullFace( GL_FRONT_AND_BACK ) didn't work
226	- texture mapping with gamma correction was buggy
227	- floating point exceptions in texture coordinate interpolation
228	- XImage byte swapping didn't always work
229	- polygon edge flags weren't always used correctly
230
2311.2.8   May 22, 1996
232    New:
233	- overlay planes on X servers with the SERVER_OVERLAY_VISUALS property
234	- better monochrome output
235	- more IRIX 6.x configurations
236	- more robust RGB mode color allocation
237	- added MESA_XSYNC environment variable
238	- GLX_MESA_pixmap_colormap and GLX_EXT_visual_info extensions
239	- GL_MESA_window_pos extension
240	- faster glReadPixels/glDrawPixels for GL_DEPTH and GL_UNSIGNED_SHORT
241	  and GL_UNSIGNED_INT
242        - driver for prototype Cirrus Mondello 3-D board
243	- updated AmigaDOS driver
244        - a few small speed optimizations in polygon rendering
245    Changes:
246	- internal device driver interface modified to simplify device
247	  driver implementations and to support hardware Z buffers
248	- several changes to the X/Mesa interface (xmesa.h)
249    Bug fixes:
250	- fixed pow(0,0) domain error triggered on some systems
251	- glStencilClear() in a display list caused an infinite loop
252	- glRasterPos*() was sometimes off by +/-0.5 in X and Y
253	- color masking and blending were performed in wrong order
254	- auxSolidCylinder() sometimes drew a wire-frame cylinder
255	- fixed file writing bug in osdemo.c
256	- pixel mapping didn't always work
257	- the GL_GEQUAL stencil func didn't work
258	- the GL_INVERT stencil op didn't work
259	- the stencil write mask didn't work
260	- glPush/PopAttrib() didn't do enough error checking
261	- glIsList() didn't always work correctly
262
2632.0  October 10, 1996
264    New:
265	- Implements OpenGL 1.1 API functions
266	- all texture filtering modes supported (mipmapping)
267	- faster texture mapping, see Performance Tip 11 in README
268	- antialiased RGB points
269	- X support for line and polygon stippling
270	- glDrawBuffer( GL_FRONT_AND_BACK ) works
271	- util/ directory of useful stuff
272	- demos/texobj demo of texture objects
273    Changes:
274	- major internal changes for thread-safeness
275	- new device driver interface
276	- MESA_ALPHA env variable removed
277	- triangle rasterizer replaces polygon rasterizer
278    Bug fixes:
279	- glPopAttrib() bug
280	- glDrawBuffer(GL_NONE) works now
281
2822.1  December 14, 1996
283    New:
284	- VMS support
285	- MS-DOS driver
286	- OpenStep support
287	- updated, combined Windows 95/NT driver
288	- implemented glGetLighti() and glGetTexGen*()
289	- GLX does garbage collection of ancillary buffers
290    Bug fixes:
291	- removed unused _EXT constants from gl.h
292	- fixed polygon offset bugs
293	- Z coordinates of clipped lines were incorrect
294	- glEdgeFlag() in display lists didn't always work
295	- glLight*() in display lists didn't work
296	- fixed X line stipple bugs (Michael Pichler)
297	- glXUseXfonts XFreeFont/XFreeFontInfo bug fixed
298	- fixed a feedback bug
299	- glTexGen*() now transforms GL_EYE_PLANE by inverse modelview matrix
300	- polygons were sometimes culled instead of clipped
301	- triangle rasterizer suffered from float/int overflow exceptions
302	- fixed FP underflow exception in lighting (specular exponent)
303	- glEnable/glDisable of GL_EXT_vertex_array enums didn't work
304	- fixed free(NULL) in GLU tesselator code
305	- using 24-bit color on some X servers resulted in garbage rendering
306	- 32-bit per pixel mode for XFree86 now works
307	- glRotate(a,0,0,0) gave unpredictable results
308	- GL_LINE_STRIP with > 480 vertices had occasional clipping problems
309	- 8-bit TrueColor GLXPixmap rendering incorrectly required a colormap
310	- glMaterial() wasn't ignored when GL_COLOR_MATERIAL was enabled
311	- glEnable(GL_COLOR_MATERIAL) followed by glColor() didn't work right
312	- accumulation buffer was limited to positive values
313	- projective textures didn't work
314	- selection buffer overflows weren't handled correctly
315    Changes:
316	- restored the GL_EXT_polygon_offset extension
317	- slightly faster RGB dithering
318	- the SVGA driver works again
319	- Amiga driver now distributed separately
320	- NeXT driver updated for Mesa 2.x
321
3222.2  March 14, 1997
323    New:
324	- better color selection when dithering
325	- added GL_EXT_texture_object extension
326	- updated MS-DOS driver for DJGPP
327	- added openbsd make configuration
328	- faster dithered flat-shaded triangles
329	- various compilation problems with Motif widgets fixed
330	- gl.h, glx.h and glu.h name mangling option
331	- BeOS driver
332	- 3D texture mapping extension
333	- GL_MESA_resize_buffers extension
334	- morph3d, stex3d and spectex demos
335	- 3Dfx support
336    Bug fixes:
337	- glColorMaterial should finally work right in all respects
338	- linear interpolation of mipmap levels was incorrectly weighted
339	- readpix.c didn't compile on Macintosh
340	- GL_INVERT and related logic ops didn't work right
341	- glTexImage[12]D() didn't check its parameters consistantly
342	- fixed a memory leak in glTexImage[12]D()
343	- kludged around a SunOS 5.x/GCC compiler bug in the feedback code
344	- glReadPixels aborted instead of normally catching some errors
345	- a few 1.1 constants were missing or misnamed in gl.h
346	- glBegin(p); glBegin(q); didn't generate an error
347	- fixed a memory leak in GLX code
348	- clipping of concave polygons could cause a core dump
349	- 1-component alpha texture maps didn't work
350	- fixed a GLU polygon tesselator bug
351	- polygons with colinear vertices were sometimes culled
352	- feedback triangle colors were wrong when using smooth shading
353	- textures with borders didn't work correctly
354	- colors returned in feedback mode were wrong when using lighting
355	- spotlights didn't effect ambient lighting correctly
356	- gluPartialDisk() had a few bugs
357    Changes:
358	- device driver interface expanded to support texture mapping
359	- faster matrix inversion subroutine
360	- commented out #include "wmesa_extend.h" from src/wmesa.c
361	- fixed many compiler warnings in the demo programs
362
3632.3  June 30, 1997
364    New:
365	- Mesa distribution divided into two pieces:  library code and demos
366	- faster vertex transformation, clip testing, lighting
367	- faster line drawing
368	- TrueColor visuals how have dithering (for depths < 24 bits)
369	- added MESA_NO_DITHER environment variable
370	- new device driver function: NearFar(), RenderVB(), RasterSetup()
371	- added LynxOS configuration
372	- added cygnus Win32 configuration
373	- added texcyl.c GLUT demo
374	- added XMesaDitherColor() to X/Mesa interface
375	- new NURBS code from Bogdan Sikorski
376	- added demos/shape.c (non-rectangular X window!)
377    Bug fixes:
378	- glEnable/DisableClientState() were missing from GL/gl.h
379	- GL_SPHERE_MAP texcoord generation didn't work correctly
380	- glXGetConfig() returned wrong number of depth, stencil, accum bits
381	- glDrawPixels feedback/selection didn't examine RasterPos valid bit
382	- black and white were reversed on some monochrome displays
383	- fixed potential image memory leak (wasn't setting reference counter)
384	- glDrawPixels sometimes didn't recognize some GL state changes
385	- gluProject/UnProject() didn't check for divide by zero
386	- stex3d demo called random() and srandom(), not portable
387	- fixed memory leaks in context.c and drawpix.c
388	- fixed NULL dereferencing problem in gl_update_texture_state()
389	- glReadPixels between glBegin/glEnd didn't generate an error.
390	- fixed memory leak in polygon tesselator (Randy Frank)
391	- fixed seg fault bug drawing flat-shaded, depth-tested lines
392	- clipped GL_TRIANGLE_STRIPs sometimes had wrong color when flat-shaded
393	- glBindTexture sometimes didn't work
394	- fixed a bug deep in glXReleaseBuffersMESA()
395	- fog was mistakenly applied to alpha
396	- glPopMatrix didn't set "dirty matrix" flag
397	- glPolygonStipple pattern was sometimes wrong
398	- glClear wasn't disabled during feedback and selection
399	- fixed memory leak in glTexSubImage[123]D
400    Changes:
401	- many library source files reorganized
402	- faster X color allocation, colors also freed when finished with them
403	- new texture sampling function pointer in texture objects
404	- incorporated 3Dfx VooDoo driver v0.16 into main source tree
405	- many 3Dfx driver updates
406	- cygnus Makefiles now included
407	- updated DOS driver
408	- made a few changes to dosmesa.c and wmesa.c (VB->Unclipped)
409	- internally, colors now stored in GLubytes, not GLfixed
410	- optimized changing of GL_SHININESS parameter
411
4122.4  September 18, 1997
413    New:
414	- updated 3Dfx Glide driver
415	- hacks for 3Dfx rendering into an X window or fullscreen
416	- added depth buffer access functions to X/Mesa and OS/Mesa interfaces
417    Bug fixes:
418	- pixel buffer could overflow with long, wide lines
419	- fixed FP underflow problems in lighting
420	- glTexSubImage1D() had an unitialized variable
421	- incomplete texture objects could cause a segfault
422	- glDrawPixels with GL_COMPILE_AND_EXECUTE caused infinite loop
423	- flat-shaded quads in a strip were miscolored if clipped
424	- mipmapped triangle lod computation now works correctly
425	- fixed a few under/overflow bugs in triangle rasterizer
426	- glArrayElement() assigned bad normal if normal array disabled
427	- changed argument to glXReleaseBuffersMESA()
428	- fixed small triangle underflow bugs in tritemp.h (hopefully)
429	- glBindTexture(target, 0) caused a crash
430	- glTexImage[123]D() with NULL image pointer caused crash
431	- glPixelStore parameters are now ignored during display list execution
432	- fixed a two-sided lighting w/ clipping bug (black vertices)
433	- textures with width!=height were sometimes mis-rendered
434	- "weird" projection matrices could cause div by 0, other fp errors
435    Changes:
436	- changed precompiled header symbol from PCH to PC_HEADER
437	- split api.c into api1.c and api2.c
438	- added hash.c source file (but not used yet)
439	- a few Sun and HP configuration file changes
440	- MESA_GLX_FX env var replaces MESA_FX_WINDOW and MESA_FX_FULLSCREEN
441	- fixed a few cygnus build problems (src/Makefile.cygnus, src/wmesa.c)
442
4432.5  November 20, 1997
444    New:
445	- updated 3Dfx driver (v20) for GLQuake
446	- added GL_EXT_paletted_texture extension
447	- added GL_EXT_shared_texture_palette extension
448	- added GL_EXT_point_parameters extension
449	- now including Mark Kilgard's GLUT library v3.6
450	- new GLUT-based demos in gdemos/
451	- added a few more Unix config targets
452	- added Intel X86 assembly language vertex transformation code
453	- 3Dfx/Glide driver for Mesa now recognizes SST_SCREENREFRESH env var
454	- Windows 95 S3 Virge driver
455    Bug fixes:
456	- glCopyTexImage?D would crash due to uninitialized variable
457	- glColor w/ glColorMaterial in a display list caused a bug
458	- fixed several glDrawPixels() and ReadPixels() bugs in 3Dfx driver
459	- glVertex4*() vertices weren't always projected correctly
460	- trying to use mipmapped textured points or lines caused crash
461	- glColor[34][fd]() values now clamped to [0,1] before int conversion
462    Changes:
463	- new device driver functions for texture mapping
464	- hash tables used for display list and texture object lookup
465	- fixed GLX visual handling code to avoid saving redundant visuals
466	- 3Dfx Glide libraries automatically linked to libMesaGL.so
467	- dropped the Cirrus Logic Mondello code since it's obsolete
468	- updated Cygnus Makefiles (Stephane Rehel)
469	- updated Windows MSVC++ Makefiles (Oleg Letsinsky)
470	- procedure for making library files has changed: scripts now take
471	  a major and minor version arguments.  Make-config changed a lot.
472	- new implementation of glTexSubImage2D()
473	- updated widgets-mesa directory to create libMesaGLwM.a (Motif widget)
474	- separate linux-glide and linux-386-glide configurations
475
4762.6  February 12, 1998
477    New:
478	- Windows WGL functions
479	- updated VMS, DOS, Windows, Cygnus, BeOS, Amiga compilation support
480	- v0.22 of 3Dfx Glide driver
481	- more X86 assembly language optimizations
482	- faster blending for some modes
483	- XMesaSetFXmode() to switch between 3Dfx window and full-screen mode 
484	- added preliminary thread support
485	- added GLX_MESA_copy_sub_buffer extension
486	- some clipping optimizations
487    Bug fixes:
488	- fixed shading/material bug when drawing long primitive strips
489	- fixed clipping problem in long primitive strips
490	- fixed clipping bug when using 3Dfx driver
491	- fixed a problem when trying to use X fonts w/ 3Dfx driver
492	- fixed a texture filter bug in 3Dfx/Glide driver
493	- fixed bug in 3Dfx/Glide driver involving depth mask & clearing
494	- glLoadMatrix to set projection matrix confused the 3Dfx driver
495	- non-identity texture matrices didn't work with linux-386 configs
496	- glGenTextures() didn't reserve the returned texture IDs
497	- NULL proxy image sent to glTexImageXD() caused crash
498	- added texture state validation optimization (Henk Kok)
499	- fixed colormap reuse problem when using both RGB and CI windows
500	- 32bpp True/DirectColor X visuals weren't recognized
501	- fixed potential problem in evaluators memory allocation
502	- fixed assorted demo compilation bugs
503    Changes:
504	- replaced old Mesa/windows/ directory with Mesa/WIN32/ directory
505	- converted a few old glaux/gltk demos to GLUT
506	- renamed directories:  demos -> xdemos,  gdemos -> demos
507
508
5093.0  September 17, 1998
510    New:
511	- OpenGL 1.2 API
512	- GL_EXT_abgr pixel format extension
513	- GL_SGIS_texture_edge_clamp extension
514	- GL_SGIS_multitexture extension (to be replaced by GL_ARB_multitex)
515	- GL_EXT_multitexture extension (to be replaced by GL_ARB_multitex)
516	- GL_EXT_rescale_normal extension and renormal.c demo
517	- GLX_SGI_video_sync extension (a no-op)
518	- antialiased lines
519	- glGetTexImage() now implemented
520	- glDraw/Copy/ReadPixels() optimizations
521	- optimized textured triangle code (Marten Stromberg)
522	- more optimization of dithered TrueColor triangles in X driver
523	- Linux GGI driver
524	- updated MGL driver
525    Bug fixes:
526	- lots of assorted compilation fixes
527	- glInitNames didn't write initial hit record
528	- glBitmap didn't always check for invalid raster position
529	- switching between GLX and OSMesa contexts caused a crash
530	- fixed uninitialized variable in Mesa widget code
531	- fixed typo in texture code which caused book/texgen to crash
532	- fixed texture sampling bug when filter=GL_LINEAR and wrap=GL_CLAMP
533	- gluDisk() in POINT or LINE mode sometimes failed
534	- fixed texture + fog bug
535	- GL_COMPILE_AND_EXECUTE mode didn't work reliably
536	- glMultMatrix in projection matrix mode w/ 3Dfx driver could fail
537	- glDrawPixels(color index pixels) weren't converted to RGBA
538	- fixed possible getenv() buffer overflow security bug
539	- glBitmap in feedback mode was offset by xOrig, yOrig params
540	- device driver's DrawPixels hook was never used
541	- glDrawPixels with zoomY!=1 and top/bottom clipping didn't work
542	- glDrawPixels optimized for GL_LUMINANCE, GL_LUMINANCE_ALPHA, GLubyte
543	- fixed MakeCurrent bug in GLwRedrawObjects() in MesaWorkstation.c
544	- glCopyTexSubImage2D() didn't work with 3Dfx driver
545	- lines with width = 2 could cause crash
546	- glClear with scissor rect sometimes cleared whole buffer
547	- glTexSubImage2D( .. GL_COLOR_INDEX .. ) didn't work
548	- glTexImageXD( .. GL_ABGR_EXT .. ) didn't work
549	- computation of inverse modelview matrix sometimes failed
550	- fixed GL_CLAMP mode texture sampling bug
551	- textured line interpolation was somewhat broken
552	- textured triangle interpolation was also somewhat broken
553	- glGet(MODELVIEW/PROJECTION/TEXTURE_MATRIX_STACK_DEPTH) off by one
554	- evaluator state wasn't fully initialized
555	- texture coordinate clipping was buggy
556	- evaluator surfaces could be mis-colored
557	- glAccum(GL_RETURN, s) didn't obey glColorMask() settings
558	- zero area polygons shouldn't be culled if polygon mode is point/line
559	- clipped width and height of glReadPixels was sometimes off by one
560	- blending with alpha = 0 or 1.0 wasn't always exact
561	- reading of pixels from clipped region was buggy
562	- minor tweaking of X visual management in GLX emulator
563	- glPolygonStipple now obeys pixel unpacking parameters
564	- glGetPolygonStipple now obeys pixel packing parameters
565	- interleaved vertex array texture coordinates were broken
566	- query of proxy texture internal format was broken
567	- alpha channel wasn't reliably cleared
568	- fixed divide by zero error in gluScaleImage if dest size = 1 x 1
569    Conformance bug fixes:
570	- GL_SELECTION_BUFFER_POINTER and GL_SELECTION_BUFFER_SIZE were missing
571	- GL_TEXTURE_INTERNAL_FORMAT was missing
572	- glGet*(GL_POLYGON_STIPPLE) was broken
573	- glPush/PopAttrib() didn't save/restore all texture state
574	- glBitmap in feedback mode didn't work
575	- feedback of texture coords didn't always work
576	- glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLbyte was broke
577	- glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLubyte was broke
578	- glDrawPixels w/ format=GL_STENCIL_INDEX, type=GL_BITMAP was broke
579    Changes:
580	- upgraded GLUT to version 3.7
581	- only GL and GLU library code included in MesaLib.tar.gz
582	- GLUT and all demos now in MesaDemos.tar.gz
583	- glaux and gltk libraries removed
584	- IRIX -n32 and -64 libs go in lib32/ and lib64/ directories
585
586
5873.1 beta 1  November 19, 1998
588    New:
589	- GL_EXT_stencil_wrap extension
590	- GL_INGR_blend_func_separate extension
591	- GL_ARB_multitexture extension
592	- GL_NV_texgen_reflection extension
593	- newly optimized vertex transformation code
594	- updated GLUT 3.7 code
595	- better precision when using 32-bit Z buffer
596	- Allegro DJGPP driver
597    Bug fixes:
598	- glCopyPixels between front/back buffers didn't copy alpha correctly
599	- fixed out-of-bounds memory access in optimized 2-D texture code
600	- glPixelStorei didn't accept GL_PACK/UNPACK_IMAGE_HEIGHT parameter
601	- glGet*() didn't accept GL_MAX_3D_TEXTURE_SIZE parameter
602	- clipping of texture coordinates sometimes had bad R,Q values
603	- GL_CLAMP_TO_EDGE texture sampling was off by 0.5 texels
604	- glEdgeFlagPointer() now takes a GLvoid * instead of GLboolean *
605	- texture was sometimes applied twice with 3Dfx driver
606	- glPush/PopAttrib() fouled up texture object reference counts
607	- glDeleteLists(0, n) caused assertion failure
608	- bilinear texture sampling wasn't accurate enough
609	- glClear w/ glDepthMask(GL_FALSE) didn't work right on 3Dfx
610	- color components were reversed on big endian 32 bpp X visuals
611    Changes:
612	- removed GL_EXT_multitexture extension
613
614
6153.1 beta 2  May 24, 1999
616    New:
617	- multi-textured points and lines (mjk@nvidia.com)
618	- optimized 24bpp X rendering (bernd.paysan@gmx.de)
619	- added allegro support (bernie-t@geocities.com)
620	- cleaned-up Windows-related stuff (Ted Jump)
621	- minor stereo changes (KendallB@scitechsoft.com)
622	- new BeOS driver which implements BGLView class
623	- new Direct3D driver (see src/D3D)
624	- more efficient filled gluCylinder() function
625	- utilities:  util/showbuffer.[ch] and util/glstate.[ch]
626	- fixed some IRIX compiler warnings
627	- added support for building Mesa in XFree86 with
628	    SGI's GLX (kevin@precisioninsight.com)
629    Bug fixes:
630	- a variety of Windows/Mesa bug fixes (mjk@nvidia.com)
631	- packed pixel images weren't unpacked correctly
632	- patches some win32 files in GLUT (mjk@nvidia.com)
633	- glTexImage[123]D() didn't accept internalFormat == GL_COLOR_INDEX
634	- fixed lighting bug in Keith's new shading code
635	- fixed texture segfault seen in Lament screensaver
636	- fixed miscellaneous low-memory bugs
637	- glClear(GL_COLOR_BUFFER_BIT) with RGBA or CI masking was broken
638	- GL_LINEAR sampling of 3D textures was broken
639	- fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org)
640	- added GL_TEXTURE_PRIORITY fix (keithh@netcomuk.co.uk)
641	- fixed wide point and wide line conformance bugs (brianp)
642    Changes:
643	- some device driver changes (see src/dd.h)
644	- new copyright on core Mesa code
645
646
6473.1 beta 3  September 17, 1999
648    New:
649	- optimized glAccum function
650	- optimized 24bpp rendering in XMesa driver
651	- GLU 1.2 polygon tessellator
652    Bug Fixes:
653	- glGetTexLevelParameter wasn't fully implemented
654	- glXUseXFont now handles multi-byte fonts
655	- glIsEnabled(GL_TEXTURE_2D / 3D) returned wrong result
656	- alpha channel of blending points, lines was sometimes incorrect
657    Changes:
658	- New library names:  "libGL" instead of "libMesaGL"
659	- New library numbering: libGL.so.1.2.310
660	- New subdirectories:  docs/ and bin/
661	- New Makefile-system (autoconf,automake,libtool)
662
663
6643.1 final  December 14, 1999
665    New:
666	- added demos/gloss.c
667	- added xdemos/glxdpyinfo.c
668	- added GLX_ARB_get_proc_address extension
669	- rewritten glTexImage code paths (faster, less memory, bug fixes)
670    Bug Fixes:
671	- several vertex array bug fixes
672	- overlapping glCopyPixels with pixel zooming now works
673	- glXUseXFont() bitmaps were vertically shifted by one pixel
674	- glCopyPixels with pixel zooming now works
675
676
6773.2 final  April 24, 2000
678    Bug fixes:
679	- fixed memcpy bugs in span.c
680	- fixed missing glEnd problem in demos/tessdemo.c
681	- fixed bug when clearing 24bpp Ximages
682	- fixed clipping problem found in Unreal Tournament
683	- fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
684	- fixed Loki's 3dfx RGB vs BGR bug
685	- fixed Loki's 3dfx smooth/flat shading bug in SoF
686    Changes:
687	- updated docs/README file
688	- use bcopy() optimizations on FreeBSD
689	- re-enabled the optimized persp_textured_triangle() function
690
691
6923.2.1  July 19, 2000
693    Bug fixes:
694	- gluBuild2DMipmaps() didn't accept GL_BGRA
695	- Fixed compile/makefile problems on IRIX
696	- fixed segfault in 3dfx driver when using GL selection/feedback
697	- no longer cull very, very tiny triangles
698	- blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering)
699	- fixed Motif detection code in widgets-mesa/configure.in
700	- glColorMaterial and glMaterial updates to emissive and ambient
701	  didn't always work right
702	- Specular highlights weren't always in the right place
703	- clipped GL_LINE mode polygons had interior lines appear
704	- blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken
705	- GL_NICEST fog didn't always work with flat shading
706	- glRect commands in display lists were sometimes miscolored
707	- Line Z offset didn't always work
708	- fixed texgen normal vector problem (gloss's teapot)
709	- numerous GL conformance bugs fixed
710    Changes:
711	- glColorMask(false, false, false, false) handled better/faster
712	- reverted to old GLU polygon tessellator, GLU 1.1
713	- updated Win32 build files
714
715
7163.3  July 21, 2000
717    New:
718	- antialiased triangles now implemented
719	- GL_EXT_texture_env_add texture mode extension
720	- GLX 1.3 API
721	- support for separate draw/read buffers (ie GL_SGI_make_current_read)
722	- thread-safe API dispath
723	- improved glxinfo program
724	- demos/texdown program to measure texture download performance
725	- glext.h header file
726	- demos/geartrain program
727	- GL_EXT_texture_lod_bias extension
728	- demos/lodbias program
729	- further optimized glRead/DrawPixels for 16-bit TrueColor X visuals
730	- GLX_EXT_visual_rating extension (a no-op, however)
731	- GL_HP_occlusion_test extension (for X and OS/Mesa drivers)
732	- demos/occlude program
733	- GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions
734	- demos/pixeltex program
735	- GL_SGI_color_matrix extension
736	- GL_SGI_color_table extension
737	- GL_EXT_histogram extension
738	- GL_ARB_texture_cube_map extension
739	- added xdemos/glxheads and xdemos/manywin
740	- demos/texenv.c demo
741	- GL_EXT_texture_env_combine extension (by Holger Waechtler)
742	- Xlib driver is now thread-safe (see xdemos/glthreads)
743    Bug Fixes:
744	- various GL conformance failures fixed since 3.2.1
745    Changes:
746	- gl.h now uses #defines instead of C enums for all tokens
747	- glu.h now uses #defines instead of C enums for all tokens
748	- moved programs from 3Dfx/demos/ into demos/ directory
749
750
7513.4  November 3, 2000
752    New:
753	- optimized glDrawPixels for glPixelZoom(1,-1)
754    Bug Fixes:
755	- widgets-mesa/src/*.c files were missing from 3.3 distro
756	- include/GL/mesa_wgl.h file was missing from 3.3 distro
757	- fixed some Win32 compile problems
758	- texture object priorities weren't getting initialized to 1.0
759	- glAreTexturesResident return value was wrong when using hardware
760	- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
761	- glReadPixels with GLushort packed types was broken
762	- fixed a few bugs in the GL_EXT_texture_env_combine texture code
763	- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
764	- fixed some typos/bugs in the VB code
765	- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
766	- optimized glDrawPixels paths weren't being used
767	- per-fragment fog calculation didn't work without a Z buffer
768	- improved blending accuracy, fixes Glean blendFunc test failures
769	- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
770	- glXGetProcAddressARB() didn't always return the right address
771	- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
772	- texture matrix changes weren't always detected (GLUT projtex demo)
773	- fixed random color problem in vertex fog code
774	- fixed Glide-related bug that let Quake get a 24-bit Z buffer
775    Changes:
776	- finished internal support for compressed textures for DRI
777
778
7793.4.1  February 14, 2001
780    New:
781	- fixed some Linux build problems
782	- fixed some Windows build problems
783	- GL_EXT_texture_env_dot3 extension (Gareth Hughes)
784    Bug fixes:
785	- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
786	- various state-update code changes needed for DRI bugs
787	- disabled pixel transfer ops in glColorTable commands, not needed
788	- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
789	- updated sources and fixed compile problems in widgets-mesa/
790	- GLX_PBUFFER enum value was wrong in glx.h
791	- fixed a glColorMaterial lighting bug
792	- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
793	- glXCopySubBufferMESA() Y position was off by one
794	- Error checking of glTexSubImage3D() was broken (bug 128775)
795	- glPopAttrib() didn't restore all derived Mesa state correctly
796	- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
797	  conformance problems at 16bpp.
798	- clearing depth buffer with scissoring was broken, would segfault
799	- OSMesaGetDepthBuffer() returned bad bytesPerValue value
800	- fixed a line clipping bug (reported by Craig McDaniel)
801	- fixed RGB color over/underflow bug for very tiny triangles
802    Known problems:
803	- NURBS or evaluator surfaces inside display lists don't always work
804
805
8063.4.2  May 17, 2001
807    Bug fixes:
808	- deleting the currently bound texture could cause bad problems
809	- using fog could result in random vertex alpha values
810	- AA triangle rendering could touch pixels outside right window bound
811	- fixed byteswapping problem in clear_32bit_ximage() function
812	- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
813	- fixed memory leak in glXUseXFont()
814	- fragment sampling in AA triangle function was off by 1/2 pixel
815	- Windows: reading pixels from framebuffer didn't always work
816	- glConvolutionFilter2D could segfault or cause FP exception
817	- fixed segfaults in FX and X drivers when using tex unit 1 but not 0
818	- GL_NAND logicop didn't work right in RGBA mode
819	- fixed a memory corruption bug in vertex buffer reset code
820	- clearing the softwara alpha buffer with scissoring was broken
821	- fixed a few color index mode fog bugs
822	- fixed some bad assertions in color index mode
823	- fixed FX line 'stipple' bug #420091
824	- fixed stencil buffer clear width/height typo
825	- fixed GL error glitches in gl[Client]ActiveTextureARB()
826	- fixed Windows compilation problem in texutil.c
827	- fixed 1/8-pixel AA triangle sampling error
828    Changes:
829	- optimized writing mono-colored pixel spans to X pixmaps
830	- increased max viewport size to 2048 x 2048
831
832
8333.5  June 21, 2001
834    New:
835	- internals of Mesa divided into modular pieces (Keith Whitwell)
836	- 100% OpenGL 1.2 conformance (passes all conformance tests)
837	- new AA line algorithm
838	- GL_EXT_convolution extension
839	- GL_ARB_imaging subset
840	- OSMesaCreateContextExt() function
841	- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
842	- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
843	- GL_EXT_fog_coord extension (Keith Whitwell)
844	- GL_EXT_secondary_color extension (Keith Whitwell)
845	- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
846	- GL_SGIX_depth_texture extension
847	- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
848	- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
849	- GL_ARB_texture_env_combine extension
850	- GL_ARB_texture_env_dot3 extension
851	- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
852	- OSMesaCreateContextExt() function
853	- libOSMesa.so library, contains the OSMesa driver interface
854	- GL/glxext.h header file for GLX extensions
855	- somewhat faster software texturing, fogging, depth testing
856	- all color-index conformance tests now pass (only 8bpp tested)
857	- SPARC assembly language TCL optimizations (David Miller)
858	- GL_SGIS_generate_mipmap extension
859    Bug Fixes:
860	- fbiRev and tmuRev were unitialized when using Glide3
861	- fixed a few color index mode conformance failures; all pass now
862	- now appling antialiasing coverage to alpha after texturing
863	- colors weren't getting clamped to [0,1] before color table lookup
864	- fixed RISC alignment errors caused by COPY_4UBV macro
865	- drawing wide, flat-shaded lines could cause a segfault
866	- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
867    Changes:
868	- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
869	- new libOSMesa.so library, contains the OSMesa driver interface
870
871
8724.0  October 22, 2001
873    New:
874	- Mesa 4.0 implements the OpenGL 1.3 specification
875	- GL_IBM_rasterpos_clip extension
876	- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
877	- GL_ARB_texture_mirrored_repeat extension
878	- WindML UGL driver (Stephane Raimbault)
879	- added OSMESA_MAX_WIDTH/HEIGHT queries
880	- attempted compiliation fixes for Solaris 5, 7 and 8
881	- updated glext.h and glxext.h files
882	- updated Windows driver (Karl Schultz)
883    Bug fixes:
884	- added some missing GLX 1.3 tokens to include/GL/glx.h
885	- GL_COLOR_MATRIX changes weren't recognized by teximage functions
886	- glCopyPixels with scale and bias was broken
887	- glRasterPos with lighting could segfault
888	- glDeleteTextures could leave a dangling pointer
889	- Proxy textures for cube maps didn't work
890	- fixed a number of 16-bit color channel bugs
891	- fixed a few minor memory leaks
892	- GLX context sharing was broken in 3.5
893	- fixed state-update bugs in glPopClientAttrib()
894	- fixed glDrawRangeElements() bug
895	- fixed a glPush/PopAttrib() bug related to texture binding
896	- flat-shaded, textured lines were broken
897	- fixed a dangling pointer problem in the XMesa code (Chris Burghart)
898	- lighting didn't always produce the correct alpha value
899	- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
900
901
9024.0.1 December 17, 2001
903    New:
904	- better sub-pixel sample positions for AA triangles (Ray Tice)
905	- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
906    Bug fixes:
907	- added missing break statements in glGet*() for multisample cases
908	- fixed uninitialized hash table mutex bug (display lists / texobjs)
909	- fixed bad teximage error check conditional (bug 476846)
910	- fixed demos readtex.c compilation problem on Windows (Karl Schultz)
911	- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
912	- silence some compiler warnings (gcc 2.96)
913	- enable the #define GL_VERSION_1_3 in GL/gl.h
914	- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
915	- fixed glu.h typedef problem found with MSDev 6.0
916	- build libGL.so with -Bsymbolic (fixes bug found with Chromium)
917	- added missing 'const' to glXGetContextIDEXT() in glxext.h
918	- fixed a few glXGetProcAddress() errors (texture compression, etc)
919	- fixed start index bug in compiled vertex arrays (Keith)
920	- fixed compilation problems in src/SPARC/glapi_sparc.S
921	- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
922	- use glXGetProcAddressARB in GLUT to avoid extension linking problems
923	- provoking vertex of flat-shaded, color-index triangles was wrong
924	- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
925	- glTexParameter didn't flush the vertex buffer (Ray Tice)
926	- feedback attributes for glDraw/CopyPixels and glBitmap were wrong
927	- fixed bug in normal length caching (ParaView lighting bug)
928	- fixed separate_specular color bug found in Chimera (18 Dec 2001)
929
930
9314.1  Month, ??, 2002
932    New:
933	- GL_NV_vertex_program extension
934	- GL_ARB_window_pos extension
935	- GL_ARB_depth_texture extension
936	- GL_ARB_shadow extension
937	- GL_ARB_shadow_ambient extension
938    Bug fixes:
939	- GL_BLEND with non-black texture env color wasn't always correct
940	- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
941    Changes:
942	- New spec file and Python code to generate some GL dispatch files
943