BeOS updates, memory leak fix, updated release notes
[profile/ivi/mesa.git] / docs / VERSIONS
1
2
3 Mesa Version History
4 ====================
5
6 1.0 beta   February 1995
7     Initial release
8
9 1.1 beta   March 4, 1995
10     Changes:
11         faster point and line drawing (2x faster)
12         more systems supported, better Makefiles
13         Renamed lib*.a files to avoid collisions
14         many small bug fixes
15     New:
16         pseudo-GLX functions added
17         new implementation of evaluators (eval2.c)
18         GLUT support
19
20 1.1.1 beta   March 7, 1995
21     Changes:
22         Reverted from eval2.c to eval.c due to FPE on Linux
23         more speed improvements
24         more Makefile changes
25
26 1.1.2 beta   March 14, 1995
27     New:
28         implementation of SGI's blending extensions
29         glXUseXFont implemented
30         added MESA_DEBUG environment variable support
31     Changes:
32         Using eval2.c again
33         more FPE-prevention checks (0-length normals are OK)
34         a few small bug fixes
35         much faster pixel logic ops!
36         faster transformation arithmetic
37
38 1.1.3 beta   March 31, 1995
39     New:
40         gluScaleImage() and gluBuild2DMipMaps() implemented
41         Mesa widgets for Xt/Motif
42         blendEXT demos
43         added environment variables for selecting visuals
44     Changes:
45         almost all GLUT demos work correctly now
46         faster X device driver functions
47         more bug fixes
48
49 1.1.4 beta   April 20, 1995
50     Bug fixes:
51         - missing #define SEEK_SET in src-tk/image.c
52         - compile glShadeModel into display lists
53         - fixed pow() domain error in src/light.c
54         - fixed "flickering bitmaps" in double buffer mode
55         - fixed tk.h and aux.h for C++
56         - state of LIGHT_MODEL_LOCAL_VIEWER was inverted
57     New features:
58         - MUCH, MUCH nicer dithering in 8-bit RGB mode
59         - updated widgets and widget demos
60         - Implemented GLXPixmap functions
61         - Added GLU 1.1 and GLX 1.1 functions
62         - Changed the X/Mesa interface API, more versatile
63         - Implemented gluPartialDisk()
64
65 1.2   May 22, 1995
66     Bug fixes:
67         - IRIX 4.x makefile problem
68         - modified tk to share root colormap as needed
69         - gluLookAt normalization problem
70         - suppress Expose, NoExpose events in swapbuffers
71         - glBitmap() and glDrawPixels() clipping
72     New features:
73         - GL_BLEND, GL_MODULATE, GL_DECAL, and GL_REPLACE_EXT texture
74               modes implemented
75         - texture maps stored more efficiently
76         - texture maps can be compiled into display lists
77         - Bogdan Sikorski's GLU polygon tesselation code
78         - Linas Vepstas's sweep and extrusion library
79         - glXCreateContext()'s shareList parameter works as it's supposed to.
80               XMesaCreateContext() updated to accept a shareList parameter too.
81         - Mesa can be compiled with real OpenGL .h files
82         - MESA_BACK_BUFFER environment variable
83         - better GLX error checking
84
85 1.2.1   June 22, 1995
86     Bug fixes:
87         - X/Mesa double buffer window resize crash
88         - widgets now pass PointerMotion events
89         - X/Mesa incorrect default clear color and drawing color
90         - more robust X MIT-SHM support in X/Mesa
91         - glTexImage( format=GL_LUMINANCE ) didn't work
92         - GL_LINE mode polygons with line width > 1.0 could cause a crash
93         - numerous feedback bugs
94         - glReadPixels() from depth buffer was wrong
95         - error prone depth and stencil buffer allocation
96     New features:
97         - Preliminary Microsoft Windows driver
98         - Implemented a number of missing functions: glEvalCoord[12][df]v(),
99             glGet...(), etc.
100         - Added a few missing symbols to gl.h and glu.h
101         - Faster rendering of smooth-shaded, RGBA, depth-buffered polygons.
102         - Faster rendering of lines when width=2.0
103         - Stencil-related functions now work in display lists
104     Changes:
105         - renamed aux.h as glaux.h (MS-DOS names can't start with aux)
106         - most filenames are in 8.3 format to accomodate MS-DOS
107         - use GLubytes to store arrays of colors instead of GLints
108
109 1.2.2   August 2, 1995
110     New features:
111         - texture mapped points and lines
112         - NURBS! (but not 100% complete)
113         - viewports may safely extend beyond window boundaries
114         - MESA_PRIVATE_CMAP environment variable
115         - Grayscale X display support
116         - two new demos:  demos/gears.c and demos/shadow.c
117         - MachTen for Macintosh configuration
118     Bug fixes:
119         - glGet*(GL_DEPTH_BITS) returned bytes, not bits
120         - point, line, and bitmap rasterization suffered from roundoff errors
121         - fixed a division by zero error in line clippping
122         - occasional wrong default background color really fixed!
123         - glDepthFunc(GL_ALWAYS) with glDepthMask(GL_FALSE) didn't work
124         - gluBuild2DMipmaps malloc problem fixed
125         - view volume clipping of smooth shaded lines resulted in bad colors
126     Changes:
127         - new visual selection method in glXChooseVisual()
128         - improved GLU quadric functions
129         - call XSync for glFinish and XFlush for glFlush
130         - glVertex() calls now use a function pointer to avoid conditionals
131         - removed contrib directory from Mesa tar file (available on ftp site)
132         - AIX shared library support
133         - Removed GLUenum type as it's not in OpenGL
134
135 1.2.3   September 26, 1995
136     New features:
137         - Mesa header files now equivalent to SGI OpenGL headers
138         - Support for HP's Color Recovery dithering displays
139         - Faster vertex transformation
140         - Faster raster operations into X windows under certain conditions
141         - New configurations:  HP w/ shared libs, Ultrix w/ GCC, Data General
142         - 4-bit visuals now supported
143     Bug fixes:
144         - glScissor bug fixed
145         - round-off errors in clipping lines against clip planes fixed
146         - byte swapping between hosts and display servers implemented
147         - glGetError() can be called without a current rendering context
148         - problem with accidentally culled polygons is fixed
149         - fixed some widget compilation problems
150
151 1.2.4   November 17, 1995
152     New features:
153         - More speed improvements (lighting, fogging, polygon drawing)
154         - Window system and OS-independent off-screen rendering
155         - Preliminary Fortran bindings
156         - glPolygonOffsetEXT implemented
157         - glColorMask and glIndexMask now fully implemented
158         - glPixelZoom implemented
159         - display lists fully implemented
160         - gamma correction
161         - dithering in 8-bit TrueColor/DirectColor visuals
162     Changes:
163         - Improved device driver interface
164         - tk.h renamed to gltk.h to avoid conflicts with Tcl's Tk
165         - Dithering support moved from core into device driver
166     Bug fixes:
167         - glEnable/Disable( GL_LIGHTING ) didn't always take effect
168         - glReadPixels byte swapping was broken
169         - glMaterial with pname==GL_AMBIENT_AND_DIFFUSE was broken
170         - duplicate glColor4b() prototype in GL/gl.h removed
171         - stripes in wave -ci demo fixed
172         - GL_LINEAR_MIPMAP_NEAREST had wrong value
173         - bugs in HP Color Recovery support fixed
174         - fixed bug when blending lines, points, bitmaps outside of window
175
176 1.2.5   November 30, 1995
177     New Features:
178         - updated MS Windows driver
179         - new implementation of StaticGray/GrayScale visual support
180     Bug fixes:
181         - pixelzooming with gamma correction or blending didn't work
182         - HP color recovery visual wasn't being picked by glXChooseVisual
183         - glClear didn't always observe glColorMask changes
184         - olympic and offset demos didn't compile on some Suns
185         - texcoord clamping wasn't correct
186         - a polygon optimization introduced an occasional sampling problem
187
188 1.2.6   January 26, 1996
189     New Features:
190         - faster line and polygon rendering under certain conditions.  See
191           Performance Tips 9 and 10 in README
192         - profiling
193         - lighting is a bit faster
194         - better perspective corrected texture mapping
195         - Amiga AmiWin (X11) support
196         - preliminary Linux SVGA driver
197     Changes:
198         - now using a 16-bit depth buffer, faster, smaller
199         - GL_NORMALIZE is disabled by default
200     Bug fixes:
201         - projective texture mapping
202         - fixed a memory leak in the context destroy function
203         - GL_POLYGON with less than 3 vertices caused a crash
204         - glGet*() returned wrong result for GL_INDEX_MODE
205         - reading pixels from an unmapped X window caused a BadMatch error
206
207 1.2.7   March 5, 1996
208     New:
209         - faster lighting
210         - faster 16-bit TrueColor rendering on Linux
211         - faster 32-bit TrueColor rendering on Linux, HP, IBM
212         - non-depth-buffered XImage polygons are faster
213         - vertex array extension
214         - software alpha planes
215         - updated Macintosh driver
216         - new NeXT driver
217         - GLU quadric functions generate texture coordinates
218         - reflect.c demo - reflective, textured surface demo
219     Changes:
220         - gamma correction code moved into the X driver for better performance
221     Bug fixes:
222         - multiple glClipPlane()'s didn't work reliably
223         - glPolygonMode() didn't always work
224         - glCullFace( GL_FRONT_AND_BACK ) didn't work
225         - texture mapping with gamma correction was buggy
226         - floating point exceptions in texture coordinate interpolation
227         - XImage byte swapping didn't always work
228         - polygon edge flags weren't always used correctly
229
230 1.2.8   May 22, 1996
231     New:
232         - overlay planes on X servers with the SERVER_OVERLAY_VISUALS property
233         - better monochrome output
234         - more IRIX 6.x configurations
235         - more robust RGB mode color allocation
236         - added MESA_XSYNC environment variable
237         - GLX_MESA_pixmap_colormap and GLX_EXT_visual_info extensions
238         - GL_MESA_window_pos extension
239         - faster glReadPixels/glDrawPixels for GL_DEPTH and GL_UNSIGNED_SHORT
240           and GL_UNSIGNED_INT
241         - driver for prototype Cirrus Mondello 3-D board
242         - updated AmigaDOS driver
243         - a few small speed optimizations in polygon rendering
244     Changes:
245         - internal device driver interface modified to simplify device
246           driver implementations and to support hardware Z buffers
247         - several changes to the X/Mesa interface (xmesa.h)
248     Bug fixes:
249         - fixed pow(0,0) domain error triggered on some systems
250         - glStencilClear() in a display list caused an infinite loop
251         - glRasterPos*() was sometimes off by +/-0.5 in X and Y
252         - color masking and blending were performed in wrong order
253         - auxSolidCylinder() sometimes drew a wire-frame cylinder
254         - fixed file writing bug in osdemo.c
255         - pixel mapping didn't always work
256         - the GL_GEQUAL stencil func didn't work
257         - the GL_INVERT stencil op didn't work
258         - the stencil write mask didn't work
259         - glPush/PopAttrib() didn't do enough error checking
260         - glIsList() didn't always work correctly
261
262 2.0  October 10, 1996
263     New:
264         - Implements OpenGL 1.1 API functions
265         - all texture filtering modes supported (mipmapping)
266         - faster texture mapping, see Performance Tip 11 in README
267         - antialiased RGB points
268         - X support for line and polygon stippling
269         - glDrawBuffer( GL_FRONT_AND_BACK ) works
270         - util/ directory of useful stuff
271         - demos/texobj demo of texture objects
272     Changes:
273         - major internal changes for thread-safeness
274         - new device driver interface
275         - MESA_ALPHA env variable removed
276         - triangle rasterizer replaces polygon rasterizer
277     Bug fixes:
278         - glPopAttrib() bug
279         - glDrawBuffer(GL_NONE) works now
280
281 2.1  December 14, 1996
282     New:
283         - VMS support
284         - MS-DOS driver
285         - OpenStep support
286         - updated, combined Windows 95/NT driver
287         - implemented glGetLighti() and glGetTexGen*()
288         - GLX does garbage collection of ancillary buffers
289     Bug fixes:
290         - removed unused _EXT constants from gl.h
291         - fixed polygon offset bugs
292         - Z coordinates of clipped lines were incorrect
293         - glEdgeFlag() in display lists didn't always work
294         - glLight*() in display lists didn't work
295         - fixed X line stipple bugs (Michael Pichler)
296         - glXUseXfonts XFreeFont/XFreeFontInfo bug fixed
297         - fixed a feedback bug
298         - glTexGen*() now transforms GL_EYE_PLANE by inverse modelview matrix
299         - polygons were sometimes culled instead of clipped
300         - triangle rasterizer suffered from float/int overflow exceptions
301         - fixed FP underflow exception in lighting (specular exponent)
302         - glEnable/glDisable of GL_EXT_vertex_array enums didn't work
303         - fixed free(NULL) in GLU tesselator code
304         - using 24-bit color on some X servers resulted in garbage rendering
305         - 32-bit per pixel mode for XFree86 now works
306         - glRotate(a,0,0,0) gave unpredictable results
307         - GL_LINE_STRIP with > 480 vertices had occasional clipping problems
308         - 8-bit TrueColor GLXPixmap rendering incorrectly required a colormap
309         - glMaterial() wasn't ignored when GL_COLOR_MATERIAL was enabled
310         - glEnable(GL_COLOR_MATERIAL) followed by glColor() didn't work right
311         - accumulation buffer was limited to positive values
312         - projective textures didn't work
313         - selection buffer overflows weren't handled correctly
314     Changes:
315         - restored the GL_EXT_polygon_offset extension
316         - slightly faster RGB dithering
317         - the SVGA driver works again
318         - Amiga driver now distributed separately
319         - NeXT driver updated for Mesa 2.x
320
321 2.2  March 14, 1997
322     New:
323         - better color selection when dithering
324         - added GL_EXT_texture_object extension
325         - updated MS-DOS driver for DJGPP
326         - added openbsd make configuration
327         - faster dithered flat-shaded triangles
328         - various compilation problems with Motif widgets fixed
329         - gl.h, glx.h and glu.h name mangling option
330         - BeOS driver
331         - 3D texture mapping extension
332         - GL_MESA_resize_buffers extension
333         - morph3d, stex3d and spectex demos
334         - 3Dfx support
335     Bug fixes:
336         - glColorMaterial should finally work right in all respects
337         - linear interpolation of mipmap levels was incorrectly weighted
338         - readpix.c didn't compile on Macintosh
339         - GL_INVERT and related logic ops didn't work right
340         - glTexImage[12]D() didn't check its parameters consistantly
341         - fixed a memory leak in glTexImage[12]D()
342         - kludged around a SunOS 5.x/GCC compiler bug in the feedback code
343         - glReadPixels aborted instead of normally catching some errors
344         - a few 1.1 constants were missing or misnamed in gl.h
345         - glBegin(p); glBegin(q); didn't generate an error
346         - fixed a memory leak in GLX code
347         - clipping of concave polygons could cause a core dump
348         - 1-component alpha texture maps didn't work
349         - fixed a GLU polygon tesselator bug
350         - polygons with colinear vertices were sometimes culled
351         - feedback triangle colors were wrong when using smooth shading
352         - textures with borders didn't work correctly
353         - colors returned in feedback mode were wrong when using lighting
354         - spotlights didn't effect ambient lighting correctly
355         - gluPartialDisk() had a few bugs
356     Changes:
357         - device driver interface expanded to support texture mapping
358         - faster matrix inversion subroutine
359         - commented out #include "wmesa_extend.h" from src/wmesa.c
360         - fixed many compiler warnings in the demo programs
361
362 2.3  June 30, 1997
363     New:
364         - Mesa distribution divided into two pieces:  library code and demos
365         - faster vertex transformation, clip testing, lighting
366         - faster line drawing
367         - TrueColor visuals how have dithering (for depths < 24 bits)
368         - added MESA_NO_DITHER environment variable
369         - new device driver function: NearFar(), RenderVB(), RasterSetup()
370         - added LynxOS configuration
371         - added cygnus Win32 configuration
372         - added texcyl.c GLUT demo
373         - added XMesaDitherColor() to X/Mesa interface
374         - new NURBS code from Bogdan Sikorski
375         - added demos/shape.c (non-rectangular X window!)
376     Bug fixes:
377         - glEnable/DisableClientState() were missing from GL/gl.h
378         - GL_SPHERE_MAP texcoord generation didn't work correctly
379         - glXGetConfig() returned wrong number of depth, stencil, accum bits
380         - glDrawPixels feedback/selection didn't examine RasterPos valid bit
381         - black and white were reversed on some monochrome displays
382         - fixed potential image memory leak (wasn't setting reference counter)
383         - glDrawPixels sometimes didn't recognize some GL state changes
384         - gluProject/UnProject() didn't check for divide by zero
385         - stex3d demo called random() and srandom(), not portable
386         - fixed memory leaks in context.c and drawpix.c
387         - fixed NULL dereferencing problem in gl_update_texture_state()
388         - glReadPixels between glBegin/glEnd didn't generate an error.
389         - fixed memory leak in polygon tesselator (Randy Frank)
390         - fixed seg fault bug drawing flat-shaded, depth-tested lines
391         - clipped GL_TRIANGLE_STRIPs sometimes had wrong color when flat-shaded
392         - glBindTexture sometimes didn't work
393         - fixed a bug deep in glXReleaseBuffersMESA()
394         - fog was mistakenly applied to alpha
395         - glPopMatrix didn't set "dirty matrix" flag
396         - glPolygonStipple pattern was sometimes wrong
397         - glClear wasn't disabled during feedback and selection
398         - fixed memory leak in glTexSubImage[123]D
399     Changes:
400         - many library source files reorganized
401         - faster X color allocation, colors also freed when finished with them
402         - new texture sampling function pointer in texture objects
403         - incorporated 3Dfx VooDoo driver v0.16 into main source tree
404         - many 3Dfx driver updates
405         - cygnus Makefiles now included
406         - updated DOS driver
407         - made a few changes to dosmesa.c and wmesa.c (VB->Unclipped)
408         - internally, colors now stored in GLubytes, not GLfixed
409         - optimized changing of GL_SHININESS parameter
410
411 2.4  September 18, 1997
412     New:
413         - updated 3Dfx Glide driver
414         - hacks for 3Dfx rendering into an X window or fullscreen
415         - added depth buffer access functions to X/Mesa and OS/Mesa interfaces
416     Bug fixes:
417         - pixel buffer could overflow with long, wide lines
418         - fixed FP underflow problems in lighting
419         - glTexSubImage1D() had an unitialized variable
420         - incomplete texture objects could cause a segfault
421         - glDrawPixels with GL_COMPILE_AND_EXECUTE caused infinite loop
422         - flat-shaded quads in a strip were miscolored if clipped
423         - mipmapped triangle lod computation now works correctly
424         - fixed a few under/overflow bugs in triangle rasterizer
425         - glArrayElement() assigned bad normal if normal array disabled
426         - changed argument to glXReleaseBuffersMESA()
427         - fixed small triangle underflow bugs in tritemp.h (hopefully)
428         - glBindTexture(target, 0) caused a crash
429         - glTexImage[123]D() with NULL image pointer caused crash
430         - glPixelStore parameters are now ignored during display list execution
431         - fixed a two-sided lighting w/ clipping bug (black vertices)
432         - textures with width!=height were sometimes mis-rendered
433         - "weird" projection matrices could cause div by 0, other fp errors
434     Changes:
435         - changed precompiled header symbol from PCH to PC_HEADER
436         - split api.c into api1.c and api2.c
437         - added hash.c source file (but not used yet)
438         - a few Sun and HP configuration file changes
439         - MESA_GLX_FX env var replaces MESA_FX_WINDOW and MESA_FX_FULLSCREEN
440         - fixed a few cygnus build problems (src/Makefile.cygnus, src/wmesa.c)
441
442 2.5  November 20, 1997
443     New:
444         - updated 3Dfx driver (v20) for GLQuake
445         - added GL_EXT_paletted_texture extension
446         - added GL_EXT_shared_texture_palette extension
447         - added GL_EXT_point_parameters extension
448         - now including Mark Kilgard's GLUT library v3.6
449         - new GLUT-based demos in gdemos/
450         - added a few more Unix config targets
451         - added Intel X86 assembly language vertex transformation code
452         - 3Dfx/Glide driver for Mesa now recognizes SST_SCREENREFRESH env var
453         - Windows 95 S3 Virge driver
454     Bug fixes:
455         - glCopyTexImage?D would crash due to uninitialized variable
456         - glColor w/ glColorMaterial in a display list caused a bug
457         - fixed several glDrawPixels() and ReadPixels() bugs in 3Dfx driver
458         - glVertex4*() vertices weren't always projected correctly
459         - trying to use mipmapped textured points or lines caused crash
460         - glColor[34][fd]() values now clamped to [0,1] before int conversion
461     Changes:
462         - new device driver functions for texture mapping
463         - hash tables used for display list and texture object lookup
464         - fixed GLX visual handling code to avoid saving redundant visuals
465         - 3Dfx Glide libraries automatically linked to libMesaGL.so
466         - dropped the Cirrus Logic Mondello code since it's obsolete
467         - updated Cygnus Makefiles (Stephane Rehel)
468         - updated Windows MSVC++ Makefiles (Oleg Letsinsky)
469         - procedure for making library files has changed: scripts now take
470           a major and minor version arguments.  Make-config changed a lot.
471         - new implementation of glTexSubImage2D()
472         - updated widgets-mesa directory to create libMesaGLwM.a (Motif widget)
473         - separate linux-glide and linux-386-glide configurations
474
475 2.6  February 12, 1998
476     New:
477         - Windows WGL functions
478         - updated VMS, DOS, Windows, Cygnus, BeOS, Amiga compilation support
479         - v0.22 of 3Dfx Glide driver
480         - more X86 assembly language optimizations
481         - faster blending for some modes
482         - XMesaSetFXmode() to switch between 3Dfx window and full-screen mode 
483         - added preliminary thread support
484         - added GLX_MESA_copy_sub_buffer extension
485         - some clipping optimizations
486     Bug fixes:
487         - fixed shading/material bug when drawing long primitive strips
488         - fixed clipping problem in long primitive strips
489         - fixed clipping bug when using 3Dfx driver
490         - fixed a problem when trying to use X fonts w/ 3Dfx driver
491         - fixed a texture filter bug in 3Dfx/Glide driver
492         - fixed bug in 3Dfx/Glide driver involving depth mask & clearing
493         - glLoadMatrix to set projection matrix confused the 3Dfx driver
494         - non-identity texture matrices didn't work with linux-386 configs
495         - glGenTextures() didn't reserve the returned texture IDs
496         - NULL proxy image sent to glTexImageXD() caused crash
497         - added texture state validation optimization (Henk Kok)
498         - fixed colormap reuse problem when using both RGB and CI windows
499         - 32bpp True/DirectColor X visuals weren't recognized
500         - fixed potential problem in evaluators memory allocation
501         - fixed assorted demo compilation bugs
502     Changes:
503         - replaced old Mesa/windows/ directory with Mesa/WIN32/ directory
504         - converted a few old glaux/gltk demos to GLUT
505         - renamed directories:  demos -> xdemos,  gdemos -> demos
506
507
508 3.0  September 17, 1998
509     New:
510         - OpenGL 1.2 API
511         - GL_EXT_abgr pixel format extension
512         - GL_SGIS_texture_edge_clamp extension
513         - GL_SGIS_multitexture extension (to be replaced by GL_ARB_multitex)
514         - GL_EXT_multitexture extension (to be replaced by GL_ARB_multitex)
515         - GL_EXT_rescale_normal extension and renormal.c demo
516         - GLX_SGI_video_sync extension (a no-op)
517         - antialiased lines
518         - glGetTexImage() now implemented
519         - glDraw/Copy/ReadPixels() optimizations
520         - optimized textured triangle code (Marten Stromberg)
521         - more optimization of dithered TrueColor triangles in X driver
522         - Linux GGI driver
523         - updated MGL driver
524     Bug fixes:
525         - lots of assorted compilation fixes
526         - glInitNames didn't write initial hit record
527         - glBitmap didn't always check for invalid raster position
528         - switching between GLX and OSMesa contexts caused a crash
529         - fixed uninitialized variable in Mesa widget code
530         - fixed typo in texture code which caused book/texgen to crash
531         - fixed texture sampling bug when filter=GL_LINEAR and wrap=GL_CLAMP
532         - gluDisk() in POINT or LINE mode sometimes failed
533         - fixed texture + fog bug
534         - GL_COMPILE_AND_EXECUTE mode didn't work reliably
535         - glMultMatrix in projection matrix mode w/ 3Dfx driver could fail
536         - glDrawPixels(color index pixels) weren't converted to RGBA
537         - fixed possible getenv() buffer overflow security bug
538         - glBitmap in feedback mode was offset by xOrig, yOrig params
539         - device driver's DrawPixels hook was never used
540         - glDrawPixels with zoomY!=1 and top/bottom clipping didn't work
541         - glDrawPixels optimized for GL_LUMINANCE, GL_LUMINANCE_ALPHA, GLubyte
542         - fixed MakeCurrent bug in GLwRedrawObjects() in MesaWorkstation.c
543         - glCopyTexSubImage2D() didn't work with 3Dfx driver
544         - lines with width = 2 could cause crash
545         - glClear with scissor rect sometimes cleared whole buffer
546         - glTexSubImage2D( .. GL_COLOR_INDEX .. ) didn't work
547         - glTexImageXD( .. GL_ABGR_EXT .. ) didn't work
548         - computation of inverse modelview matrix sometimes failed
549         - fixed GL_CLAMP mode texture sampling bug
550         - textured line interpolation was somewhat broken
551         - textured triangle interpolation was also somewhat broken
552         - glGet(MODELVIEW/PROJECTION/TEXTURE_MATRIX_STACK_DEPTH) off by one
553         - evaluator state wasn't fully initialized
554         - texture coordinate clipping was buggy
555         - evaluator surfaces could be mis-colored
556         - glAccum(GL_RETURN, s) didn't obey glColorMask() settings
557         - zero area polygons shouldn't be culled if polygon mode is point/line
558         - clipped width and height of glReadPixels was sometimes off by one
559         - blending with alpha = 0 or 1.0 wasn't always exact
560         - reading of pixels from clipped region was buggy
561         - minor tweaking of X visual management in GLX emulator
562         - glPolygonStipple now obeys pixel unpacking parameters
563         - glGetPolygonStipple now obeys pixel packing parameters
564         - interleaved vertex array texture coordinates were broken
565         - query of proxy texture internal format was broken
566         - alpha channel wasn't reliably cleared
567         - fixed divide by zero error in gluScaleImage if dest size = 1 x 1
568     Conformance bug fixes:
569         - GL_SELECTION_BUFFER_POINTER and GL_SELECTION_BUFFER_SIZE were missing
570         - GL_TEXTURE_INTERNAL_FORMAT was missing
571         - glGet*(GL_POLYGON_STIPPLE) was broken
572         - glPush/PopAttrib() didn't save/restore all texture state
573         - glBitmap in feedback mode didn't work
574         - feedback of texture coords didn't always work
575         - glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLbyte was broke
576         - glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLubyte was broke
577         - glDrawPixels w/ format=GL_STENCIL_INDEX, type=GL_BITMAP was broke
578     Changes:
579         - upgraded GLUT to version 3.7
580         - only GL and GLU library code included in MesaLib.tar.gz
581         - GLUT and all demos now in MesaDemos.tar.gz
582         - glaux and gltk libraries removed
583         - IRIX -n32 and -64 libs go in lib32/ and lib64/ directories
584
585
586 3.1 beta 1  November 19, 1998
587     New:
588         - GL_EXT_stencil_wrap extension
589         - GL_INGR_blend_func_separate extension
590         - GL_ARB_multitexture extension
591         - GL_NV_texgen_reflection extension
592         - newly optimized vertex transformation code
593         - updated GLUT 3.7 code
594         - better precision when using 32-bit Z buffer
595         - Allegro DJGPP driver
596     Bug fixes:
597         - glCopyPixels between front/back buffers didn't copy alpha correctly
598         - fixed out-of-bounds memory access in optimized 2-D texture code
599         - glPixelStorei didn't accept GL_PACK/UNPACK_IMAGE_HEIGHT parameter
600         - glGet*() didn't accept GL_MAX_3D_TEXTURE_SIZE parameter
601         - clipping of texture coordinates sometimes had bad R,Q values
602         - GL_CLAMP_TO_EDGE texture sampling was off by 0.5 texels
603         - glEdgeFlagPointer() now takes a GLvoid * instead of GLboolean *
604         - texture was sometimes applied twice with 3Dfx driver
605         - glPush/PopAttrib() fouled up texture object reference counts
606         - glDeleteLists(0, n) caused assertion failure
607         - bilinear texture sampling wasn't accurate enough
608         - glClear w/ glDepthMask(GL_FALSE) didn't work right on 3Dfx
609         - color components were reversed on big endian 32 bpp X visuals
610     Changes:
611         - removed GL_EXT_multitexture extension
612
613
614 3.1 beta 2  May 24, 1999
615     New:
616         - multi-textured points and lines (mjk@nvidia.com)
617         - optimized 24bpp X rendering (bernd.paysan@gmx.de)
618         - added allegro support (bernie-t@geocities.com)
619         - cleaned-up Windows-related stuff (Ted Jump)
620         - minor stereo changes (KendallB@scitechsoft.com)
621         - new BeOS driver which implements BGLView class
622         - new Direct3D driver (see src/D3D)
623         - more efficient filled gluCylinder() function
624         - utilities:  util/showbuffer.[ch] and util/glstate.[ch]
625         - fixed some IRIX compiler warnings
626         - added support for building Mesa in XFree86 with
627             SGI's GLX (kevin@precisioninsight.com)
628     Bug fixes:
629         - a variety of Windows/Mesa bug fixes (mjk@nvidia.com)
630         - packed pixel images weren't unpacked correctly
631         - patches some win32 files in GLUT (mjk@nvidia.com)
632         - glTexImage[123]D() didn't accept internalFormat == GL_COLOR_INDEX
633         - fixed lighting bug in Keith's new shading code
634         - fixed texture segfault seen in Lament screensaver
635         - fixed miscellaneous low-memory bugs
636         - glClear(GL_COLOR_BUFFER_BIT) with RGBA or CI masking was broken
637         - GL_LINEAR sampling of 3D textures was broken
638         - fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org)
639         - added GL_TEXTURE_PRIORITY fix (keithh@netcomuk.co.uk)
640         - fixed wide point and wide line conformance bugs (brianp)
641     Changes:
642         - some device driver changes (see src/dd.h)
643         - new copyright on core Mesa code
644
645
646 3.1 beta 3  September 17, 1999
647     New:
648         - optimized glAccum function
649         - optimized 24bpp rendering in XMesa driver
650         - GLU 1.2 polygon tessellator
651     Bug Fixes:
652         - glGetTexLevelParameter wasn't fully implemented
653         - glXUseXFont now handles multi-byte fonts
654         - glIsEnabled(GL_TEXTURE_2D / 3D) returned wrong result
655         - alpha channel of blending points, lines was sometimes incorrect
656     Changes:
657         - New library names:  "libGL" instead of "libMesaGL"
658         - New library numbering: libGL.so.1.2.310
659         - New subdirectories:  docs/ and bin/
660         - New Makefile-system (autoconf,automake,libtool)
661
662
663 3.1 final  December 14, 1999
664     New:
665         - added demos/gloss.c
666         - added xdemos/glxdpyinfo.c
667         - added GLX_ARB_get_proc_address extension
668         - rewritten glTexImage code paths (faster, less memory, bug fixes)
669     Bug Fixes:
670         - several vertex array bug fixes
671         - overlapping glCopyPixels with pixel zooming now works
672         - glXUseXFont() bitmaps were vertically shifted by one pixel
673         - glCopyPixels with pixel zooming now works
674
675
676 3.2 final  April 24, 2000
677     Bug fixes:
678         - fixed memcpy bugs in span.c
679         - fixed missing glEnd problem in demos/tessdemo.c
680         - fixed bug when clearing 24bpp Ximages
681         - fixed clipping problem found in Unreal Tournament
682         - fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
683         - fixed Loki's 3dfx RGB vs BGR bug
684         - fixed Loki's 3dfx smooth/flat shading bug in SoF
685     Changes:
686         - updated docs/README file
687         - use bcopy() optimizations on FreeBSD
688         - re-enabled the optimized persp_textured_triangle() function
689
690
691 3.2.1  July 19, 2000
692     Bug fixes:
693         - gluBuild2DMipmaps() didn't accept GL_BGRA
694         - Fixed compile/makefile problems on IRIX
695         - fixed segfault in 3dfx driver when using GL selection/feedback
696         - no longer cull very, very tiny triangles
697         - blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering)
698         - fixed Motif detection code in widgets-mesa/configure.in
699         - glColorMaterial and glMaterial updates to emissive and ambient
700           didn't always work right
701         - Specular highlights weren't always in the right place
702         - clipped GL_LINE mode polygons had interior lines appear
703         - blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken
704         - GL_NICEST fog didn't always work with flat shading
705         - glRect commands in display lists were sometimes miscolored
706         - Line Z offset didn't always work
707         - fixed texgen normal vector problem (gloss's teapot)
708         - numerous GL conformance bugs fixed
709     Changes:
710         - glColorMask(false, false, false, false) handled better/faster
711         - reverted to old GLU polygon tessellator, GLU 1.1
712         - updated Win32 build files
713
714
715 3.3  July 21, 2000
716     New:
717         - antialiased triangles now implemented
718         - GL_EXT_texture_env_add texture mode extension
719         - GLX 1.3 API
720         - support for separate draw/read buffers (ie GL_SGI_make_current_read)
721         - thread-safe API dispath
722         - improved glxinfo program
723         - demos/texdown program to measure texture download performance
724         - glext.h header file
725         - demos/geartrain program
726         - GL_EXT_texture_lod_bias extension
727         - demos/lodbias program
728         - further optimized glRead/DrawPixels for 16-bit TrueColor X visuals
729         - GLX_EXT_visual_rating extension (a no-op, however)
730         - GL_HP_occlusion_test extension (for X and OS/Mesa drivers)
731         - demos/occlude program
732         - GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions
733         - demos/pixeltex program
734         - GL_SGI_color_matrix extension
735         - GL_SGI_color_table extension
736         - GL_EXT_histogram extension
737         - GL_ARB_texture_cube_map extension
738         - added xdemos/glxheads and xdemos/manywin
739         - demos/texenv.c demo
740         - GL_EXT_texture_env_combine extension (by Holger Waechtler)
741         - Xlib driver is now thread-safe (see xdemos/glthreads)
742     Bug Fixes:
743         - various GL conformance failures fixed since 3.2.1
744     Changes:
745         - gl.h now uses #defines instead of C enums for all tokens
746         - glu.h now uses #defines instead of C enums for all tokens
747         - moved programs from 3Dfx/demos/ into demos/ directory
748
749
750 3.4  November 3, 2000
751     New:
752         - optimized glDrawPixels for glPixelZoom(1,-1)
753     Bug Fixes:
754         - widgets-mesa/src/*.c files were missing from 3.3 distro
755         - include/GL/mesa_wgl.h file was missing from 3.3 distro
756         - fixed some Win32 compile problems
757         - texture object priorities weren't getting initialized to 1.0
758         - glAreTexturesResident return value was wrong when using hardware
759         - glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
760         - glReadPixels with GLushort packed types was broken
761         - fixed a few bugs in the GL_EXT_texture_env_combine texture code
762         - glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
763         - fixed some typos/bugs in the VB code
764         - glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
765         - optimized glDrawPixels paths weren't being used
766         - per-fragment fog calculation didn't work without a Z buffer
767         - improved blending accuracy, fixes Glean blendFunc test failures
768         - glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
769         - glXGetProcAddressARB() didn't always return the right address
770         - gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
771         - texture matrix changes weren't always detected (GLUT projtex demo)
772         - fixed random color problem in vertex fog code
773         - fixed Glide-related bug that let Quake get a 24-bit Z buffer
774     Changes:
775         - finished internal support for compressed textures for DRI
776
777
778 3.4.1  February 14, 2001
779     New:
780         - fixed some Linux build problems
781         - fixed some Windows build problems
782         - GL_EXT_texture_env_dot3 extension (Gareth Hughes)
783     Bug fixes:
784         - added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
785         - various state-update code changes needed for DRI bugs
786         - disabled pixel transfer ops in glColorTable commands, not needed
787         - fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
788         - updated sources and fixed compile problems in widgets-mesa/
789         - GLX_PBUFFER enum value was wrong in glx.h
790         - fixed a glColorMaterial lighting bug
791         - fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
792         - glXCopySubBufferMESA() Y position was off by one
793         - Error checking of glTexSubImage3D() was broken (bug 128775)
794         - glPopAttrib() didn't restore all derived Mesa state correctly
795         - Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
796           conformance problems at 16bpp.
797         - clearing depth buffer with scissoring was broken, would segfault
798         - OSMesaGetDepthBuffer() returned bad bytesPerValue value
799         - fixed a line clipping bug (reported by Craig McDaniel)
800         - fixed RGB color over/underflow bug for very tiny triangles
801     Known problems:
802         - NURBS or evaluator surfaces inside display lists don't always work
803
804
805 3.4.2  May 17, 2001
806     Bug fixes:
807         - deleting the currently bound texture could cause bad problems
808         - using fog could result in random vertex alpha values
809         - AA triangle rendering could touch pixels outside right window bound
810         - fixed byteswapping problem in clear_32bit_ximage() function
811         - fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
812         - fixed memory leak in glXUseXFont()
813         - fragment sampling in AA triangle function was off by 1/2 pixel
814         - Windows: reading pixels from framebuffer didn't always work
815         - glConvolutionFilter2D could segfault or cause FP exception
816         - fixed segfaults in FX and X drivers when using tex unit 1 but not 0
817         - GL_NAND logicop didn't work right in RGBA mode
818         - fixed a memory corruption bug in vertex buffer reset code
819         - clearing the softwara alpha buffer with scissoring was broken
820         - fixed a few color index mode fog bugs
821         - fixed some bad assertions in color index mode
822         - fixed FX line 'stipple' bug #420091
823         - fixed stencil buffer clear width/height typo
824         - fixed GL error glitches in gl[Client]ActiveTextureARB()
825         - fixed Windows compilation problem in texutil.c
826         - fixed 1/8-pixel AA triangle sampling error
827     Changes:
828         - optimized writing mono-colored pixel spans to X pixmaps
829         - increased max viewport size to 2048 x 2048
830
831
832 3.5  June 21, 2001
833     New:
834         - internals of Mesa divided into modular pieces (Keith Whitwell)
835         - 100% OpenGL 1.2 conformance (passes all conformance tests)
836         - new AA line algorithm
837         - GL_EXT_convolution extension
838         - GL_ARB_imaging subset
839         - OSMesaCreateContextExt() function
840         - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
841         - GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
842         - GL_EXT_fog_coord extension (Keith Whitwell)
843         - GL_EXT_secondary_color extension (Keith Whitwell)
844         - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
845         - GL_SGIX_depth_texture extension
846         - GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
847         - demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
848         - GL_ARB_texture_env_combine extension
849         - GL_ARB_texture_env_dot3 extension
850         - GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
851         - OSMesaCreateContextExt() function
852         - libOSMesa.so library, contains the OSMesa driver interface
853         - GL/glxext.h header file for GLX extensions
854         - somewhat faster software texturing, fogging, depth testing
855         - all color-index conformance tests now pass (only 8bpp tested)
856         - SPARC assembly language TCL optimizations (David Miller)
857         - GL_SGIS_generate_mipmap extension
858     Bug Fixes:
859         - fbiRev and tmuRev were unitialized when using Glide3
860         - fixed a few color index mode conformance failures; all pass now
861         - now appling antialiasing coverage to alpha after texturing
862         - colors weren't getting clamped to [0,1] before color table lookup
863         - fixed RISC alignment errors caused by COPY_4UBV macro
864         - drawing wide, flat-shaded lines could cause a segfault
865         - vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
866     Changes:
867         - SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
868         - new libOSMesa.so library, contains the OSMesa driver interface
869
870
871 4.0  October 22, 2001
872     New:
873         - Mesa 4.0 implements the OpenGL 1.3 specification
874         - GL_IBM_rasterpos_clip extension
875         - GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
876         - GL_ARB_texture_mirrored_repeat extension
877         - WindML UGL driver (Stephane Raimbault)
878         - added OSMESA_MAX_WIDTH/HEIGHT queries
879         - attempted compiliation fixes for Solaris 5, 7 and 8
880         - updated glext.h and glxext.h files
881         - updated Windows driver (Karl Schultz)
882     Bug fixes:
883         - added some missing GLX 1.3 tokens to include/GL/glx.h
884         - GL_COLOR_MATRIX changes weren't recognized by teximage functions
885         - glCopyPixels with scale and bias was broken
886         - glRasterPos with lighting could segfault
887         - glDeleteTextures could leave a dangling pointer
888         - Proxy textures for cube maps didn't work
889         - fixed a number of 16-bit color channel bugs
890         - fixed a few minor memory leaks
891         - GLX context sharing was broken in 3.5
892         - fixed state-update bugs in glPopClientAttrib()
893         - fixed glDrawRangeElements() bug
894         - fixed a glPush/PopAttrib() bug related to texture binding
895         - flat-shaded, textured lines were broken
896         - fixed a dangling pointer problem in the XMesa code (Chris Burghart)
897         - lighting didn't always produce the correct alpha value
898         - fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
899
900
901 4.0.1 December 17, 2001
902     New:
903         - better sub-pixel sample positions for AA triangles (Ray Tice)
904         - slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
905     Bug fixes:
906         - added missing break statements in glGet*() for multisample cases
907         - fixed uninitialized hash table mutex bug (display lists / texobjs)
908         - fixed bad teximage error check conditional (bug 476846)
909         - fixed demos readtex.c compilation problem on Windows (Karl Schultz)
910         - added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
911         - silence some compiler warnings (gcc 2.96)
912         - enable the #define GL_VERSION_1_3 in GL/gl.h
913         - added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
914         - fixed glu.h typedef problem found with MSDev 6.0
915         - build libGL.so with -Bsymbolic (fixes bug found with Chromium)
916         - added missing 'const' to glXGetContextIDEXT() in glxext.h
917         - fixed a few glXGetProcAddress() errors (texture compression, etc)
918         - fixed start index bug in compiled vertex arrays (Keith)
919         - fixed compilation problems in src/SPARC/glapi_sparc.S
920         - fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
921         - use glXGetProcAddressARB in GLUT to avoid extension linking problems
922         - provoking vertex of flat-shaded, color-index triangles was wrong
923         - fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
924         - glTexParameter didn't flush the vertex buffer (Ray Tice)
925         - feedback attributes for glDraw/CopyPixels and glBitmap were wrong
926         - fixed bug in normal length caching (ParaView lighting bug)
927         - fixed separate_specular color bug found in Chimera (18 Dec 2001)
928
929
930 4.0.2  April 2, 2002
931     New:
932         - New DOS (DJGPP) driver written by Daniel Borca
933         - New driver interface functions for TCL drivers (such as Radeon DRI)
934         - GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
935           if using deep color channels
936         - latest GL/glext.h and GL/glxext.h headers from SGI
937     Bug fixes:
938         - GL_BLEND with non-black texture env color wasn't always correct
939         - GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
940         - glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
941         - glReadPixels was sometimes mistakenly clipped by the scissor box
942         - glDraw/ReadPixels didn't catch all the errors that they should have
943         - Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
944         - 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
945         - Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
946         - glColorMask as sometimes effecting glXSwapBuffers()
947         - fixed a potential bug in XMesaGarbageCollect()
948         - N threads rendering into one window didn't work reliably
949         - glCopyPixels didn't work for deep color channels
950         - improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
951         - glPopAttrib() didn't correctly restore user clip planes
952         - user clip planes failed for some perspective projections (Chromium)
953     Known bugs:
954         - mipmap LOD computation
955
956
957 4.0.3  June 25, 2002
958     New:
959         - updated GL/glext.h file (version 15)
960         - corrected MMX blend code (Jose Fonseca)
961         - support for software-based alpha planes in Windows driver
962         - updated GGI driver (Filip Spacek)
963     Bug fixes:
964         - glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
965         - OSMesaMakeCurrent() didn't recognize buffer size changes
966         - assorted conformance fixes for 16-bit/channel rendering
967         - texcombine alpha subtraction mode was broken
968         - fixed lighting bug with non-uniform scaling and display lists
969         - fixed bug when deleting shared display lists
970         - disabled SPARC cliptest assembly code (Mesa bug 544665)
971         - fixed a couple Solaris compilation/link problems
972         - blending clipped glDrawPixels didn't always work
973         - glGetTexImage() didn't accept packed pixel types
974         - glPixelMapu[is]v() could explode given too large of pixelmap
975         - glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
976         - glXCopyContext() could lead to segfaults
977         - glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
978     Changes:
979         - lots of C++ (g++) code clean-ups
980         - lots of T&L updates for the Radeon DRI driver
981     Known bugs:
982         - mipmap LOD computation (fixed for Mesa 4.1)
983
984
985 4.0.4  October 3, 2002
986     New:
987         - GL_NV_texture_rectangle extension
988         - updated glext.h header (version 17)
989         - updated DOS driver (Daniel Borca)
990         - updated BeOS R5 driver (Philippe Houdoin)
991         - added GL_IBM_texture_mirror_repeat
992         - glxinfo now takes -l option to print interesting OpenGL limits info
993         - GL_MESA_ycbcr_texture extension
994         - GL_APPLE_client_storage extension (for some DRI drivers only)
995         - GL_MESA_pack_invert extension
996     Bug fixes:
997         - fixed GL_LINEAR fog bug by adding clamping
998         - fixed FP exceptions found using Alpha CPU
999         - 3dfx MESA_GLX_FX=window (render to window) didn't work
1000         - fixed memory leak in wglCreateContest (Karl Schultz)
1001         - define GLAPIENTRY and GLAPI if undefined in glu.h
1002         - wglGetProcAddress didn't handle all API functions
1003         - when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
1004         - removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
1005         - error checking in compressed tex image functions had some glitches
1006         - fixed AIX compile problem in src/config.c
1007         - glGetTexImage was using pixel unpacking instead of packing params
1008         - auto-mipmap generation for cube maps was incorrect
1009     Changes:
1010         - max texture units reduced to six to accomodate texture rectangles
1011         - removed unfinished GL_MESA_sprite_point extension code
1012
1013
1014 4.1  October 29, 2002
1015     New:
1016         - GL_NV_vertex_program extension
1017         - GL_NV_vertex_program1_1 extension
1018         - GL_ARB_window_pos extension
1019         - GL_ARB_depth_texture extension
1020         - GL_ARB_shadow extension
1021         - GL_ARB_shadow_ambient extension
1022         - GL_EXT_shadow_funcs extension
1023         - GL_ARB_point_parameters extension
1024         - GL_ARB_texture_env_crossbar
1025         - GL_NV_point_sprite extension
1026         - GL_NV_texture_rectangle extension
1027         - GL_EXT_multi_draw_arrays extension
1028         - GL_EXT_stencil_two_side extension
1029         - GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
1030         - GL_ATI_texture_mirror_once extension (Ian Romanick)
1031         - massive overhaul/simplification of software rasterizer module,
1032           many contributions from Klaus Niederkrueger
1033         - faster software texturing in some cases (i.e. trilinear filtering)
1034         - new OSMesaGetProcAddress() function
1035         - more blend modes implemented with MMX code (Jose Fonseca)
1036         - added glutGetProcAddress() to GLUT
1037         - added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
1038         - pbinfo and pbdemo PBuffer programs
1039         - glxinfo -v prints transprent pixel info (Gerd Sussner)
1040     Bug fixes:
1041         - better mipmap LOD computation (prevents excessive blurriness)
1042         - OSMesaMakeCurrent() didn't recognize buffer size changes
1043         - assorted conformance fixes for 16-bit/channel rendering
1044         - texcombine alpha subtraction mode was broken
1045         - fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
1046         - clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma)
1047         - fixed divide by zero error in NURBS tessellator (Jon Perry)
1048         - fixed GL_LINEAR fog bug by adding clamping
1049         - fixed FP exceptions found using Alpha CPU
1050         - 3dfx/glide driver render-to-window feature was broken
1051         - added missing GLX_TRANSPARENT_RGB token to glx.h
1052         - fixed error checking related to paletted textures
1053         - fixed reference count error in glDeleteTextures (Randy Fayan)
1054     Changes:
1055         - New spec file and Python code to generate some GL dispatch files
1056         - Glide driver defaults to "no" with autoconf/automake
1057         - updated demos/stex3d with new options
1058
1059
1060 5.0  November 13, 2002
1061     New:
1062         - OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
1063         - removed some overlooked debugging code
1064         - glxinfo updated to support GLX_ARB_multisample
1065         - GLUT now support GLX_ARB_multisample
1066         - updated DOS driver (Daniel Borca)
1067     Bug fixes:
1068         - GL_POINT and GL_LINE-mode polygons didn't obey cull state
1069         - fixed potential bug in _mesa_align_malloc/calloc()
1070         - fixed missing triangle bug when running vertex programs
1071         - fixed a few HPUX compilation problems
1072         - FX (Glide) driver didn't compile
1073         - setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
1074         - a few EXT functions, like glGenTexturesEXT, were no-ops
1075         - a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
1076           glMultiDrawArrays and glMultiDrawElements were missing
1077         - glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
1078         - Pentium 4 Mobile was mistakenly identified as having 3DNow!
1079         - fixed one-bit error in point/line fragment Z calculation
1080         - fixed potential segfault in fakeglx code
1081         - fixed color overflow problem in DOT3 texture env mode
1082
1083
1084 5.0.1  March 30, 2003
1085     New:
1086         - DOS driver updates from Daniel Borca
1087         - updated GL/gl_mangle.h file (Bill Hoffman)
1088     Bug fixes:
1089         - auto mipmap generation for cube maps was broken (bug 641363)
1090         - writing/clearing software alpha channels was unreliable
1091         - minor compilation fixes for OS/2 (Evgeny Kotsuba)
1092         - fixed some bad assertions found with shadowtex demo
1093         - fixed error checking bug in glCopyTexSubImage2D (bug 659020)
1094         - glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
1095         - fixed potential segfault in texture object validation (bug 659012)
1096         - fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
1097         - fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
1098         - fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
1099         - glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
1100         - fixed compilation problem on Solaris7/x86 (bug 536406)
1101         - fixed prefetch bug in 3DNow! code (Felix Kuhling)
1102         - fixed NeXT build problem (FABSF macro)
1103         - glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
1104         - zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
1105         - AA line and triangle Z values are now rounded, not truncated
1106         - fixed color interpolation bug when GLchan==GLfloat (bug 694461)
1107         - glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
1108         - fixed a minor GL_COLOR_MATERIAL bug
1109         - NV vertex program EXP instruction was broken
1110         - glColorMask misbehaved with X window / pixmap rendering
1111         - fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
1112         - attempt to fix GGI compilation problem when MesaDemos not present
1113         - NV vertex program ARL-relative fetches didn't work
1114     Changes:
1115         - use glPolygonOffset in gloss demo to avoid z-fighting artifacts
1116         - updated winpos and pointblast demos to use ARB extensions
1117         - disable SPARC normal transformation code (bug 673938)
1118         - GLU fixes for OS/2 (Evgeny Kotsuba)
1119
1120
1121 5.0.2  September 5, 2003
1122     Bug fixes:
1123         - fixed texgen problem causing texcoord's Q to be zero (stex3d)
1124         - default GL_TEXTURE_COMPARE_MODE_ARB was wrong
1125         - GL_CURRENT_MATRIX_NV query was wrong
1126         - GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
1127         - GL_LIST_MODE query wasn't correct
1128         - GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
1129         - GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
1130         - blended, wide lines didn't always work correctly (bug 711595)
1131         - glVertexAttrib4svNV w component was always 1
1132         - fixed bug in GL_IBM_rasterpos_clip (missing return)
1133         - GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
1134         - a few Solaris compilation fixes
1135         - fixed glClear() problem for DRI drivers (non-existant stencil, etc)
1136         - fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
1137         - fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
1138         - glFog() didn't clamp fog colors
1139         - fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
1140           gl[Get]TexParameteri[v] functions
1141         - fixed invalid memory references in glTexGen functions (bug 781602)
1142         - integer-valued color arrays weren't handled correctly
1143         - glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
1144         - GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
1145     Changes:
1146         - build GLUT with -fexceptions so C++ apps propogate exceptions
1147
1148
1149 5.1  December 17, 2003
1150     New:
1151         - reorganized directory tree
1152         - GL_ARB_vertex/fragment_program extensions (Michal Krol & Karl Rasche)
1153         - GL_ATI_texture_env_combine3 extension (Ian Romanick)
1154         - GL_SGI_texture_color_table extension (Eric Plante)
1155         - GL_NV_fragment_program extension
1156         - GL_NV_light_max_exponent extension
1157         - GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
1158         - GL_ARB_occlusion_query extension
1159         - GL_ARB_point_sprite extension
1160         - GL_ARB_texture_non_power_of_two extension
1161         - GL_IBM_multimode_draw_arrays extension
1162         - GL_EXT_texture_mirror_clamp extension (Ian Romanick)
1163         - GL_ARB_vertex_buffer_object extension
1164         - new X86 feature detection code (Petr Sebor)
1165         - less memory used for display lists and vertex buffers
1166         - demo of per-pixel lighting with a fragment program (demos/fplight.c)
1167         - new version (18) of glext.h header
1168         - new spriteblast.c demo of GL_ARB_point_sprite
1169         - faster glDrawPixels in X11 driver in some cases (see RELNOTES-5.1)
1170         - faster glCopyPixels in X11 driver in some cases (see RELNOTES-5.1)
1171     Bug fixes:
1172         - really enable OpenGL 1.4 features in DOS driver.
1173         - fixed issues in glDrawPixels and glCopyPixels for very wide images
1174         - glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
1175         - fixed some texgen bugs reported by Daniel Borca
1176         - fixed wglMakeCurrent(NULL, NULL) bug (#835861)
1177         - fixed glTexSubImage3D z-offset bug (Cedric Gautier)
1178         - fixed RGBA blend enable bug (Ville Syrjala)
1179         - glAccum is supposed to be a no-op in selection/feedback mode
1180         - fixed texgen bug #597589 (John Popplewell)
1181     Changes:
1182         - dropped API trace feature (src/Trace/)
1183         - documentation overhaul.  merged with website content.  more html.
1184         - glxgears.c demo updated to use GLX swap rate extensions
1185         - glTexImage1/2/3D now allows width/height/depth = 0
1186         - disable SPARC asm code on Linux (bug 852204)
1187
1188
1189 6.0  January 16, 2004
1190     New:
1191         - full OpenGL 1.5 support
1192         - updated GL/glext.h file to version 21
1193     Changes:
1194         - changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
1195     Bug fixes:
1196         - fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
1197           clamping issue
1198         - updated suno5-gcc configs
1199         - glColor3 functions sometimes resulted in undefined alpha values
1200         - fixed FP divide by zero error seen on VMS with xlockmore, others
1201         - fixed vertex/fragment program debug problem (bug 873011)
1202         - building on AIX with gcc works now
1203         - glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
1204         - glDrawRangeElements tried to modify potentially read-only storage
1205         - updated files for building on Windows
1206
1207
1208 6.0.1  April 2, 2004
1209     New:
1210         - upgraded glext.h to version 22
1211         - new build targets (Dan Schikore)
1212         - new linux-x86-opteron build target (Heath Feather)
1213     Bug fixes:
1214         - glBindProgramARB didn't update all necessary state
1215         - fixed build problems on OpenBSD
1216         - omit CVS directories from tarballs
1217         - glGetTexImage(GL_COLOR_INDEX) was broken
1218         - fixed an infinite loop in t&l module
1219         - silenced some valgrind warnings about using unitialized memory
1220         - fixed some compilation/link glitches on IRIX (Mike Stephens)
1221         - glBindProgram wasn't getting compiled into display lists
1222         - GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
1223         - two-sided lighting and vertex program didn't work (bug 887330)
1224         - stores to program parameter registers in vertex state programs
1225           didn't work.
1226         - fixed glOrtho bug found with gcc 3.2.2 (RH9)
1227         - glXCreateWindow() wasn't fully implemented (bug 890894)
1228         - generic vertex attribute arrays didn't work in display lists
1229         - vertex buffer objects' default usage and access fields were wrong
1230         - glDrawArrays with start!=0 was broken
1231         - fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
1232         - linux-osmesa16-static config didn't work
1233         - fixed a few color index rendering problems (bug 910687)
1234         - glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
1235         - OSMesa RGB and BGR modes were broken
1236         - glProgramStringARB mistakenly required a null-terminated string
1237         - fragment program XPD instruction was incorrect
1238         - glGetMaterial() didn't work reliably
1239         - ARB_fragment_program KIL instruction was incorrect
1240
1241
1242 6.1  Month day, 2004
1243     New:
1244         - Revamped Makefile system
1245         - glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
1246         - internal driver interface changes related to texture object
1247           allocation, vertex/fragment programs, BlendEquationSeparate, etc.
1248         - option to walk triangle edges with double-precision floats
1249           (Justin Novosad of Discreet) (see config.h file)
1250         - support for AUX buffers in software GLX driver
1251         - updated glext.h to version 24 and glxext.h to version 6
1252         - new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
1253         - updated BeOS support (Philippe Houdoin)
1254     Changes:
1255         - fragment fog interpolation is perspective corrected now
1256         - new glTexImage code, much cleaner, may be a bit faster
1257     Bug fixes:
1258         - glArrayElement in display lists didn't handle generic vertex attribs
1259         - glFogCoord didn't always work properly
1260         - ARB_fragment_program fog options didn't work
1261         - frag prog TEX instruction no longer incorrectly divides s,t,r by q
1262         - ARB frag prog TEX and TEXP instructions now use LOD=0
1263         - glTexEnviv in display lists didn't work
1264         - glRasterPos didn't do texgen or apply texture matrix
1265         - GL_DOUBLE-valued vertex arrays were broken in some cases
1266         - fixed texture rectangle edge/border sampling bugs
1267         - sampling an incomplete texture in a fragment program would segfault
1268         - glTexImage was missing a few error checks
1269         - fixed some minor glGetTexParameter glitches
1270         - GL_INTENSITY was mistakenly accepted as a <format> to glTexImage
1271         - fragment program writes to RC/HC register were broken
1272         - fixed a few glitches in GL_HP_occlusion_test extension
1273         - glBeginQueryARB and glEndQueryARB didn't work inside display lists
1274         - vertex program state references were broken
1275         - fixed triangle color interpolation bug on AIX (Shane Blackett)
1276         - fixed a number of minor memory leaks (bug #1002030)