| $Id: VERSIONS,v 1.126 2003/05/30 22:30:31 brianp Exp $ | 
 |  | 
 |  | 
 | Mesa Version History | 
 | ==================== | 
 |  | 
 | 1.0 beta   February 1995 | 
 |     Initial release | 
 |  | 
 | 1.1 beta   March 4, 1995 | 
 |     Changes: | 
 | 	faster point and line drawing (2x faster) | 
 | 	more systems supported, better Makefiles | 
 | 	Renamed lib*.a files to avoid collisions | 
 | 	many small bug fixes | 
 |     New: | 
 | 	pseudo-GLX functions added | 
 | 	new implementation of evaluators (eval2.c) | 
 | 	GLUT support | 
 |  | 
 | 1.1.1 beta   March 7, 1995 | 
 |     Changes: | 
 | 	Reverted from eval2.c to eval.c due to FPE on Linux | 
 | 	more speed improvements | 
 | 	more Makefile changes | 
 |  | 
 | 1.1.2 beta   March 14, 1995 | 
 |     New: | 
 | 	implementation of SGI's blending extensions | 
 | 	glXUseXFont implemented | 
 | 	added MESA_DEBUG environment variable support | 
 |     Changes: | 
 | 	Using eval2.c again | 
 | 	more FPE-prevention checks (0-length normals are OK) | 
 | 	a few small bug fixes | 
 | 	much faster pixel logic ops! | 
 | 	faster transformation arithmetic | 
 |  | 
 | 1.1.3 beta   March 31, 1995 | 
 |     New: | 
 | 	gluScaleImage() and gluBuild2DMipMaps() implemented | 
 | 	Mesa widgets for Xt/Motif | 
 | 	blendEXT demos | 
 | 	added environment variables for selecting visuals | 
 |     Changes: | 
 | 	almost all GLUT demos work correctly now | 
 | 	faster X device driver functions | 
 | 	more bug fixes | 
 |  | 
 | 1.1.4 beta   April 20, 1995 | 
 |     Bug fixes: | 
 | 	- missing #define SEEK_SET in src-tk/image.c | 
 | 	- compile glShadeModel into display lists | 
 | 	- fixed pow() domain error in src/light.c | 
 | 	- fixed "flickering bitmaps" in double buffer mode | 
 | 	- fixed tk.h and aux.h for C++ | 
 | 	- state of LIGHT_MODEL_LOCAL_VIEWER was inverted | 
 |     New features: | 
 | 	- MUCH, MUCH nicer dithering in 8-bit RGB mode | 
 | 	- updated widgets and widget demos | 
 | 	- Implemented GLXPixmap functions | 
 | 	- Added GLU 1.1 and GLX 1.1 functions | 
 | 	- Changed the X/Mesa interface API, more versatile | 
 | 	- Implemented gluPartialDisk() | 
 |  | 
 | 1.2   May 22, 1995 | 
 |     Bug fixes: | 
 | 	- IRIX 4.x makefile problem | 
 | 	- modified tk to share root colormap as needed | 
 | 	- gluLookAt normalization problem | 
 | 	- suppress Expose, NoExpose events in swapbuffers | 
 | 	- glBitmap() and glDrawPixels() clipping | 
 |     New features: | 
 | 	- GL_BLEND, GL_MODULATE, GL_DECAL, and GL_REPLACE_EXT texture | 
 | 	      modes implemented | 
 | 	- texture maps stored more efficiently | 
 | 	- texture maps can be compiled into display lists | 
 | 	- Bogdan Sikorski's GLU polygon tesselation code | 
 | 	- Linas Vepstas's sweep and extrusion library | 
 | 	- glXCreateContext()'s shareList parameter works as it's supposed to. | 
 | 	      XMesaCreateContext() updated to accept a shareList parameter too. | 
 | 	- Mesa can be compiled with real OpenGL .h files | 
 | 	- MESA_BACK_BUFFER environment variable | 
 | 	- better GLX error checking | 
 |  | 
 | 1.2.1   June 22, 1995 | 
 |     Bug fixes: | 
 | 	- X/Mesa double buffer window resize crash | 
 | 	- widgets now pass PointerMotion events | 
 | 	- X/Mesa incorrect default clear color and drawing color | 
 | 	- more robust X MIT-SHM support in X/Mesa | 
 | 	- glTexImage( format=GL_LUMINANCE ) didn't work | 
 | 	- GL_LINE mode polygons with line width > 1.0 could cause a crash | 
 | 	- numerous feedback bugs | 
 | 	- glReadPixels() from depth buffer was wrong | 
 | 	- error prone depth and stencil buffer allocation | 
 |     New features: | 
 | 	- Preliminary Microsoft Windows driver | 
 | 	- Implemented a number of missing functions: glEvalCoord[12][df]v(), | 
 | 	    glGet...(), etc. | 
 | 	- Added a few missing symbols to gl.h and glu.h | 
 | 	- Faster rendering of smooth-shaded, RGBA, depth-buffered polygons. | 
 | 	- Faster rendering of lines when width=2.0 | 
 | 	- Stencil-related functions now work in display lists | 
 |     Changes: | 
 | 	- renamed aux.h as glaux.h (MS-DOS names can't start with aux) | 
 | 	- most filenames are in 8.3 format to accomodate MS-DOS | 
 | 	- use GLubytes to store arrays of colors instead of GLints | 
 |  | 
 | 1.2.2   August 2, 1995 | 
 |     New features: | 
 | 	- texture mapped points and lines | 
 | 	- NURBS! (but not 100% complete) | 
 | 	- viewports may safely extend beyond window boundaries | 
 | 	- MESA_PRIVATE_CMAP environment variable | 
 | 	- Grayscale X display support | 
 | 	- two new demos:  demos/gears.c and demos/shadow.c | 
 | 	- MachTen for Macintosh configuration | 
 |     Bug fixes: | 
 | 	- glGet*(GL_DEPTH_BITS) returned bytes, not bits | 
 | 	- point, line, and bitmap rasterization suffered from roundoff errors | 
 | 	- fixed a division by zero error in line clippping | 
 | 	- occasional wrong default background color really fixed! | 
 | 	- glDepthFunc(GL_ALWAYS) with glDepthMask(GL_FALSE) didn't work | 
 | 	- gluBuild2DMipmaps malloc problem fixed | 
 | 	- view volume clipping of smooth shaded lines resulted in bad colors | 
 |     Changes: | 
 | 	- new visual selection method in glXChooseVisual() | 
 | 	- improved GLU quadric functions | 
 | 	- call XSync for glFinish and XFlush for glFlush | 
 | 	- glVertex() calls now use a function pointer to avoid conditionals | 
 | 	- removed contrib directory from Mesa tar file (available on ftp site) | 
 | 	- AIX shared library support | 
 | 	- Removed GLUenum type as it's not in OpenGL | 
 |  | 
 | 1.2.3   September 26, 1995 | 
 |     New features: | 
 | 	- Mesa header files now equivalent to SGI OpenGL headers | 
 | 	- Support for HP's Color Recovery dithering displays | 
 | 	- Faster vertex transformation | 
 | 	- Faster raster operations into X windows under certain conditions | 
 | 	- New configurations:  HP w/ shared libs, Ultrix w/ GCC, Data General | 
 | 	- 4-bit visuals now supported | 
 |     Bug fixes: | 
 | 	- glScissor bug fixed | 
 | 	- round-off errors in clipping lines against clip planes fixed | 
 | 	- byte swapping between hosts and display servers implemented | 
 | 	- glGetError() can be called without a current rendering context | 
 | 	- problem with accidentally culled polygons is fixed | 
 | 	- fixed some widget compilation problems | 
 |  | 
 | 1.2.4   November 17, 1995 | 
 |     New features: | 
 | 	- More speed improvements (lighting, fogging, polygon drawing) | 
 | 	- Window system and OS-independent off-screen rendering | 
 | 	- Preliminary Fortran bindings | 
 | 	- glPolygonOffsetEXT implemented | 
 | 	- glColorMask and glIndexMask now fully implemented | 
 | 	- glPixelZoom implemented | 
 | 	- display lists fully implemented | 
 | 	- gamma correction | 
 | 	- dithering in 8-bit TrueColor/DirectColor visuals | 
 |     Changes: | 
 | 	- Improved device driver interface | 
 | 	- tk.h renamed to gltk.h to avoid conflicts with Tcl's Tk | 
 | 	- Dithering support moved from core into device driver | 
 |     Bug fixes: | 
 | 	- glEnable/Disable( GL_LIGHTING ) didn't always take effect | 
 | 	- glReadPixels byte swapping was broken | 
 | 	- glMaterial with pname==GL_AMBIENT_AND_DIFFUSE was broken | 
 | 	- duplicate glColor4b() prototype in GL/gl.h removed | 
 | 	- stripes in wave -ci demo fixed | 
 | 	- GL_LINEAR_MIPMAP_NEAREST had wrong value | 
 | 	- bugs in HP Color Recovery support fixed | 
 | 	- fixed bug when blending lines, points, bitmaps outside of window | 
 |  | 
 | 1.2.5   November 30, 1995 | 
 |     New Features: | 
 | 	- updated MS Windows driver | 
 | 	- new implementation of StaticGray/GrayScale visual support | 
 |     Bug fixes: | 
 | 	- pixelzooming with gamma correction or blending didn't work | 
 | 	- HP color recovery visual wasn't being picked by glXChooseVisual | 
 | 	- glClear didn't always observe glColorMask changes | 
 | 	- olympic and offset demos didn't compile on some Suns | 
 | 	- texcoord clamping wasn't correct | 
 | 	- a polygon optimization introduced an occasional sampling problem | 
 |  | 
 | 1.2.6   January 26, 1996 | 
 |     New Features: | 
 | 	- faster line and polygon rendering under certain conditions.  See | 
 | 	  Performance Tips 9 and 10 in README | 
 | 	- profiling | 
 | 	- lighting is a bit faster | 
 | 	- better perspective corrected texture mapping | 
 | 	- Amiga AmiWin (X11) support | 
 | 	- preliminary Linux SVGA driver | 
 |     Changes: | 
 | 	- now using a 16-bit depth buffer, faster, smaller | 
 | 	- GL_NORMALIZE is disabled by default | 
 |     Bug fixes: | 
 | 	- projective texture mapping | 
 | 	- fixed a memory leak in the context destroy function | 
 | 	- GL_POLYGON with less than 3 vertices caused a crash | 
 | 	- glGet*() returned wrong result for GL_INDEX_MODE | 
 | 	- reading pixels from an unmapped X window caused a BadMatch error | 
 |  | 
 | 1.2.7   March 5, 1996 | 
 |     New: | 
 | 	- faster lighting | 
 | 	- faster 16-bit TrueColor rendering on Linux | 
 | 	- faster 32-bit TrueColor rendering on Linux, HP, IBM | 
 | 	- non-depth-buffered XImage polygons are faster | 
 | 	- vertex array extension | 
 | 	- software alpha planes | 
 | 	- updated Macintosh driver | 
 | 	- new NeXT driver | 
 | 	- GLU quadric functions generate texture coordinates | 
 | 	- reflect.c demo - reflective, textured surface demo | 
 |     Changes: | 
 | 	- gamma correction code moved into the X driver for better performance | 
 |     Bug fixes: | 
 | 	- multiple glClipPlane()'s didn't work reliably | 
 | 	- glPolygonMode() didn't always work | 
 | 	- glCullFace( GL_FRONT_AND_BACK ) didn't work | 
 | 	- texture mapping with gamma correction was buggy | 
 | 	- floating point exceptions in texture coordinate interpolation | 
 | 	- XImage byte swapping didn't always work | 
 | 	- polygon edge flags weren't always used correctly | 
 |  | 
 | 1.2.8   May 22, 1996 | 
 |     New: | 
 | 	- overlay planes on X servers with the SERVER_OVERLAY_VISUALS property | 
 | 	- better monochrome output | 
 | 	- more IRIX 6.x configurations | 
 | 	- more robust RGB mode color allocation | 
 | 	- added MESA_XSYNC environment variable | 
 | 	- GLX_MESA_pixmap_colormap and GLX_EXT_visual_info extensions | 
 | 	- GL_MESA_window_pos extension | 
 | 	- faster glReadPixels/glDrawPixels for GL_DEPTH and GL_UNSIGNED_SHORT | 
 | 	  and GL_UNSIGNED_INT | 
 |         - driver for prototype Cirrus Mondello 3-D board | 
 | 	- updated AmigaDOS driver | 
 |         - a few small speed optimizations in polygon rendering | 
 |     Changes: | 
 | 	- internal device driver interface modified to simplify device | 
 | 	  driver implementations and to support hardware Z buffers | 
 | 	- several changes to the X/Mesa interface (xmesa.h) | 
 |     Bug fixes: | 
 | 	- fixed pow(0,0) domain error triggered on some systems | 
 | 	- glStencilClear() in a display list caused an infinite loop | 
 | 	- glRasterPos*() was sometimes off by +/-0.5 in X and Y | 
 | 	- color masking and blending were performed in wrong order | 
 | 	- auxSolidCylinder() sometimes drew a wire-frame cylinder | 
 | 	- fixed file writing bug in osdemo.c | 
 | 	- pixel mapping didn't always work | 
 | 	- the GL_GEQUAL stencil func didn't work | 
 | 	- the GL_INVERT stencil op didn't work | 
 | 	- the stencil write mask didn't work | 
 | 	- glPush/PopAttrib() didn't do enough error checking | 
 | 	- glIsList() didn't always work correctly | 
 |  | 
 | 2.0  October 10, 1996 | 
 |     New: | 
 | 	- Implements OpenGL 1.1 API functions | 
 | 	- all texture filtering modes supported (mipmapping) | 
 | 	- faster texture mapping, see Performance Tip 11 in README | 
 | 	- antialiased RGB points | 
 | 	- X support for line and polygon stippling | 
 | 	- glDrawBuffer( GL_FRONT_AND_BACK ) works | 
 | 	- util/ directory of useful stuff | 
 | 	- demos/texobj demo of texture objects | 
 |     Changes: | 
 | 	- major internal changes for thread-safeness | 
 | 	- new device driver interface | 
 | 	- MESA_ALPHA env variable removed | 
 | 	- triangle rasterizer replaces polygon rasterizer | 
 |     Bug fixes: | 
 | 	- glPopAttrib() bug | 
 | 	- glDrawBuffer(GL_NONE) works now | 
 |  | 
 | 2.1  December 14, 1996 | 
 |     New: | 
 | 	- VMS support | 
 | 	- MS-DOS driver | 
 | 	- OpenStep support | 
 | 	- updated, combined Windows 95/NT driver | 
 | 	- implemented glGetLighti() and glGetTexGen*() | 
 | 	- GLX does garbage collection of ancillary buffers | 
 |     Bug fixes: | 
 | 	- removed unused _EXT constants from gl.h | 
 | 	- fixed polygon offset bugs | 
 | 	- Z coordinates of clipped lines were incorrect | 
 | 	- glEdgeFlag() in display lists didn't always work | 
 | 	- glLight*() in display lists didn't work | 
 | 	- fixed X line stipple bugs (Michael Pichler) | 
 | 	- glXUseXfonts XFreeFont/XFreeFontInfo bug fixed | 
 | 	- fixed a feedback bug | 
 | 	- glTexGen*() now transforms GL_EYE_PLANE by inverse modelview matrix | 
 | 	- polygons were sometimes culled instead of clipped | 
 | 	- triangle rasterizer suffered from float/int overflow exceptions | 
 | 	- fixed FP underflow exception in lighting (specular exponent) | 
 | 	- glEnable/glDisable of GL_EXT_vertex_array enums didn't work | 
 | 	- fixed free(NULL) in GLU tesselator code | 
 | 	- using 24-bit color on some X servers resulted in garbage rendering | 
 | 	- 32-bit per pixel mode for XFree86 now works | 
 | 	- glRotate(a,0,0,0) gave unpredictable results | 
 | 	- GL_LINE_STRIP with > 480 vertices had occasional clipping problems | 
 | 	- 8-bit TrueColor GLXPixmap rendering incorrectly required a colormap | 
 | 	- glMaterial() wasn't ignored when GL_COLOR_MATERIAL was enabled | 
 | 	- glEnable(GL_COLOR_MATERIAL) followed by glColor() didn't work right | 
 | 	- accumulation buffer was limited to positive values | 
 | 	- projective textures didn't work | 
 | 	- selection buffer overflows weren't handled correctly | 
 |     Changes: | 
 | 	- restored the GL_EXT_polygon_offset extension | 
 | 	- slightly faster RGB dithering | 
 | 	- the SVGA driver works again | 
 | 	- Amiga driver now distributed separately | 
 | 	- NeXT driver updated for Mesa 2.x | 
 |  | 
 | 2.2  March 14, 1997 | 
 |     New: | 
 | 	- better color selection when dithering | 
 | 	- added GL_EXT_texture_object extension | 
 | 	- updated MS-DOS driver for DJGPP | 
 | 	- added openbsd make configuration | 
 | 	- faster dithered flat-shaded triangles | 
 | 	- various compilation problems with Motif widgets fixed | 
 | 	- gl.h, glx.h and glu.h name mangling option | 
 | 	- BeOS driver | 
 | 	- 3D texture mapping extension | 
 | 	- GL_MESA_resize_buffers extension | 
 | 	- morph3d, stex3d and spectex demos | 
 | 	- 3Dfx support | 
 |     Bug fixes: | 
 | 	- glColorMaterial should finally work right in all respects | 
 | 	- linear interpolation of mipmap levels was incorrectly weighted | 
 | 	- readpix.c didn't compile on Macintosh | 
 | 	- GL_INVERT and related logic ops didn't work right | 
 | 	- glTexImage[12]D() didn't check its parameters consistantly | 
 | 	- fixed a memory leak in glTexImage[12]D() | 
 | 	- kludged around a SunOS 5.x/GCC compiler bug in the feedback code | 
 | 	- glReadPixels aborted instead of normally catching some errors | 
 | 	- a few 1.1 constants were missing or misnamed in gl.h | 
 | 	- glBegin(p); glBegin(q); didn't generate an error | 
 | 	- fixed a memory leak in GLX code | 
 | 	- clipping of concave polygons could cause a core dump | 
 | 	- 1-component alpha texture maps didn't work | 
 | 	- fixed a GLU polygon tesselator bug | 
 | 	- polygons with colinear vertices were sometimes culled | 
 | 	- feedback triangle colors were wrong when using smooth shading | 
 | 	- textures with borders didn't work correctly | 
 | 	- colors returned in feedback mode were wrong when using lighting | 
 | 	- spotlights didn't effect ambient lighting correctly | 
 | 	- gluPartialDisk() had a few bugs | 
 |     Changes: | 
 | 	- device driver interface expanded to support texture mapping | 
 | 	- faster matrix inversion subroutine | 
 | 	- commented out #include "wmesa_extend.h" from src/wmesa.c | 
 | 	- fixed many compiler warnings in the demo programs | 
 |  | 
 | 2.3  June 30, 1997 | 
 |     New: | 
 | 	- Mesa distribution divided into two pieces:  library code and demos | 
 | 	- faster vertex transformation, clip testing, lighting | 
 | 	- faster line drawing | 
 | 	- TrueColor visuals how have dithering (for depths < 24 bits) | 
 | 	- added MESA_NO_DITHER environment variable | 
 | 	- new device driver function: NearFar(), RenderVB(), RasterSetup() | 
 | 	- added LynxOS configuration | 
 | 	- added cygnus Win32 configuration | 
 | 	- added texcyl.c GLUT demo | 
 | 	- added XMesaDitherColor() to X/Mesa interface | 
 | 	- new NURBS code from Bogdan Sikorski | 
 | 	- added demos/shape.c (non-rectangular X window!) | 
 |     Bug fixes: | 
 | 	- glEnable/DisableClientState() were missing from GL/gl.h | 
 | 	- GL_SPHERE_MAP texcoord generation didn't work correctly | 
 | 	- glXGetConfig() returned wrong number of depth, stencil, accum bits | 
 | 	- glDrawPixels feedback/selection didn't examine RasterPos valid bit | 
 | 	- black and white were reversed on some monochrome displays | 
 | 	- fixed potential image memory leak (wasn't setting reference counter) | 
 | 	- glDrawPixels sometimes didn't recognize some GL state changes | 
 | 	- gluProject/UnProject() didn't check for divide by zero | 
 | 	- stex3d demo called random() and srandom(), not portable | 
 | 	- fixed memory leaks in context.c and drawpix.c | 
 | 	- fixed NULL dereferencing problem in gl_update_texture_state() | 
 | 	- glReadPixels between glBegin/glEnd didn't generate an error. | 
 | 	- fixed memory leak in polygon tesselator (Randy Frank) | 
 | 	- fixed seg fault bug drawing flat-shaded, depth-tested lines | 
 | 	- clipped GL_TRIANGLE_STRIPs sometimes had wrong color when flat-shaded | 
 | 	- glBindTexture sometimes didn't work | 
 | 	- fixed a bug deep in glXReleaseBuffersMESA() | 
 | 	- fog was mistakenly applied to alpha | 
 | 	- glPopMatrix didn't set "dirty matrix" flag | 
 | 	- glPolygonStipple pattern was sometimes wrong | 
 | 	- glClear wasn't disabled during feedback and selection | 
 | 	- fixed memory leak in glTexSubImage[123]D | 
 |     Changes: | 
 | 	- many library source files reorganized | 
 | 	- faster X color allocation, colors also freed when finished with them | 
 | 	- new texture sampling function pointer in texture objects | 
 | 	- incorporated 3Dfx VooDoo driver v0.16 into main source tree | 
 | 	- many 3Dfx driver updates | 
 | 	- cygnus Makefiles now included | 
 | 	- updated DOS driver | 
 | 	- made a few changes to dosmesa.c and wmesa.c (VB->Unclipped) | 
 | 	- internally, colors now stored in GLubytes, not GLfixed | 
 | 	- optimized changing of GL_SHININESS parameter | 
 |  | 
 | 2.4  September 18, 1997 | 
 |     New: | 
 | 	- updated 3Dfx Glide driver | 
 | 	- hacks for 3Dfx rendering into an X window or fullscreen | 
 | 	- added depth buffer access functions to X/Mesa and OS/Mesa interfaces | 
 |     Bug fixes: | 
 | 	- pixel buffer could overflow with long, wide lines | 
 | 	- fixed FP underflow problems in lighting | 
 | 	- glTexSubImage1D() had an unitialized variable | 
 | 	- incomplete texture objects could cause a segfault | 
 | 	- glDrawPixels with GL_COMPILE_AND_EXECUTE caused infinite loop | 
 | 	- flat-shaded quads in a strip were miscolored if clipped | 
 | 	- mipmapped triangle lod computation now works correctly | 
 | 	- fixed a few under/overflow bugs in triangle rasterizer | 
 | 	- glArrayElement() assigned bad normal if normal array disabled | 
 | 	- changed argument to glXReleaseBuffersMESA() | 
 | 	- fixed small triangle underflow bugs in tritemp.h (hopefully) | 
 | 	- glBindTexture(target, 0) caused a crash | 
 | 	- glTexImage[123]D() with NULL image pointer caused crash | 
 | 	- glPixelStore parameters are now ignored during display list execution | 
 | 	- fixed a two-sided lighting w/ clipping bug (black vertices) | 
 | 	- textures with width!=height were sometimes mis-rendered | 
 | 	- "weird" projection matrices could cause div by 0, other fp errors | 
 |     Changes: | 
 | 	- changed precompiled header symbol from PCH to PC_HEADER | 
 | 	- split api.c into api1.c and api2.c | 
 | 	- added hash.c source file (but not used yet) | 
 | 	- a few Sun and HP configuration file changes | 
 | 	- MESA_GLX_FX env var replaces MESA_FX_WINDOW and MESA_FX_FULLSCREEN | 
 | 	- fixed a few cygnus build problems (src/Makefile.cygnus, src/wmesa.c) | 
 |  | 
 | 2.5  November 20, 1997 | 
 |     New: | 
 | 	- updated 3Dfx driver (v20) for GLQuake | 
 | 	- added GL_EXT_paletted_texture extension | 
 | 	- added GL_EXT_shared_texture_palette extension | 
 | 	- added GL_EXT_point_parameters extension | 
 | 	- now including Mark Kilgard's GLUT library v3.6 | 
 | 	- new GLUT-based demos in gdemos/ | 
 | 	- added a few more Unix config targets | 
 | 	- added Intel X86 assembly language vertex transformation code | 
 | 	- 3Dfx/Glide driver for Mesa now recognizes SST_SCREENREFRESH env var | 
 | 	- Windows 95 S3 Virge driver | 
 |     Bug fixes: | 
 | 	- glCopyTexImage?D would crash due to uninitialized variable | 
 | 	- glColor w/ glColorMaterial in a display list caused a bug | 
 | 	- fixed several glDrawPixels() and ReadPixels() bugs in 3Dfx driver | 
 | 	- glVertex4*() vertices weren't always projected correctly | 
 | 	- trying to use mipmapped textured points or lines caused crash | 
 | 	- glColor[34][fd]() values now clamped to [0,1] before int conversion | 
 |     Changes: | 
 | 	- new device driver functions for texture mapping | 
 | 	- hash tables used for display list and texture object lookup | 
 | 	- fixed GLX visual handling code to avoid saving redundant visuals | 
 | 	- 3Dfx Glide libraries automatically linked to libMesaGL.so | 
 | 	- dropped the Cirrus Logic Mondello code since it's obsolete | 
 | 	- updated Cygnus Makefiles (Stephane Rehel) | 
 | 	- updated Windows MSVC++ Makefiles (Oleg Letsinsky) | 
 | 	- procedure for making library files has changed: scripts now take | 
 | 	  a major and minor version arguments.  Make-config changed a lot. | 
 | 	- new implementation of glTexSubImage2D() | 
 | 	- updated widgets-mesa directory to create libMesaGLwM.a (Motif widget) | 
 | 	- separate linux-glide and linux-386-glide configurations | 
 |  | 
 | 2.6  February 12, 1998 | 
 |     New: | 
 | 	- Windows WGL functions | 
 | 	- updated VMS, DOS, Windows, Cygnus, BeOS, Amiga compilation support | 
 | 	- v0.22 of 3Dfx Glide driver | 
 | 	- more X86 assembly language optimizations | 
 | 	- faster blending for some modes | 
 | 	- XMesaSetFXmode() to switch between 3Dfx window and full-screen mode  | 
 | 	- added preliminary thread support | 
 | 	- added GLX_MESA_copy_sub_buffer extension | 
 | 	- some clipping optimizations | 
 |     Bug fixes: | 
 | 	- fixed shading/material bug when drawing long primitive strips | 
 | 	- fixed clipping problem in long primitive strips | 
 | 	- fixed clipping bug when using 3Dfx driver | 
 | 	- fixed a problem when trying to use X fonts w/ 3Dfx driver | 
 | 	- fixed a texture filter bug in 3Dfx/Glide driver | 
 | 	- fixed bug in 3Dfx/Glide driver involving depth mask & clearing | 
 | 	- glLoadMatrix to set projection matrix confused the 3Dfx driver | 
 | 	- non-identity texture matrices didn't work with linux-386 configs | 
 | 	- glGenTextures() didn't reserve the returned texture IDs | 
 | 	- NULL proxy image sent to glTexImageXD() caused crash | 
 | 	- added texture state validation optimization (Henk Kok) | 
 | 	- fixed colormap reuse problem when using both RGB and CI windows | 
 | 	- 32bpp True/DirectColor X visuals weren't recognized | 
 | 	- fixed potential problem in evaluators memory allocation | 
 | 	- fixed assorted demo compilation bugs | 
 |     Changes: | 
 | 	- replaced old Mesa/windows/ directory with Mesa/WIN32/ directory | 
 | 	- converted a few old glaux/gltk demos to GLUT | 
 | 	- renamed directories:  demos -> xdemos,  gdemos -> demos | 
 |  | 
 |  | 
 | 3.0  September 17, 1998 | 
 |     New: | 
 | 	- OpenGL 1.2 API | 
 | 	- GL_EXT_abgr pixel format extension | 
 | 	- GL_SGIS_texture_edge_clamp extension | 
 | 	- GL_SGIS_multitexture extension (to be replaced by GL_ARB_multitex) | 
 | 	- GL_EXT_multitexture extension (to be replaced by GL_ARB_multitex) | 
 | 	- GL_EXT_rescale_normal extension and renormal.c demo | 
 | 	- GLX_SGI_video_sync extension (a no-op) | 
 | 	- antialiased lines | 
 | 	- glGetTexImage() now implemented | 
 | 	- glDraw/Copy/ReadPixels() optimizations | 
 | 	- optimized textured triangle code (Marten Stromberg) | 
 | 	- more optimization of dithered TrueColor triangles in X driver | 
 | 	- Linux GGI driver | 
 | 	- updated MGL driver | 
 |     Bug fixes: | 
 | 	- lots of assorted compilation fixes | 
 | 	- glInitNames didn't write initial hit record | 
 | 	- glBitmap didn't always check for invalid raster position | 
 | 	- switching between GLX and OSMesa contexts caused a crash | 
 | 	- fixed uninitialized variable in Mesa widget code | 
 | 	- fixed typo in texture code which caused book/texgen to crash | 
 | 	- fixed texture sampling bug when filter=GL_LINEAR and wrap=GL_CLAMP | 
 | 	- gluDisk() in POINT or LINE mode sometimes failed | 
 | 	- fixed texture + fog bug | 
 | 	- GL_COMPILE_AND_EXECUTE mode didn't work reliably | 
 | 	- glMultMatrix in projection matrix mode w/ 3Dfx driver could fail | 
 | 	- glDrawPixels(color index pixels) weren't converted to RGBA | 
 | 	- fixed possible getenv() buffer overflow security bug | 
 | 	- glBitmap in feedback mode was offset by xOrig, yOrig params | 
 | 	- device driver's DrawPixels hook was never used | 
 | 	- glDrawPixels with zoomY!=1 and top/bottom clipping didn't work | 
 | 	- glDrawPixels optimized for GL_LUMINANCE, GL_LUMINANCE_ALPHA, GLubyte | 
 | 	- fixed MakeCurrent bug in GLwRedrawObjects() in MesaWorkstation.c | 
 | 	- glCopyTexSubImage2D() didn't work with 3Dfx driver | 
 | 	- lines with width = 2 could cause crash | 
 | 	- glClear with scissor rect sometimes cleared whole buffer | 
 | 	- glTexSubImage2D( .. GL_COLOR_INDEX .. ) didn't work | 
 | 	- glTexImageXD( .. GL_ABGR_EXT .. ) didn't work | 
 | 	- computation of inverse modelview matrix sometimes failed | 
 | 	- fixed GL_CLAMP mode texture sampling bug | 
 | 	- textured line interpolation was somewhat broken | 
 | 	- textured triangle interpolation was also somewhat broken | 
 | 	- glGet(MODELVIEW/PROJECTION/TEXTURE_MATRIX_STACK_DEPTH) off by one | 
 | 	- evaluator state wasn't fully initialized | 
 | 	- texture coordinate clipping was buggy | 
 | 	- evaluator surfaces could be mis-colored | 
 | 	- glAccum(GL_RETURN, s) didn't obey glColorMask() settings | 
 | 	- zero area polygons shouldn't be culled if polygon mode is point/line | 
 | 	- clipped width and height of glReadPixels was sometimes off by one | 
 | 	- blending with alpha = 0 or 1.0 wasn't always exact | 
 | 	- reading of pixels from clipped region was buggy | 
 | 	- minor tweaking of X visual management in GLX emulator | 
 | 	- glPolygonStipple now obeys pixel unpacking parameters | 
 | 	- glGetPolygonStipple now obeys pixel packing parameters | 
 | 	- interleaved vertex array texture coordinates were broken | 
 | 	- query of proxy texture internal format was broken | 
 | 	- alpha channel wasn't reliably cleared | 
 | 	- fixed divide by zero error in gluScaleImage if dest size = 1 x 1 | 
 |     Conformance bug fixes: | 
 | 	- GL_SELECTION_BUFFER_POINTER and GL_SELECTION_BUFFER_SIZE were missing | 
 | 	- GL_TEXTURE_INTERNAL_FORMAT was missing | 
 | 	- glGet*(GL_POLYGON_STIPPLE) was broken | 
 | 	- glPush/PopAttrib() didn't save/restore all texture state | 
 | 	- glBitmap in feedback mode didn't work | 
 | 	- feedback of texture coords didn't always work | 
 | 	- glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLbyte was broke | 
 | 	- glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLubyte was broke | 
 | 	- glDrawPixels w/ format=GL_STENCIL_INDEX, type=GL_BITMAP was broke | 
 |     Changes: | 
 | 	- upgraded GLUT to version 3.7 | 
 | 	- only GL and GLU library code included in MesaLib.tar.gz | 
 | 	- GLUT and all demos now in MesaDemos.tar.gz | 
 | 	- glaux and gltk libraries removed | 
 | 	- IRIX -n32 and -64 libs go in lib32/ and lib64/ directories | 
 |  | 
 |  | 
 | 3.1 beta 1  November 19, 1998 | 
 |     New: | 
 | 	- GL_EXT_stencil_wrap extension | 
 | 	- GL_INGR_blend_func_separate extension | 
 | 	- GL_ARB_multitexture extension | 
 | 	- GL_NV_texgen_reflection extension | 
 | 	- newly optimized vertex transformation code | 
 | 	- updated GLUT 3.7 code | 
 | 	- better precision when using 32-bit Z buffer | 
 | 	- Allegro DJGPP driver | 
 |     Bug fixes: | 
 | 	- glCopyPixels between front/back buffers didn't copy alpha correctly | 
 | 	- fixed out-of-bounds memory access in optimized 2-D texture code | 
 | 	- glPixelStorei didn't accept GL_PACK/UNPACK_IMAGE_HEIGHT parameter | 
 | 	- glGet*() didn't accept GL_MAX_3D_TEXTURE_SIZE parameter | 
 | 	- clipping of texture coordinates sometimes had bad R,Q values | 
 | 	- GL_CLAMP_TO_EDGE texture sampling was off by 0.5 texels | 
 | 	- glEdgeFlagPointer() now takes a GLvoid * instead of GLboolean * | 
 | 	- texture was sometimes applied twice with 3Dfx driver | 
 | 	- glPush/PopAttrib() fouled up texture object reference counts | 
 | 	- glDeleteLists(0, n) caused assertion failure | 
 | 	- bilinear texture sampling wasn't accurate enough | 
 | 	- glClear w/ glDepthMask(GL_FALSE) didn't work right on 3Dfx | 
 | 	- color components were reversed on big endian 32 bpp X visuals | 
 |     Changes: | 
 | 	- removed GL_EXT_multitexture extension | 
 |  | 
 |  | 
 | 3.1 beta 2  May 24, 1999 | 
 |     New: | 
 | 	- multi-textured points and lines (mjk@nvidia.com) | 
 | 	- optimized 24bpp X rendering (bernd.paysan@gmx.de) | 
 | 	- added allegro support (bernie-t@geocities.com) | 
 | 	- cleaned-up Windows-related stuff (Ted Jump) | 
 | 	- minor stereo changes (KendallB@scitechsoft.com) | 
 | 	- new BeOS driver which implements BGLView class | 
 | 	- new Direct3D driver (see src/D3D) | 
 | 	- more efficient filled gluCylinder() function | 
 | 	- utilities:  util/showbuffer.[ch] and util/glstate.[ch] | 
 | 	- fixed some IRIX compiler warnings | 
 | 	- added support for building Mesa in XFree86 with | 
 | 	    SGI's GLX (kevin@precisioninsight.com) | 
 |     Bug fixes: | 
 | 	- a variety of Windows/Mesa bug fixes (mjk@nvidia.com) | 
 | 	- packed pixel images weren't unpacked correctly | 
 | 	- patches some win32 files in GLUT (mjk@nvidia.com) | 
 | 	- glTexImage[123]D() didn't accept internalFormat == GL_COLOR_INDEX | 
 | 	- fixed lighting bug in Keith's new shading code | 
 | 	- fixed texture segfault seen in Lament screensaver | 
 | 	- fixed miscellaneous low-memory bugs | 
 | 	- glClear(GL_COLOR_BUFFER_BIT) with RGBA or CI masking was broken | 
 | 	- GL_LINEAR sampling of 3D textures was broken | 
 | 	- fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org) | 
 | 	- added GL_TEXTURE_PRIORITY fix (keithh@netcomuk.co.uk) | 
 | 	- fixed wide point and wide line conformance bugs (brianp) | 
 |     Changes: | 
 | 	- some device driver changes (see src/dd.h) | 
 | 	- new copyright on core Mesa code | 
 |  | 
 |  | 
 | 3.1 beta 3  September 17, 1999 | 
 |     New: | 
 | 	- optimized glAccum function | 
 | 	- optimized 24bpp rendering in XMesa driver | 
 | 	- GLU 1.2 polygon tessellator | 
 |     Bug Fixes: | 
 | 	- glGetTexLevelParameter wasn't fully implemented | 
 | 	- glXUseXFont now handles multi-byte fonts | 
 | 	- glIsEnabled(GL_TEXTURE_2D / 3D) returned wrong result | 
 | 	- alpha channel of blending points, lines was sometimes incorrect | 
 |     Changes: | 
 | 	- New library names:  "libGL" instead of "libMesaGL" | 
 | 	- New library numbering: libGL.so.1.2.310 | 
 | 	- New subdirectories:  docs/ and bin/ | 
 | 	- New Makefile-system (autoconf,automake,libtool) | 
 |  | 
 |  | 
 | 3.1 final  December 14, 1999 | 
 |     New: | 
 | 	- added demos/gloss.c | 
 | 	- added xdemos/glxdpyinfo.c | 
 | 	- added GLX_ARB_get_proc_address extension | 
 | 	- rewritten glTexImage code paths (faster, less memory, bug fixes) | 
 |     Bug Fixes: | 
 | 	- several vertex array bug fixes | 
 | 	- overlapping glCopyPixels with pixel zooming now works | 
 | 	- glXUseXFont() bitmaps were vertically shifted by one pixel | 
 | 	- glCopyPixels with pixel zooming now works | 
 |  | 
 |  | 
 | 3.2 final  April 24, 2000 | 
 |     Bug fixes: | 
 | 	- fixed memcpy bugs in span.c | 
 | 	- fixed missing glEnd problem in demos/tessdemo.c | 
 | 	- fixed bug when clearing 24bpp Ximages | 
 | 	- fixed clipping problem found in Unreal Tournament | 
 | 	- fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2 | 
 | 	- fixed Loki's 3dfx RGB vs BGR bug | 
 | 	- fixed Loki's 3dfx smooth/flat shading bug in SoF | 
 |     Changes: | 
 | 	- updated docs/README file | 
 | 	- use bcopy() optimizations on FreeBSD | 
 | 	- re-enabled the optimized persp_textured_triangle() function | 
 |  | 
 |  | 
 | 3.2.1  July 19, 2000 | 
 |     Bug fixes: | 
 | 	- gluBuild2DMipmaps() didn't accept GL_BGRA | 
 | 	- Fixed compile/makefile problems on IRIX | 
 | 	- fixed segfault in 3dfx driver when using GL selection/feedback | 
 | 	- no longer cull very, very tiny triangles | 
 | 	- blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering) | 
 | 	- fixed Motif detection code in widgets-mesa/configure.in | 
 | 	- glColorMaterial and glMaterial updates to emissive and ambient | 
 | 	  didn't always work right | 
 | 	- Specular highlights weren't always in the right place | 
 | 	- clipped GL_LINE mode polygons had interior lines appear | 
 | 	- blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken | 
 | 	- GL_NICEST fog didn't always work with flat shading | 
 | 	- glRect commands in display lists were sometimes miscolored | 
 | 	- Line Z offset didn't always work | 
 | 	- fixed texgen normal vector problem (gloss's teapot) | 
 | 	- numerous GL conformance bugs fixed | 
 |     Changes: | 
 | 	- glColorMask(false, false, false, false) handled better/faster | 
 | 	- reverted to old GLU polygon tessellator, GLU 1.1 | 
 | 	- updated Win32 build files | 
 |  | 
 |  | 
 | 3.3  July 21, 2000 | 
 |     New: | 
 | 	- antialiased triangles now implemented | 
 | 	- GL_EXT_texture_env_add texture mode extension | 
 | 	- GLX 1.3 API | 
 | 	- support for separate draw/read buffers (ie GL_SGI_make_current_read) | 
 | 	- thread-safe API dispath | 
 | 	- improved glxinfo program | 
 | 	- demos/texdown program to measure texture download performance | 
 | 	- glext.h header file | 
 | 	- demos/geartrain program | 
 | 	- GL_EXT_texture_lod_bias extension | 
 | 	- demos/lodbias program | 
 | 	- further optimized glRead/DrawPixels for 16-bit TrueColor X visuals | 
 | 	- GLX_EXT_visual_rating extension (a no-op, however) | 
 | 	- GL_HP_occlusion_test extension (for X and OS/Mesa drivers) | 
 | 	- demos/occlude program | 
 | 	- GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions | 
 | 	- demos/pixeltex program | 
 | 	- GL_SGI_color_matrix extension | 
 | 	- GL_SGI_color_table extension | 
 | 	- GL_EXT_histogram extension | 
 | 	- GL_ARB_texture_cube_map extension | 
 | 	- added xdemos/glxheads and xdemos/manywin | 
 | 	- demos/texenv.c demo | 
 | 	- GL_EXT_texture_env_combine extension (by Holger Waechtler) | 
 | 	- Xlib driver is now thread-safe (see xdemos/glthreads) | 
 |     Bug Fixes: | 
 | 	- various GL conformance failures fixed since 3.2.1 | 
 |     Changes: | 
 | 	- gl.h now uses #defines instead of C enums for all tokens | 
 | 	- glu.h now uses #defines instead of C enums for all tokens | 
 | 	- moved programs from 3Dfx/demos/ into demos/ directory | 
 |  | 
 |  | 
 | 3.4  November 3, 2000 | 
 |     New: | 
 | 	- optimized glDrawPixels for glPixelZoom(1,-1) | 
 |     Bug Fixes: | 
 | 	- widgets-mesa/src/*.c files were missing from 3.3 distro | 
 | 	- include/GL/mesa_wgl.h file was missing from 3.3 distro | 
 | 	- fixed some Win32 compile problems | 
 | 	- texture object priorities weren't getting initialized to 1.0 | 
 | 	- glAreTexturesResident return value was wrong when using hardware | 
 | 	- glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX) | 
 | 	- glReadPixels with GLushort packed types was broken | 
 | 	- fixed a few bugs in the GL_EXT_texture_env_combine texture code | 
 | 	- glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables | 
 | 	- fixed some typos/bugs in the VB code | 
 | 	- glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work | 
 | 	- optimized glDrawPixels paths weren't being used | 
 | 	- per-fragment fog calculation didn't work without a Z buffer | 
 | 	- improved blending accuracy, fixes Glean blendFunc test failures | 
 | 	- glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly | 
 | 	- glXGetProcAddressARB() didn't always return the right address | 
 | 	- gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format | 
 | 	- texture matrix changes weren't always detected (GLUT projtex demo) | 
 | 	- fixed random color problem in vertex fog code | 
 | 	- fixed Glide-related bug that let Quake get a 24-bit Z buffer | 
 |     Changes: | 
 | 	- finished internal support for compressed textures for DRI | 
 |  | 
 |  | 
 | 3.4.1  February 14, 2001 | 
 |     New: | 
 | 	- fixed some Linux build problems | 
 | 	- fixed some Windows build problems | 
 | 	- GL_EXT_texture_env_dot3 extension (Gareth Hughes) | 
 |     Bug fixes: | 
 | 	- added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI | 
 | 	- various state-update code changes needed for DRI bugs | 
 | 	- disabled pixel transfer ops in glColorTable commands, not needed | 
 | 	- fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter | 
 | 	- updated sources and fixed compile problems in widgets-mesa/ | 
 | 	- GLX_PBUFFER enum value was wrong in glx.h | 
 | 	- fixed a glColorMaterial lighting bug | 
 | 	- fixed bad args to Read/WriteStencilSpan in h/w stencil clear function | 
 | 	- glXCopySubBufferMESA() Y position was off by one | 
 | 	- Error checking of glTexSubImage3D() was broken (bug 128775) | 
 | 	- glPopAttrib() didn't restore all derived Mesa state correctly | 
 | 	- Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL | 
 | 	  conformance problems at 16bpp. | 
 | 	- clearing depth buffer with scissoring was broken, would segfault | 
 | 	- OSMesaGetDepthBuffer() returned bad bytesPerValue value | 
 | 	- fixed a line clipping bug (reported by Craig McDaniel) | 
 | 	- fixed RGB color over/underflow bug for very tiny triangles | 
 |     Known problems: | 
 | 	- NURBS or evaluator surfaces inside display lists don't always work | 
 |  | 
 |  | 
 | 3.4.2  May 17, 2001 | 
 |     Bug fixes: | 
 | 	- deleting the currently bound texture could cause bad problems | 
 | 	- using fog could result in random vertex alpha values | 
 | 	- AA triangle rendering could touch pixels outside right window bound | 
 | 	- fixed byteswapping problem in clear_32bit_ximage() function | 
 | 	- fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam | 
 | 	- fixed memory leak in glXUseXFont() | 
 | 	- fragment sampling in AA triangle function was off by 1/2 pixel | 
 | 	- Windows: reading pixels from framebuffer didn't always work | 
 | 	- glConvolutionFilter2D could segfault or cause FP exception | 
 | 	- fixed segfaults in FX and X drivers when using tex unit 1 but not 0 | 
 | 	- GL_NAND logicop didn't work right in RGBA mode | 
 | 	- fixed a memory corruption bug in vertex buffer reset code | 
 | 	- clearing the softwara alpha buffer with scissoring was broken | 
 | 	- fixed a few color index mode fog bugs | 
 | 	- fixed some bad assertions in color index mode | 
 | 	- fixed FX line 'stipple' bug #420091 | 
 | 	- fixed stencil buffer clear width/height typo | 
 | 	- fixed GL error glitches in gl[Client]ActiveTextureARB() | 
 | 	- fixed Windows compilation problem in texutil.c | 
 | 	- fixed 1/8-pixel AA triangle sampling error | 
 |     Changes: | 
 | 	- optimized writing mono-colored pixel spans to X pixmaps | 
 | 	- increased max viewport size to 2048 x 2048 | 
 |  | 
 |  | 
 | 3.5  June 21, 2001 | 
 |     New: | 
 | 	- internals of Mesa divided into modular pieces (Keith Whitwell) | 
 | 	- 100% OpenGL 1.2 conformance (passes all conformance tests) | 
 | 	- new AA line algorithm | 
 | 	- GL_EXT_convolution extension | 
 | 	- GL_ARB_imaging subset | 
 | 	- OSMesaCreateContextExt() function | 
 | 	- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add) | 
 | 	- GL_MAX_TEXTURE_UNITS_ARB now defaults to eight | 
 | 	- GL_EXT_fog_coord extension (Keith Whitwell) | 
 | 	- GL_EXT_secondary_color extension (Keith Whitwell) | 
 | 	- GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add) | 
 | 	- GL_SGIX_depth_texture extension | 
 | 	- GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions | 
 | 	- demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow | 
 | 	- GL_ARB_texture_env_combine extension | 
 | 	- GL_ARB_texture_env_dot3 extension | 
 | 	- GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp) | 
 | 	- OSMesaCreateContextExt() function | 
 | 	- libOSMesa.so library, contains the OSMesa driver interface | 
 | 	- GL/glxext.h header file for GLX extensions | 
 | 	- somewhat faster software texturing, fogging, depth testing | 
 | 	- all color-index conformance tests now pass (only 8bpp tested) | 
 | 	- SPARC assembly language TCL optimizations (David Miller) | 
 | 	- GL_SGIS_generate_mipmap extension | 
 |     Bug Fixes: | 
 | 	- fbiRev and tmuRev were unitialized when using Glide3 | 
 | 	- fixed a few color index mode conformance failures; all pass now | 
 | 	- now appling antialiasing coverage to alpha after texturing | 
 | 	- colors weren't getting clamped to [0,1] before color table lookup | 
 | 	- fixed RISC alignment errors caused by COPY_4UBV macro | 
 | 	- drawing wide, flat-shaded lines could cause a segfault | 
 | 	- vertices now snapped to 1/16 pixel to fix rendering of tiny triangles | 
 |     Changes: | 
 | 	- SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU | 
 | 	- new libOSMesa.so library, contains the OSMesa driver interface | 
 |  | 
 |  | 
 | 4.0  October 22, 2001 | 
 |     New: | 
 | 	- Mesa 4.0 implements the OpenGL 1.3 specification | 
 | 	- GL_IBM_rasterpos_clip extension | 
 | 	- GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp) | 
 | 	- GL_ARB_texture_mirrored_repeat extension | 
 | 	- WindML UGL driver (Stephane Raimbault) | 
 | 	- added OSMESA_MAX_WIDTH/HEIGHT queries | 
 | 	- attempted compiliation fixes for Solaris 5, 7 and 8 | 
 | 	- updated glext.h and glxext.h files | 
 | 	- updated Windows driver (Karl Schultz) | 
 |     Bug fixes: | 
 | 	- added some missing GLX 1.3 tokens to include/GL/glx.h | 
 | 	- GL_COLOR_MATRIX changes weren't recognized by teximage functions | 
 | 	- glCopyPixels with scale and bias was broken | 
 | 	- glRasterPos with lighting could segfault | 
 | 	- glDeleteTextures could leave a dangling pointer | 
 | 	- Proxy textures for cube maps didn't work | 
 | 	- fixed a number of 16-bit color channel bugs | 
 | 	- fixed a few minor memory leaks | 
 | 	- GLX context sharing was broken in 3.5 | 
 | 	- fixed state-update bugs in glPopClientAttrib() | 
 | 	- fixed glDrawRangeElements() bug | 
 | 	- fixed a glPush/PopAttrib() bug related to texture binding | 
 | 	- flat-shaded, textured lines were broken | 
 | 	- fixed a dangling pointer problem in the XMesa code (Chris Burghart) | 
 | 	- lighting didn't always produce the correct alpha value | 
 | 	- fixed 3DNow! code to not read past end of arrays (Andrew Lewycky) | 
 |  | 
 |  | 
 | 4.0.1 December 17, 2001 | 
 |     New: | 
 | 	- better sub-pixel sample positions for AA triangles (Ray Tice) | 
 | 	- slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO) | 
 |     Bug fixes: | 
 | 	- added missing break statements in glGet*() for multisample cases | 
 | 	- fixed uninitialized hash table mutex bug (display lists / texobjs) | 
 | 	- fixed bad teximage error check conditional (bug 476846) | 
 | 	- fixed demos readtex.c compilation problem on Windows (Karl Schultz) | 
 | 	- added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT | 
 | 	- silence some compiler warnings (gcc 2.96) | 
 | 	- enable the #define GL_VERSION_1_3 in GL/gl.h | 
 | 	- added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h | 
 | 	- fixed glu.h typedef problem found with MSDev 6.0 | 
 | 	- build libGL.so with -Bsymbolic (fixes bug found with Chromium) | 
 | 	- added missing 'const' to glXGetContextIDEXT() in glxext.h | 
 | 	- fixed a few glXGetProcAddress() errors (texture compression, etc) | 
 | 	- fixed start index bug in compiled vertex arrays (Keith) | 
 | 	- fixed compilation problems in src/SPARC/glapi_sparc.S | 
 | 	- fixed triangle strip "parity" bug found in VTK medical1 demo (Keith) | 
 | 	- use glXGetProcAddressARB in GLUT to avoid extension linking problems | 
 | 	- provoking vertex of flat-shaded, color-index triangles was wrong | 
 | 	- fixed a few display list bugs (GLUT walker, molecule, etc) (Keith) | 
 | 	- glTexParameter didn't flush the vertex buffer (Ray Tice) | 
 | 	- feedback attributes for glDraw/CopyPixels and glBitmap were wrong | 
 | 	- fixed bug in normal length caching (ParaView lighting bug) | 
 | 	- fixed separate_specular color bug found in Chimera (18 Dec 2001) | 
 |  | 
 |  | 
 | 4.0.2  April 2, 2002 | 
 |     New: | 
 | 	- New DOS (DJGPP) driver written by Daniel Borca | 
 | 	- New driver interface functions for TCL drivers (such as Radeon DRI) | 
 | 	- GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32" | 
 | 	  if using deep color channels | 
 | 	- latest GL/glext.h and GL/glxext.h headers from SGI | 
 |     Bug fixes: | 
 | 	- GL_BLEND with non-black texture env color wasn't always correct | 
 | 	- GL_REPLACE with GL_RGB texture format wasn't always correct (alpha) | 
 | 	- glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken | 
 | 	- glReadPixels was sometimes mistakenly clipped by the scissor box | 
 | 	- glDraw/ReadPixels didn't catch all the errors that they should have | 
 | 	- Fixed 24bpp rendering problem in Windows driver (Karl Schultz) | 
 | 	- 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c) | 
 | 	- Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP) | 
 | 	- glColorMask as sometimes effecting glXSwapBuffers() | 
 | 	- fixed a potential bug in XMesaGarbageCollect() | 
 | 	- N threads rendering into one window didn't work reliably | 
 | 	- glCopyPixels didn't work for deep color channels | 
 | 	- improved 8 -> 16bit/channel texture image conversion (Gerk Huisma) | 
 | 	- glPopAttrib() didn't correctly restore user clip planes | 
 | 	- user clip planes failed for some perspective projections (Chromium) | 
 |     Known bugs: | 
 | 	- mipmap LOD computation | 
 |  | 
 |  | 
 | 4.0.3  June 25, 2002 | 
 |     New: | 
 | 	- updated GL/glext.h file (version 15) | 
 | 	- corrected MMX blend code (Jose Fonseca) | 
 | 	- support for software-based alpha planes in Windows driver | 
 | 	- updated GGI driver (Filip Spacek) | 
 |     Bug fixes: | 
 | 	- glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens | 
 | 	- OSMesaMakeCurrent() didn't recognize buffer size changes | 
 | 	- assorted conformance fixes for 16-bit/channel rendering | 
 | 	- texcombine alpha subtraction mode was broken | 
 | 	- fixed lighting bug with non-uniform scaling and display lists | 
 | 	- fixed bug when deleting shared display lists | 
 | 	- disabled SPARC cliptest assembly code (Mesa bug 544665) | 
 | 	- fixed a couple Solaris compilation/link problems | 
 | 	- blending clipped glDrawPixels didn't always work | 
 | 	- glGetTexImage() didn't accept packed pixel types | 
 | 	- glPixelMapu[is]v() could explode given too large of pixelmap | 
 | 	- glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT | 
 | 	- glXCopyContext() could lead to segfaults | 
 | 	- glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665) | 
 |     Changes: | 
 | 	- lots of C++ (g++) code clean-ups | 
 | 	- lots of T&L updates for the Radeon DRI driver | 
 |     Known bugs: | 
 | 	- mipmap LOD computation (fixed for Mesa 4.1) | 
 |  | 
 |  | 
 | 4.0.4  October 3, 2002 | 
 |     New: | 
 | 	- GL_NV_texture_rectangle extension | 
 | 	- updated glext.h header (version 17) | 
 | 	- updated DOS driver (Daniel Borca) | 
 | 	- updated BeOS R5 driver (Philippe Houdoin) | 
 | 	- added GL_IBM_texture_mirror_repeat | 
 | 	- glxinfo now takes -l option to print interesting OpenGL limits info | 
 | 	- GL_MESA_ycbcr_texture extension | 
 | 	- GL_APPLE_client_storage extension (for some DRI drivers only) | 
 | 	- GL_MESA_pack_invert extension | 
 |     Bug fixes: | 
 | 	- fixed GL_LINEAR fog bug by adding clamping | 
 | 	- fixed FP exceptions found using Alpha CPU | 
 | 	- 3dfx MESA_GLX_FX=window (render to window) didn't work | 
 | 	- fixed memory leak in wglCreateContest (Karl Schultz) | 
 | 	- define GLAPIENTRY and GLAPI if undefined in glu.h | 
 | 	- wglGetProcAddress didn't handle all API functions | 
 | 	- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map | 
 | 	- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc() | 
 | 	- error checking in compressed tex image functions had some glitches | 
 | 	- fixed AIX compile problem in src/config.c | 
 | 	- glGetTexImage was using pixel unpacking instead of packing params | 
 | 	- auto-mipmap generation for cube maps was incorrect | 
 |     Changes: | 
 | 	- max texture units reduced to six to accomodate texture rectangles | 
 | 	- removed unfinished GL_MESA_sprite_point extension code | 
 |  | 
 |  | 
 | 4.1  October 29, 2002 | 
 |     New: | 
 | 	- GL_NV_vertex_program extension | 
 | 	- GL_NV_vertex_program1_1 extension | 
 | 	- GL_ARB_window_pos extension | 
 | 	- GL_ARB_depth_texture extension | 
 | 	- GL_ARB_shadow extension | 
 | 	- GL_ARB_shadow_ambient extension | 
 | 	- GL_EXT_shadow_funcs extension | 
 | 	- GL_ARB_point_parameters extension | 
 | 	- GL_ARB_texture_env_crossbar | 
 | 	- GL_NV_point_sprite extension | 
 | 	- GL_NV_texture_rectangle extension | 
 | 	- GL_EXT_multi_draw_arrays extension | 
 | 	- GL_EXT_stencil_two_side extension | 
 | 	- GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions | 
 | 	- GL_ATI_texture_mirror_once extension (Ian Romanick) | 
 | 	- massive overhaul/simplification of software rasterizer module, | 
 | 	  many contributions from Klaus Niederkrueger | 
 | 	- faster software texturing in some cases (i.e. trilinear filtering) | 
 | 	- new OSMesaGetProcAddress() function | 
 | 	- more blend modes implemented with MMX code (Jose Fonseca) | 
 | 	- added glutGetProcAddress() to GLUT | 
 | 	- added GLUT_FPS env var to compute frames/second in glutSwapBuffers() | 
 | 	- pbinfo and pbdemo PBuffer programs | 
 | 	- glxinfo -v prints transprent pixel info (Gerd Sussner) | 
 |     Bug fixes: | 
 | 	- better mipmap LOD computation (prevents excessive blurriness) | 
 | 	- OSMesaMakeCurrent() didn't recognize buffer size changes | 
 | 	- assorted conformance fixes for 16-bit/channel rendering | 
 | 	- texcombine alpha subtraction mode was broken | 
 | 	- fixed some blend problems when GLchan==GLfloat (Gerk Huisma) | 
 | 	- clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma) | 
 | 	- fixed divide by zero error in NURBS tessellator (Jon Perry) | 
 | 	- fixed GL_LINEAR fog bug by adding clamping | 
 | 	- fixed FP exceptions found using Alpha CPU | 
 | 	- 3dfx/glide driver render-to-window feature was broken | 
 | 	- added missing GLX_TRANSPARENT_RGB token to glx.h | 
 | 	- fixed error checking related to paletted textures | 
 | 	- fixed reference count error in glDeleteTextures (Randy Fayan) | 
 |     Changes: | 
 | 	- New spec file and Python code to generate some GL dispatch files | 
 | 	- Glide driver defaults to "no" with autoconf/automake | 
 | 	- updated demos/stex3d with new options | 
 |  | 
 |  | 
 | 5.0  November 13, 2002 | 
 |     New: | 
 | 	- OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4") | 
 | 	- removed some overlooked debugging code | 
 | 	- glxinfo updated to support GLX_ARB_multisample | 
 | 	- GLUT now support GLX_ARB_multisample | 
 | 	- updated DOS driver (Daniel Borca) | 
 |     Bug fixes: | 
 | 	- GL_POINT and GL_LINE-mode polygons didn't obey cull state | 
 | 	- fixed potential bug in _mesa_align_malloc/calloc() | 
 | 	- fixed missing triangle bug when running vertex programs | 
 | 	- fixed a few HPUX compilation problems | 
 | 	- FX (Glide) driver didn't compile | 
 | 	- setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work | 
 | 	- a few EXT functions, like glGenTexturesEXT, were no-ops | 
 | 	- a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate, | 
 | 	  glMultiDrawArrays and glMultiDrawElements were missing | 
 | 	- glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken | 
 | 	- Pentium 4 Mobile was mistakenly identified as having 3DNow! | 
 | 	- fixed one-bit error in point/line fragment Z calculation | 
 | 	- fixed potential segfault in fakeglx code | 
 | 	- fixed color overflow problem in DOT3 texture env mode | 
 |  | 
 |  | 
 | 5.0.1  March 30, 2003 | 
 |     New: | 
 | 	- DOS driver updates from Daniel Borca | 
 | 	- updated GL/gl_mangle.h file (Bill Hoffman) | 
 |     Bug fixes: | 
 | 	- auto mipmap generation for cube maps was broken (bug 641363) | 
 | 	- writing/clearing software alpha channels was unreliable | 
 | 	- minor compilation fixes for OS/2 (Evgeny Kotsuba) | 
 | 	- fixed some bad assertions found with shadowtex demo | 
 | 	- fixed error checking bug in glCopyTexSubImage2D (bug 659020) | 
 | 	- glRotate(angle, -x, 0, 0) was incorrect (bug 659677) | 
 | 	- fixed potential segfault in texture object validation (bug 659012) | 
 | 	- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus) | 
 | 	- fix fog stride bug in tnl code for h/w drivers (Michel Danzer) | 
 | 	- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080) | 
 | 	- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3 | 
 | 	- fixed compilation problem on Solaris7/x86 (bug 536406) | 
 | 	- fixed prefetch bug in 3DNow! code (Felix Kuhling) | 
 | 	- fixed NeXT build problem (FABSF macro) | 
 | 	- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811) | 
 | 	- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964) | 
 | 	- AA line and triangle Z values are now rounded, not truncated | 
 | 	- fixed color interpolation bug when GLchan==GLfloat (bug 694461) | 
 | 	- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca) | 
 | 	- fixed a minor GL_COLOR_MATERIAL bug | 
 | 	- NV vertex program EXP instruction was broken | 
 | 	- glColorMask misbehaved with X window / pixmap rendering | 
 | 	- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack) | 
 | 	- attempt to fix GGI compilation problem when MesaDemos not present | 
 | 	- NV vertex program ARL-relative fetches didn't work | 
 |     Changes: | 
 | 	- use glPolygonOffset in gloss demo to avoid z-fighting artifacts | 
 | 	- updated winpos and pointblast demos to use ARB extensions | 
 | 	- disable SPARC normal transformation code (bug 673938) | 
 | 	- GLU fixes for OS/2 (Evgeny Kotsuba) | 
 |  | 
 |  | 
 | 5.1  Month day, 2003  (NOT RELEASED YET) | 
 |     New: | 
 | 	- GL_ATI_texture_env_combine3 extension (Ian Romanick) | 
 | 	- GL_SGI_texture_color_table extension (Eric Plante) | 
 | 	- GL_NV_fragment_program extension | 
 | 	- GL_NV_light_max_exponent | 
 | 	- new X86 feature detection code (Petr Sebor) | 
 | 	- less memory used for display lists and vertex buffers | 
 | 	- demo of per-pixel lighting with a fragment program (demos/fplight.c) | 
 | 	- new version (18) of glext.h header | 
 |     Bug fixes: | 
 | 	- really enable OpenGL 1.4 features in DOS driver. | 
 | 	- fixed issues in glDrawPixels and glCopyPixels for very wide images | 
 |     Changes: | 
 | 	- dropped API trace feature (src/Trace/) | 
 | 	- documentation overhaul.  merged with website content.  more html. | 
 | 	- glxgears.c demo updated to use GLX swap rate extensions |