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