The Mesa 3D Graphics Library


January 9, 2014

Mesa 10.0.2 is released. This is a bug-fix release.

December 12, 2013

Mesa 10.0.1 and Mesa 9.2.5 are released. These are both bug-fix releases.

November 30, 2013

Mesa 10.0 is released. This is a new development release. See the release notes for more information about the release.

November 27, 2013

Mesa 9.2.4 is released. This is a bug fix release.

November 13, 2013

Mesa 9.2.3 is released. This is a bug fix release.

October 18, 2013

Mesa 9.2.2 is released. This is a bug fix release.

October 4, 2013

Mesa 9.2.1 and Mesa 9.1.7 are released, both bug-fix releases.

August 27, 2013

Mesa 9.2 is released. This is a new development release. See the release notes for more information about the release.

August 1, 2013

Mesa 9.1.6 is released. This is a bug fix release.

July 17, 2013

Mesa 9.1.5 is released. This is a bug fix release.

July 1, 2013

Mesa 9.1.4 is released. This is a bug fix release.

May 21, 2013

Mesa 9.1.3 is released. This is a bug fix release.

April 30, 2013

Mesa 9.1.2 is released. This is a bug fix release.

March 19, 2013

Mesa 9.1.1 is released. This is a bug fix release.

February 24, 2013

Mesa demos 8.1.0 is released. See the announcement for more information about the release. You can download it from

February 22, 2013

Mesa 9.1 is released. This is a new development release. See the release notes for more information about the release.

February 21, 2013

Mesa 9.0.3 is released. This is a bug fix release.

January 22, 2013

Mesa 9.0.2 is released. This is a bug fix release.

November 16, 2012

Mesa 9.0.1 is released. This is a bug fix release.

October 24, 2012

Mesa 8.0.5 is released. This is a bug fix release.

October 8, 2012

Mesa 9.0 is released. This is the first version of Mesa to support OpenGL 3.1 and GLSL 1.40 (with the i965 driver). See the release notes for more information about the release.

July 10, 2012

Mesa 8.0.4 is released. This is a bug fix release.

May 18, 2012

Mesa 8.0.3 is released. This is a bug fix release.

March 21, 2012

Mesa 8.0.2 is released. This is a bug fix release.

February 16, 2012

Mesa 8.0.1 is released. This is a bug fix release. See the release notes for more information about the release.

February 9, 2012

Mesa 8.0 is released. This is the first version of Mesa to support OpenGL 3.0 and GLSL 1.30 (with the i965 driver). See the release notes for more information about the release.

November 27, 2011

Mesa 7.11.2 is released. This is a bug fix release. This release was made primarily to fix build problems with 7.11.1 on Mandriva and to fix problems related to glCopyTexImage to luminance-alpha textures. The later was believed to have been fixed in 7.11.1 but was not.

November 17, 2011

Mesa 7.11.1 is released. This is a bug fix release.

July 31, 2011

Mesa 7.11 (final) is released. This is a new development release.

June 13, 2011

Mesa 7.10.3 is released. This is a bug fix release.

April 6, 2011

Mesa 7.10.2 is released. This is a bug fix release.

March 2, 2011

Mesa 7.9.2 and Mesa 7.10.1 are released. These are stable releases containing bug fixes since the 7.9.1 and 7.10 releases.

October 4, 2010

Mesa 7.9 (final) is released. This is a new development release.

September 27, 2010

Mesa 7.9.0-rc1 is released. This is a release candidate for the 7.9 development release.

June 16, 2010

Mesa 7.8.2 is released. This is a bug-fix release collecting fixes since the 7.8.1 release.

April 5, 2010

Mesa 7.8.1 is released. This is a bug-fix release for a few critical issues in the 7.8 release.

March 28, 2010

Mesa 7.7.1 is released. This is a bug-fix release fixing issues found in the 7.7 release.

Also, Mesa 7.8 is released. This is a new development release.

December 21, 2009

Mesa 7.6.1 is released. This is a bug-fix release fixing issues found in the 7.6 release.

Also, Mesa 7.7 is released. This is a new development release.

September 28, 2009

Mesa 7.6 is released. This is a new feature release. Those especially concerned about stability may want to wait for the follow-on 7.6.1 bug-fix release.

