Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

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