Mesa 7.4 Release Notes / 27 March 2009
======================================

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

Mesa 7.4 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.

See the :doc:`Compiling/Installing page <../install>` for
prerequisites for DRI hardware acceleration.

MD5 checksums
-------------

::

   ed6bd7437177307e51e16d0c7c381dfa  MesaLib-7.4.tar.gz
   7ecddb341a2691e0dfdb02f697109834  MesaLib-7.4.tar.bz2
   433e823f8245f9fd5f397e7b719a8e47  MesaLib-7.4.zip
   656eee6128016fb237e01aa8dabbc703  MesaDemos-7.4.tar.gz
   02816f10f30b1dc5e069e0f68c177c98  MesaDemos-7.4.tar.bz2
   44a70d6db4aa4c64ecc47871b6aceee8  MesaDemos-7.4.zip
   25f80db4f8645cd3e58e2c9af53ec341  MesaGLUT-7.4.tar.gz
   04ec01caebde44f5b0d619f00716b368  MesaGLUT-7.4.tar.bz2
   019dc213baecaa3cb1278847d41b8591  MesaGLUT-7.4.zip

New features
------------

-  Added MESA_GLX_FORCE_DIRECT env var for Xlib/software driver
-  GLSL version 1.20 is returnd by the GL_SHADING_LANGUAGE_VERSION query

Bug fixes
---------

-  glGetActiveUniform() returned wrong size for some array types
-  Fixed some error checking in glUniform()
-  Fixed a potential glTexImage('proxy target') segfault
-  Fixed bad reference counting for 1D/2D texture arrays
-  Fixed VBO + glPush/PopClientAttrib() bug #19835
-  Assorted i965 driver bug fixes
-  Fixed a Windows compilation failure in s_triangle.c
-  Fixed a GLSL array indexing bug
-  Fixes for building on Haiku

Changes
-------

-  Updated GL/glxext.h to version 48
-  Assorted updates for building on Solaris

Driver Status
-------------

::

   Driver         Status
   ----------------------  ----------------------
   DRI drivers     varies with the driver
   XMesa/GLX (on Xlib) implements OpenGL 2.1
   OSMesa (off-screen) implements OpenGL 2.1
   Windows/Win32       implements OpenGL 2.1
   Glide (3dfx Voodoo1/2)  implements OpenGL 1.3
   SVGA            unsupported
   Wind River UGL      unsupported
   DJGPP           unsupported
   GGI         unsupported
   BeOS            unsupported
   Allegro         unsupported
   D3D         unsupported