Mesa 7.5.2 is also released. This is a stable release fixing bugs since the 7.5.1 release.

September 3, 2009

Mesa 7.5.1 is released. This is a bug-fix release which fixes bugs found in version 7.5.

July 17, 2009

Mesa 7.5 is released. This is a new features release. People especially concerned about stability may want to wait for the follow-on 7.5.1 bug-fix release.

June 23, 2009

Mesa 7.4.4 is released. This is a stable release that fixes a regression in the i915/i965 drivers that slipped into the 7.4.3 release.

June 19, 2009

Mesa 7.4.3 is released. This is a stable release fixing bugs since the 7.4.2 release.

May 15, 2009

Mesa 7.4.2 is released. This is a stable release fixing bugs since the 7.4.1 release.

April 18, 2009

Mesa 7.4.1 is released. This is a stable release fixing bugs since the 7.4 release.

March 27, 2009

Mesa 7.4 is released. This is a stable release fixing bugs since the 7.3 release.

January 22, 2009

Mesa 7.3 is released. This is a new development release. Mesa 7.4 will follow and will have bug fixes relative to 7.3.

September 20, 2008

Mesa 7.2 is released. This is a stable, bug-fix release.

August 26, 2008

Mesa 7.1 is released. This is a new development release. It should be relatively stable, but those especially concerned about stability should wait for the 7.2 release or use Mesa 7.0.4 (the previous stable release).

August 16, 2008

Mesa 7.0.4 is released. This is a bug-fix release.

April 4, 2008

Mesa 7.0.3 is released. This is a bug-fix release.

January 24, 2008

Added a new page describing the Mesa Cell driver.

November 13, 2007

Gallium3D is the codename for the new Mesa device driver architecture which is currently under development.

Gallium3D development is taking place on the gallium-0.1 branch of the git repository. Currently, there's only a software-only driver and an Intel i915/945 driver but other drivers will be coming...

November 10, 2007

Mesa 7.0.2 is released. This is a bug-fix release.

August 3, 2007

Mesa 7.0.1 is released. This is a bug-fix release.

June 22, 2007

Mesa 7.0 is released. This is a stable release featuring OpenGL 2.1 support.

April 27, 2007

Mesa 6.5.3 is released. This is a development release which will lead up to the Mesa 7.0 release (which will advertise OpenGL 2.1 API support).

March 26, 2007

The new Shading Language compiler branch has been merged into the git master branch. This is a step toward hardware support for the OpenGL 2.0 Shading Language and will be included in the next Mesa release. In conjunction, Glean has been updated with a new test that does over 130 tests of the shading language and built-in functions.

April 2007

Thomas Hellström of Tungsten Graphics has written a whitepaper describing the new DRI memory management system.

December 5, 2006

Mesa is now using git as its source code management system. The previous CVS repository should no longer be used. See the repository page for more information.

December 2, 2006

Mesa 6.5.2 has been released. This is a new development release.

September 15, 2006

Mesa 6.5.1 has been released. This is a new development release.

March 31, 2006

Mesa 6.5 has been released. This is a new development release.

February 2, 2006

Mesa 6.4.2 has been released. This is stable, bug-fix release.

November 29, 2005

Mesa 6.4.1 has been released. This is stable, bug-fix release.

October 24, 2005

Mesa 6.4 has been released. This is stable, bug-fix release.

August 19, 2005

Mesa 6.3.2 has been released. Note: there was no public release of version 6.3.1.

Changes in version 6.3.1

The MD5 checksums are:

98192e45ed8d69113688f89f90869346  MesaLib-6.3.2.tar.gz
0df27701df0924d17ddf41185efa8ce1  MesaLib-6.3.2.tar.bz2
9d0fca0a7d051c34a0b485423fb3e85d  MesaDemos-6.3.2.tar.gz
96708868450c188205e42229b5d813c4  MesaDemos-6.3.2.tar.bz2

July 20, 2005

Mesa 6.3 has been released. This is a development release with new features, changes and bug fixes.

	- 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.)
	- 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

The MD5 checksums are:

