Home | History | Annotate | Download | only in docs
      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 (a] nvidia.com)
    617 	- optimized 24bpp X rendering (bernd.paysan (a] gmx.de)
    618 	- added allegro support (bernie-t (a] geocities.com)
    619 	- cleaned-up Windows-related stuff (Ted Jump)
    620 	- minor stereo changes (KendallB (a] 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 (a] precisioninsight.com)
    628     Bug fixes:
    629 	- a variety of Windows/Mesa bug fixes (mjk (a] nvidia.com)
    630 	- packed pixel images weren't unpacked correctly
    631 	- patches some win32 files in GLUT (mjk (a] 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 (a] xfree86.org)
    639 	- added GL_TEXTURE_PRIORITY fix (keithh (a] 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  August 18, 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)
   1277 
   1278 
   1279 6.2  October 2, 2004
   1280     New:
   1281 	- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
   1282 	- updated Doxygen support (Jose Fonseca)
   1283     Changes:
   1284 	- some GGI driver updates (Christoph Egger, bug 1025977)
   1285     Bug fixes:
   1286 	- Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
   1287 	- fixed a few compilation issues on IRIX
   1288 	- fixed a matrix classification bug (reported by Wes Bethel)
   1289 	- we weren't reseting the vertex/fragment program error state
   1290 	  before parsing (Dave Reveman)
   1291 	- adjust texcoords for sampling texture rectangles (Dave Reveman)
   1292 	- glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
   1293 	- repeated calls to glDeleteTexture(t) could lead to a crash
   1294 	- fixed potential ref count bugs in VBOs and vertex/fragment programs
   1295 	- spriteblast demo didn't handle window size changes correctly
   1296 	- glTexSubImage didn't handle pixels=NULL correctly for PBOs
   1297 	- fixed color index mode glDrawPixels bug (Karl Schultz)
   1298 
   1299 
   1300 6.2.1  December 9, 2004
   1301     Bug fixes:
   1302 	- don't apply regular fog or color sum when using a fragment program
   1303 	- glProgramEnvParameter4fARB always generated an error on
   1304 	  GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
   1305 	- glVertexAttrib3svNV and glVertexAttrib3svARB were broken
   1306 	- fixed width/height mix-up in glSeparableFilter2D()
   1307 	- fixed regression in glCopyPixels + convolution
   1308 	- glReadPixels from a clipped front color buffer didn't always work
   1309 	- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
   1310 	- Attempting queries/accesses of VBO 0 weren't detected as errors
   1311 	- paletted textures failed if the palette had fewer than 256 entries
   1312     Changes:
   1313 	- fixed a bunch of compiler warnings found with gcc 3.4
   1314 	- bug reports should to go bugzilla.freedesktop.org
   1315 
   1316 
   1317 6.3  July 20, 2005
   1318     New:
   1319 	- GL_EXT_framebuffer_object extension
   1320 	- GL_ARB_draw_buffers extension
   1321 	- GL_ARB_pixel_buffer_object extension
   1322 	- GL_OES_read_format extension (Ian Romanick)
   1323 	- DirectFB driver (Claudio Ciccani)
   1324 	- x86_64 vertex transformation code (Mikko T.)
   1325 	- Updated GL/glext.h to version 29
   1326     Changes:
   1327 	- added -stereo option for glxgears demo (Jacek Rosik)
   1328 	- updated the PBuffer demo code in xdemos/ directory
   1329 	- glDeleteTextures/Programs/Buffers() now makes the object ID
   1330 	  available for immediate re-use
   1331 	- assorted 64-bit clean-ups fixes (x86_64 and Win64)
   1332 	- lots of internal changes for GL_EXT_framebuffer_object
   1333     Bug fixes:
   1334 	- some functions didn't support PBO functionality
   1335 	- glGetTexImage didn't convert color index images to RGBA as required
   1336 	- fragment program texcoords were sometimes wrong for points and lines
   1337 	- fixed problem with negative dot product in arbfplight, fplight demos
   1338 	- fixed bug in perspective correction of antialiased, textured lines
   1339 	- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
   1340 	- fixed a couple per-pixel fog bugs (Soju Matsumoto)
   1341 	- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
   1342 	- fixed float parsing bug in ARB frag/vert programs (bug 2520)
   1343 	- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
   1344 	- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
   1345 	- glXChooseFBConfig() crashed if attribList pointer was NULL
   1346 	- program state.light[n].spot.direction.w was wrong value (bug 3083)
   1347 	- fragment program fog option required glEnable(GL_FOG) - wrong.
   1348 	- glColorTable() could produce a Mesa implementation error (bug 3135)
   1349 	- RasterPos could get corrupted by color index rendering path
   1350 	- Removed bad XTranslateCoordinates call when rendering to Pixmaps
   1351 	- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
   1352 	- fixed a few Darwin compilation problems
   1353 
   1354 
   1355 6.3.1
   1356     This was an intermediate release for X.org which wasn't otherwise released.
   1357 
   1358 
   1359 6.3.2  August 19, 2005
   1360     New:
   1361 	- The distribution now includes the DRI drivers and GLX code
   1362     Changes:
   1363 	- Made the DRI "new" driver interface standard, remove old code
   1364     Bug fixes:
   1365 	- GL_ARB_vertex/fragment_shader were mistakenly listed in the
   1366 	  extensions string
   1367 	- negative relative addressing in vertex programs was broken
   1368 	- update/fix SPARC assembly code for vertex transformation
   1369 	- fixed memory leak when freeing GLX drawables/renderbuffers
   1370 	- fixed display list memory leak
   1371 	- the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer
   1372 	- wglGetProcAddress() didn't handle wgl-functions
   1373 	- fixed glxext.h cross-compile issue (Colin Harrison)
   1374 	- assorted DRI driver fixes
   1375 
   1376 
   1377 6.4  October 24, 2005
   1378     New:
   1379 	- Added a fast XOR line drawing function in Xlib driver
   1380 	- Added support for GL_ARB_texture_mirrored_repeat to savage
   1381 	  driver (supported only on Savage4 hardware).
   1382     Changes:
   1383 	- Mesa now packaged in three parts: Library, Demos and GLUT
   1384     Bug fixes:
   1385 	- GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig
   1386 	- Some files were present multiple times in the 6.3.2 tarballs
   1387 	- r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207)
   1388 	- glxgears_fbconfig demo didn't work (bug 4237)
   1389 	- fixed bug when bilinear sampling 2d textures with borders
   1390 	- glXCreatePbuffer() could segfault instead of returning 0 (bug 4235)
   1391 	- fixed undefined frexp and rand in X.org libGLcore.a (bug 4242)
   1392 	- fixed a few problems with proxy color tables (bug 4270)
   1393 	- fixed precision problem in Z clearing (bug 4395)
   1394 	- glBitmap, glDraw/CopyPixels mistakenly generated selection hits
   1395 	- fixed potential segfault caused by reading pixels outside
   1396 	  of renderbuffer bounds
   1397 	- glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB
   1398 	- fixed memory corruption bug involving software alpha buffers
   1399 	- glReadPixels clipped by window bounds was sometimes broken
   1400 	- glDraw/CopyPixels of stencil data ignored the stencil write mask
   1401 	- glReadPixels from a texture bound to a framebuffer object didn't work
   1402 	- glIsRender/FramebufferEXT weren't totally correct
   1403 	- fixed a number of point size attenuation/fade bugs
   1404 	- fixed glFogCoord bug 4729
   1405 	- GLX encoding for transpose matrix functions was broken
   1406 	- fixed broken fragment program KIL and SWZ instructions
   1407 	- fragment programs that wrote result.depth.z didn't work
   1408 
   1409 
   1410 6.4.1  November 30, 2005
   1411     Bug fixes:
   1412 	- redefining a vertex program string didn't take effect in TNL module
   1413 	- fixed occasional segfault upon vertex/fragment parsing error
   1414 	- vertex program LIT instruction didn't handle 0^0=1 correctly
   1415 	- fragment program fog option didn't work with glDrawPixels, glBitmap
   1416 	- USE_MGL_NAMESPACE didn't work for x86-64
   1417 	- OSMesa demos were missing from previous release tarballs
   1418 	- fixed problem with float->ushort conversion in glClear (bug 4992)
   1419 	- popping of GL_EYE_PLANE texgen state was broken (bug 4996)
   1420 	- popping of GL_SPOT_DIRECTION light state was broken (bug 5005)
   1421 	- fixed occasional triangle color interpolation problem on VMS
   1422 	- work around invalid free() call (bug 5131)
   1423 	- fixed BSD X server compilation problem by including stdint.h
   1424 
   1425 
   1426 6.4.2  February 2, 2006
   1427     New:
   1428 	- added OSMesaColorClamp() function/feature
   1429 	- added wglGetExtensionStringARB() function
   1430     Bug fixes:
   1431 	- fixed some problems when building on Windows
   1432 	- GLw header files weren't installed by installmesa script (bug 5396)
   1433 	- GL/glfbdev.h file was missing from tarballs
   1434 	- fixed TNL initialization bug which could lead to crash (bug 5791)
   1435 
   1436 
   1437 6.5  March 31, 2006
   1438     New:
   1439 	- OpenGL Shading Language support through GL_ARB_shader_objects,
   1440 	  GL_ARB_shading_language_100, GL_ARB_vertex_shader and
   1441 	  GL_ARB_fragment_shader (done by Michal Krol)
   1442 	- GL_EXT_packed_depth_stencil extension
   1443 	- GL_EXT_timer_query extension
   1444 	- GL_EXT_framebuffer_blit extension
   1445 	- GL_ARB_half_float_pixel
   1446 	- reflect demo improved to support multiple windows
   1447 	- singlebuffer demo (shows no/little-flicker single-buffered rendering)
   1448 	- r200: enable GL_ARB_texture_env_crossbar, separate the texture
   1449 	  sampling unit bits from the texture env combine enable bits
   1450 	- r200: add support for GL_ATI_fragment_shader
   1451 	- added fast XOR-mode line drawing optimization
   1452 	- radeon: add support for all 3 tmus, GL_ARB_texture_cube_map
   1453 	  and GL_EXT_fog_coord
   1454 	- MESA_GLX_ALPHA_BITS env var for xlib driver
   1455 	- many DRI driver updates (including screen rotation support
   1456 	  for the Intel DRI driver)
   1457     Changes:
   1458 	- removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead)
   1459 	- removed GL_SGIX/SGIS_pixel_texture extensions
   1460     Bug fixes:
   1461 	- fixed glxcontextmodes.c datatype problem (bug 5835)
   1462 	- fixed aix-gcc build/install bugs (bug 5874)
   1463 	- fixed some bugs in texture env program generation
   1464 	- glXCopyContext() didn't handle texture object bindings properly
   1465 	- glXCopyContext() didn't copy all lighting state
   1466 	- fixed FreeBSD config (Pedro Giffuni)
   1467 	- fixed some minor framebuffer object bugs
   1468 	- replaced dprintf() with _glu_printf() in GLU (bug 6244)
   1469 	- fixed a number of thread safety bugs/regressions
   1470 	- fixed a number of GLU tesselator bugs (John Shell, bug 6339)
   1471 	- paletted texturing was broken w/ floating point palettes (K. Schultz)
   1472 	- lots of assorted framebuffer object bug fixes
   1473 
   1474 6.5.1  August 31, 2006
   1475     New:
   1476 	- Intel i965 DRI driver
   1477 	- GL_APPLE_vertex_array_object extension (Ian Romanick)
   1478 	- GL_EXT_texture_sRGB extension
   1479 	- GL_EXT_gpu_program_parameters (Ian Romanick)
   1480 	- "engine" demo
   1481 	- updated fbdev driver and GLUT for fbdev (Sean D'Epagnier)
   1482 	- many updates to the DRI drivers
   1483     Changes:
   1484 	- The glVertexAttribARB functions no longer alias the conventional
   1485 	  vertex attributes.
   1486 	- glxinfo program prints more info with -l option
   1487 	- GL_FRAGMENT_PROGRAM_NV and GL_FRAGMENT_PROGRAM_ARB are now
   1488 	  compatible, in terms of glBindProgramARB()
   1489     Bug fixes:
   1490 	- fixed broken texture border handling for depth textures (bug 6498)
   1491 	- removed the test for duplicated framebuffer attachments, per
   1492 	  version 117 of the GL_EXT_framebuffer_object specification
   1493 	- fixed a few render-to-texture bugs, including render to depth texture
   1494 	- clipping of lines against user-defined clip planes was broken (6512)
   1495 	- assembly language dispatch for SPARC was broken (bug 6484)
   1496 	- assorted compilation fixes on various Unix platforms (Dan Schikore)
   1497 	- glPopAttrib could restore an invalid value for GL_DRAW_BUFFER
   1498 	- assorted minor fixes for 16 and 32 bit/channel modes
   1499 	- fixed assorted bugs in texture compression paths
   1500 	- fixed indirect rendering vertex array crashes (bug 6863)
   1501 	- glDrawPixels GL_INDEX_OFFSET didn't always work
   1502 	- fixed convolution memory leak (bug 7077)
   1503 	- rectangular depth textures didn't work
   1504 	- invalid mode to glBegin didn't generate an error (bug 7142)
   1505 	- 'normalized' parameter to glVertexAttribPointerARB didn't work
   1506 	- disable bogus GLX_SGI_video_sync extension in xlib driver
   1507 	- fixed R128 driver locking bug (Martijn van Oosterhout)
   1508 	- using evaluators with vertex programs caused crashes (bug 7564)
   1509 	- fragment.position wasn't set correctly for point/line primitives
   1510 	- fixed parser bug for scalar sources for GL_NV_fragment_program
   1511 	- max fragment program length was incorrectly 128, now 1024
   1512 	- writes to result.depth in fragment programs weren't clamped to [0,1]
   1513 	- fixed potential dangling pointer bug in glBindProgram()
   1514 	- fixed some memory leaks (and potential crashes) in Xlib driver
   1515