0236f552d37514776945d5a013e5bb7b  MesaLib-6.3.tar.gz
60e1a8f78c4a8c7750a1e95753190986  MesaLib-6.3.tar.bz2
25ea801645b376c014051804fe4974b2  MesaDemos-6.3.tar.gz
9248e74872ea88c57ec25c900c295057  MesaDemos-6.3.tar.bz2

December 9, 2004

Mesa 6.2.1 has been released. This is a stable release which just fixes bugs since the 6.2 release.

    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
	- fixed a bunch of compiler warnings found with gcc 3.4
	- bug reports should to go

The MD5 checksums are:

80008a92f6e055d3bfdde2cf331ec3fa  MesaLib-6.2.1.tar.gz
f43228cd2bf70f583ef3275c1c545421  MesaLib-6.2.1.tar.bz2
2c7af3c986a7571c8713c8bfee7e49e3  MesaDemos-6.2.1.tar.gz
3cac74667b50bcbd4f67f594fb4224a2  MesaDemos-6.2.1.tar.bz2

October 2, 2004

Mesa 6.2 has been released. This is a stable release which just fixes bugs since the 6.1 release.

	- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
	- updated Doxygen support (Jose Fonseca)
	- 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)

The MD5 checksums are:

9e8f34b059272dbb8e1f2c968b33bbf0  MesaLib-6.2.tar.gz
3d6a6362390b6a37d3cb2e615f3ac7db  MesaLib-6.2.tar.bz2
3e06e33b0809f09855cb60883b8bdfef  MesaDemos-6.2.tar.gz
9d160009c3dfdb35fe7e4088c9ba8f85  MesaDemos-6.2.tar.bz2

August 18, 2004

Mesa 6.1 has been released. This is a new development release (version 6.2 will be a stabilization release).

	- 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
	- updated BeOS support (Philippe Houdoin)
	- 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)

The MD5 checksums are:

c9284d295ebcd2e0486cc3cd54e5863c  MesaLib-6.1.tar.gz
5de1f53ec0709f60fc68fdfed57351f3  MesaLib-6.1.tar.bz2
8c46cfa6f9732acc6f6c25724aad0246  MesaDemos-6.1.tar.gz
89bfe0f6c69b39fd0ebd9fff481a4e9b  MesaDemos-6.1.tar.bz2

April 2, 2004

Mesa 6.0.1 has been released. This release basically just fixes bugs since the 6.0. release.

	- 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

The MD5 checksums are:

011be0e79666c7a6eb9693fbf9348653  MesaLib-6.0.1.tar.gz
b7f14088c5c2f14490d2739a91102112  MesaLib-6.0.1.tar.bz2
b7b648599e0aaee1c4ffc554a2a9139e  MesaDemos-6.0.1.tar.gz
dd6aadfd9ca8e1cfa90c6ee492bc6f43  MesaDemos-6.0.1.tar.bz2

January 16, 2004

Mesa 6.0 has been released. This is a stabilization of the 5.1 release and primarily just incorporates bug fixes.

	- full OpenGL 1.5 support
	- updated GL/glext.h file to version 21
	- 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

December 28, 2003

The Mesa CVS server has been moved to because of problems with SourceForge's anonymous CVS service.

December 17, 2003

Mesa 5.1 has been released. This is a new development release. Mesa 6.0 will be the next stable release and will support all OpenGL 1.5 features.

    New features:
	- 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)
	- 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)

The MD5 checksums are:

78f452f6c55478471a744f07147612b5  MesaLib-5.1.tar.gz
67b3b8d3f7f4c8c44904551b851d01af  MesaLib-5.1.tar.bz2
e0214d4ebb22409dfa9262f2b52fd828  MesaDemos-5.1.tar.gz
066c9aff4fd924405de1ae9bad5ec9a7  MesaDemos-5.1.tar.bz2

November 12, 2003

New Mesa 5.0.2 tarballs have been uploaded to SourceForge which fix a number of automake/libtool problems.

The new MD5 checksums are:

a9dcf3ff9ad1b7d6ce73a0df7cff8b5b  MesaLib-5.0.2.tar.gz
7b4bf9261657c2fca03796d4955e6f50  MesaLib-5.0.2.tar.bz2
952d9dc823dd818981d1a648d7b2668a  MesaDemos-5.0.2.tar.gz
b81fafff90995025d2f25ea02b786642  MesaDemos-5.0.2.tar.bz2

September 5, 2003

Mesa 5.0.2 has been released. This is a stable, bug-fix release.

    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
	- build GLUT with -fexceptions so C++ apps propogate exceptions

June 2003

Mesa's directory tree has been overhauled. Things are better organized now with some thought toward future needs.

In CVS, the latest Mesa 5.1 development code is now rooted under the Mesa-newtree/ directory. The old top-level Mesa/ directory holds the Mesa 5.0.x code which will be abandoned at some point.

March 30, 2003

Mesa 5.0.1 has been released. This is a stable, bug-fix release.

	- 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
	- 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)

MD5 checksums follow:

b80f8b5d53a3e9f19b9fde5af0c542f0  MesaLib-5.0.1.tar.gz
513b4bbd7d38951f05027179063d876b  MesaLib-5.0.1.tar.bz2
49d7feaec6dc1d2091d7c3cc72a9b320  MesaDemos-5.0.1.tar.gz
37190374a98c3c892f0698be9ca3acf0  MesaDemos-5.0.1.tar.bz2

March 7, 2003

Website and documentation overhaul.

The website content and Mesa documentation (from the doc/ directory) have been merged together. All the documentation files have been entered into the CVS repository. Many of the old plain-text files have been converted to html and modernized.

November 13, 2002

Mesa 5.0 has been released. This is a stable release which implements the OpenGL 1.4 specification.

    - 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

October 29, 2002

Mesa 4.1 has been released. This is a new development release. For a stable release, get 4.0.4.

    - 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,1] 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)
    - New spec file and Python code to generate some GL dispatch files
    - Glide driver defaults to "no" with autoconf/automake
    - floating point color channels now clamped to [0,inf)
    - updated demos/stex3d with new options

October 4, 2002

The Mesa FAQ has been rewritten.

October 3, 2002

Mesa 4.0.4 has been released. This is a stable bug-fix release.

	- 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
	- max texture units reduced to six to accomodate texture rectangles
	- removed unfinished GL_MESA_sprite_point extension code

June 25, 2002

Mesa 4.0.3 has been released. This is a stable bug-fix release.

    - 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)
    - 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)

April 2, 2002

Mesa 4.0.2 has been released. This is a stable bug-fix release.

      - 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)

December 17, 2001

Mesa 4.0.1 has been released. This is a stable bug-fix release.

      - 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 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)

October 22, 2001

Mesa 4.0 has been released. This is a stable release.

      - 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)

June 21, 2001

Mesa 3.5 has been released. This is a new development release.

	- 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
        - 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
        - SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
        - new library, contains the OSMesa driver interface

May 17, 2001

Mesa 3.4.2 has been released. This is basically just a bug-fix release. Here's what's new:

    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
        - optimized writing mono-colored pixel spans to X pixmaps
        - increased max viewport size to 2048 x 2048

April 29, 2001

New Mesa website

Mark Manning produced the new website.
Thanks, Mark!

February 14, 2001

Mesa 3.4.1 has been released. Here's what's 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

November 3, 2000

Mesa 3.4 has been released. Here's what's new since the 3.3 release:

    - 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
    - finished internal support for compressed textures for DRI

April 24, 2000

Mesa 3.2 has been released. Here's what's new since the beta release:

    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
    - updated docs/README file
    - use bcopy() optimizations on FreeBSD
    - re-enabled the optimized persp_textured_triangle() function

March 23, 2000

I've just upload the Mesa 3.2 beta 1 files to SourceForge at

3.2 (note even number) is a stabilization release of Mesa 3.1 meaning it's mainly just bug fixes.

Here's what's changed:

    Bug fixes:
        - mixed drawing of lines and bitmaps sometimes had wrong colors
        - added missing glHintPGI() function
        - fixed a polygon culling bug
        - fixed bugs in gluPartialDisk()
        - Z values in selection mode were wrong
        - added missing tokens:
        - fixed glCopyPixels when copying from back to front buffer
        - GL_EXT_compiled_vertex_array tokens had _SGI suffix instead of _EXT
        - glDrawRangeElements(GL_LINES, 0, 1, 2, type, indices) was broken
        - glDeleteTextures() didn't decrement reference count correctly
        - GL_SRCA_ALPHA_SATURATE blend mode didn't work correctly
        - Actual depth of transformation matrix stacks was off by one
        - 24bpp visuals didn't address pixels correctly
        - mipmap level of detail (lambda) calculation simplified, more accurate
        - 101691 - Polygon clipping and GL_LINE
        - 101928 - Polygon clipping and GL_LINE (same fix as above)
        - 101808 - Non-glVertexArrays tristrip bug
        - 101971 - find_last_3f on Dec OSF (worked around)
        - 102369 - segv on dec osf (possibly a duplicate of the above)
        - 102893 - orientations of modelview cause segfault
        - updated SVGA Linux driver
        - added the MESA_FX_NO_SIGNALS env var, see docs/README.3DFX
        - build libGLw.a (Xt/OpenGL drawing area widget) library by default
        - changed -O2 to -O3 for a number of gcc configs
        - glXCopyContext's mask parameter is now unsigned long, per GLX spec

Please report any problems with this release ASAP. Bugs should be filed on the Mesa3D website at sourceforge.
After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.

-- Brian

December 17, 1999

A Slashdot interview with Brian about Mesa (questions submitted by Slashdot readers) can be found at

December 14, 1999

Mesa 3.1 is released!

September 21, 1999

There appear to be two new files on the ftp site, MesaLib-3.1beta3.tar.gz and MesaDemos-3.1beta3.tar.gz, that seem to be... yes, I've just received confirmation from the beta center, they are indeed the THIRD beta release of Mesa 3.1! Happy Days. Happy Days. Thanks Keith Whitwell for preparing these for us during Brian's absence.

August 30, 1999

I'm pleased to announce that I've accepted a position with Precision Insight, Inc. effective October, 1999. I'll be leaving Avid Technology in September.

I've been working on Mesa in my spare time for over five years. With Precision Insight I now have the opportunity to devote my full attention to advancing Mesa and OpenGL on Linux.

While I'll be focused on Linux, the X Window System, and hardware acceleration, my work will continue to be open sourced and available to any other programmers who may want to contribute to it, or use it for other projects or platforms

PS: I'm going to be traveling until Sep 6 and won't be reading email until then.

August 23, 1999

Anonymous CVS access is back online so suck up all the bandwidth you can afford. Note that this is a new archive, so you will need to re-checkout the archive. That means don't cvs update from a previous download.

August 17, 1999

A report from the SIGGRAPH '99 Linux/OpenGL BOF meeting is now available.


August 14, 1999 is having technical problems due to hardware failures at VA Linux systems. The Mac pages, ftp, and CVS services aren't fully restored yet. Please be patient.


June 7, 1999

RPMS of the nVidia RIVA server can be found at

June 2, 1999

nVidia has released some Linux binaries for xfree86, along with the full source, which includes GLX acceleration based on Mesa 3.0. They can be downloaded from

May 24, 1999

Beta 2 of Mesa 3.1 has been make available at If you are into the quake scene, you may want to try this out, as it contains some optimizations specifically in the Q3A rendering path.

May 13, 1999

For those interested in the integration of Mesa into XFree86 4.0, Precision Insight has posted their lowlevel design documents at

May 13, 1999

May 1999 - John Carmack of id Software, Inc. has made a donation of
US$10,000 to the Mesa project to support its continuing development.
Mesa is a free implementation of the OpenGL 3D graphics library and id's
newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.

The donation will go to Keith Whitwell, who has been optimizing Mesa to
improve performance on 3d hardware.  Thanks to Keith's work, many
applications using Mesa 3.1 will see a dramatic performance increase
over Mesa 3.0.  The donation will allow Keith to continue working on
Mesa full time for some time to come.

For more information about Mesa see  For more
information about id Software, Inc. see


This donation from John/id is very generous.  Keith and I are very

May 1, 1999

John Carmack made an interesting .plan update yesterday:

"I put together a document on optimizing OpenGL drivers for Q3 that should be helpful to the various Linux 3D teams."

April 7, 1999

Updated the Mesa contributors section and added links to RPM Mesa packages.

March 18, 1999

The new webpages are now online. Enjoy, and let me know if you find any errors.

February 16, 1999

SGI releases its GLX source code.

January 22, 1999 established