Mesa 7.9.2 Release Notes / March 2, 2011
========================================

Mesa 7.9.2 is a bug fix release which fixes bugs found since the 7.9.1
release.

Mesa 7.9.2 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
-------------

::

   eb4ab8c1a03386def3ea34b1358e9cda  MesaLib-7.9.2.tar.gz
   8f6d1474912787ce13bd35f3bae9938a  MesaLib-7.9.2.tar.bz2
   427a81dd43ac97603768dc5c6af3df26  MesaLib-7.9.2.zip
   aacb8f4db997e346db40c6066942140a  MesaGLUT-7.9.2.tar.gz
   18abe6cff4fad8ad4752c7b7ab548e5d  MesaGLUT-7.9.2.tar.bz2
   3189e5732d636c71baf3d8bc23ce7b11  MesaGLUT-7.9.2.zip

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

None.

Bug fixes
---------

This list is likely incomplete.

-  Fix an off-by-one bug in a vsplit assertion.
-  Fix incorrect handling of ``layout`` qualifier with ``in``, ``out``,
   ``attribute``, and ``varying``.
-  Fix an i965 GPU hang in GLSL shaders that contain an unconditional
   ``discard`` statement.
-  Fix an i965 shader bug where the negative absolute value was
   generated instead of the absolute value of a negation.
-  Fix numerous issues handling precision qualifiers in GLSL ES.
-  Fixed a few GLX protocol encoder bugs (Julien Cristau)
-  Assorted Gallium llvmpipe driver bug fixes
-  Assorted Mesa/Gallium state tracker bug fixes
-  `Bug 26795 <https://bugs.freedesktop.org/show_bug.cgi?id=26795>`__ -
   gl_FragCoord off by one in Gallium drivers.
-  `Bug 29164 <https://bugs.freedesktop.org/show_bug.cgi?id=29164>`__ -
   [GLSL 1.20] invariant variable shouldn't be used before declaration
-  `Bug 29823 <https://bugs.freedesktop.org/show_bug.cgi?id=29823>`__ -
   GetUniform[if]v busted
-  `Bug 29927 <https://bugs.freedesktop.org/show_bug.cgi?id=29927>`__ -
   [glsl2] fail to compile shader with constructor for array of struct
   type
-  `Bug 30156 <https://bugs.freedesktop.org/show_bug.cgi?id=30156>`__ -
   [i965] After updating to Mesa 7.9, Civilization IV starts to show
   garbage
-  `Bug 31923 <https://bugs.freedesktop.org/show_bug.cgi?id=31923>`__ -
   [GLSL 1.20] allowing inconsistent centroid declaration between two
   vertex shaders
-  `Bug 31925 <https://bugs.freedesktop.org/show_bug.cgi?id=31925>`__ -
   [GLSL 1.20] "#pragma STDGL invariant(all)" fail
-  `Bug 32214 <https://bugs.freedesktop.org/show_bug.cgi?id=32214>`__ -
   [gles2]no link error happens when missing vertex shader or frag
   shader
-  `Bug 32375 <https://bugs.freedesktop.org/show_bug.cgi?id=32375>`__ -
   [gl gles2] Not able to get the attribute by function
   glGetVertexAttribfv
-  `Bug 32541 <https://bugs.freedesktop.org/show_bug.cgi?id=32541>`__ -
   Segmentation Fault while running an HDR (high dynamic range)
   rendering demo
-  `Bug 32569 <https://bugs.freedesktop.org/show_bug.cgi?id=32569>`__ -
   [gles2] glGetShaderPrecisionFormat not implemented yet
-  `Bug 32695 <https://bugs.freedesktop.org/show_bug.cgi?id=32695>`__ -
   [glsl] SIGSEGV glcpp/glcpp-parse.y:833
-  `Bug 32831 <https://bugs.freedesktop.org/show_bug.cgi?id=32831>`__ -
   [glsl] division by zero crashes GLSL compiler
-  `Bug 32910 <https://bugs.freedesktop.org/show_bug.cgi?id=32910>`__ -
   Keywords 'in' and 'out' not handled properly for GLSL 1.20 shaders
-  `Bug 33219 <https://bugs.freedesktop.org/show_bug.cgi?id=33219>`__
   -[GLSL bisected] implicit sized array triggers segfault in
   ir_to_mesa_visitor::copy_propagate
-  `Bug 33306 <https://bugs.freedesktop.org/show_bug.cgi?id=33306>`__ -
   GLSL integer division by zero crashes GLSL compiler
-  `Bug 33308 <https://bugs.freedesktop.org/show_bug.cgi?id=33308>`__
   -[glsl] ast_to_hir.cpp:3016: virtual ir_rvalue\*
   ast_jump_statement::hir(exec_list*, \_mesa_glsl_parse_state*):
   Assertion \`ret != \__null' failed.
-  `Bug 33316 <https://bugs.freedesktop.org/show_bug.cgi?id=33316>`__ -
   uniform array will be allocate one line more and initialize it when
   it was freed will abort
-  `Bug 33386 <https://bugs.freedesktop.org/show_bug.cgi?id=33386>`__ -
   Dubious assembler in read_rgba_span_x86.S
-  `Bug 33388 <https://bugs.freedesktop.org/show_bug.cgi?id=33388>`__ -
   Dubious assembler in xform4.S
-  `Bug 33433 <https://bugs.freedesktop.org/show_bug.cgi?id=33433>`__ -
   Error in x86-64 API dispatch code.
-  `Bug 33507 <https://bugs.freedesktop.org/show_bug.cgi?id=33507>`__ -
   [glsl] GLSL preprocessor modulus by zero crash
-  `Bug 33508 <https://bugs.freedesktop.org/show_bug.cgi?id=33508>`__ -
   [glsl] GLSL compiler modulus by zero crash
-  `Bug 33916 <https://bugs.freedesktop.org/show_bug.cgi?id=33916>`__ -
   Compiler accepts reserved operators % and %=
-  `Bug 34047 <https://bugs.freedesktop.org/show_bug.cgi?id=34047>`__ -
   Assert in \_tnl_import_array() when using GLfixed vertex datatypes
   with GLESv2
-  `Bug 34114 <https://bugs.freedesktop.org/show_bug.cgi?id=34114>`__ -
   Sun Studio build fails due to standard library functions not being in
   global namespace
-  `Bug 34198 <https://bugs.freedesktop.org/show_bug.cgi?id=34198>`__ -
   [GLSL] implicit sized array with index 0 used gets assertion
-  `Ubuntu bug
   691653 <https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/691653>`__
   - compiz crashes when using alt-tab (the radeon driver kills it)
-  Meego bug 13005 -
   Graphics GLSL issue lead to camera preview fail on Pinetrail

Changes
-------

The full set of changes can be viewed by using the following GIT
command:

::

     git log mesa-7.9.1..mesa-7.9.2

Alberto Milone (1):

-  r600c: add evergreen ARL support.

Brian Paul (19):

-  draw: Fix an off-by-one bug in a vsplit assertion.
-  mesa: fix a few format table mistakes, assertions
-  mesa: fix num_draw_buffers==0 in fixed-function fragment program
   generation
-  mesa: don't assert in GetIntegerIndexed, etc
-  mesa: check for dummy renderbuffer in
   \_mesa_FramebufferRenderbufferEXT()
-  llvmpipe: make sure binning is active when we begin/end a query
-  st/mesa: fix incorrect fragcoord.x translation
-  softpipe: fix off-by-one error in setup_fragcoord_coeff()
-  cso: fix loop bound in cso_set_vertex_samplers()
-  st/mesa: set renderbuffer \_BaseFormat in a few places
-  st/mesa: fix the default case in st_format_datatype()
-  st/mesa: need to translate clear color according to surface's base
   format
-  docs: update 7.9.2 release notes with Brian's cherry-picks
-  docs: add links to 7.9.1 and 7.9.2 release notes
-  mesa: include compiler.h for ASSERT macro
-  glsl: add ir_shader case in switch stmt to silence warning
-  glsl2: fix signed/unsigned comparison warning
-  mesa: implement glGetShaderPrecisionFormat()
-  docs: updated environment variable list

Bryce Harrington (1):

-  r300g: Null pointer check for buffer deref in gallium winsys

Chad Versace (14):

-  glsl: At link-time, check that globals have matching centroid
   qualifiers
-  glcpp: Fix segfault when validating macro redefinitions
-  glsl: Fix parser rule for type_specifier
-  glsl: Change default value of ast_type_specifier::precision
-  glsl: Add semantic checks for precision qualifiers
-  glsl: Add support for default precision statements
-  glsl: Remove redundant semantic check in parser
-  glsl: Fix semantic checks on precision qualifiers
-  glsl: Fix segfault due to missing printf argument
-  glsl: Mark 'in' variables at global scope as read-only
-  glcpp: Raise error when modulus is zero
-  glsl: Set operators '%' and '%=' to be reserved when GLSL < 1.30
-  glsl: Reinstate constant-folding for division by zero
-  tnl: Add support for datatype GL_FIXED in vertex arrays

Chia-I Wu (1):

-  mesa: Add glDepthRangef and glClearDepthf to APIspec.xml.

Chris Wilson (1):

-  intel: Check for unsupported texture when finishing using as a render
   target

Cyril Brulebois (1):

-  Point to bugs.freedesktop.org rather than bugzilla.freedesktop.org

Dave Airlie (2):

-  radeon/r200: fix fbo-clearmipmap + gen-teximage
-  radeon: avoid segfault on 3D textures.

Dimitry Andric (4):

-  mesa: s/movzx/movzbl/
-  mesa: s/movzxw/movzwl/ in read_rgba_span_x86.S
-  glapi: adding @ char before type specifier in glapi_x86.S
-  glapi: add @GOTPCREL relocation type

Eric Anholt (11):

-  i965: Avoid double-negation of immediate values in the VS.
-  docs: Add a relnote for the Civ IV on i965.
-  i965/vs: When MOVing to produce ABS, strip negate of the operand.
-  glsl: Fix the lowering of variable array indexing to not lose
   write_masks.
-  intel: Make renderbuffer tiling choice match texture tiling choice.
-  glapi: Add entrypoints and enums for GL_ARB_ES2_compatibility.
-  mesa: Add extension enable bit for GL_ARB_ES2_compatibility.
-  mesa: Add actual support for glReleaseShaderCompiler from ES2.
-  mesa: Add support for glDepthRangef and glClearDepthf.
-  mesa: Add getters for ARB_ES2_compatibility MAX_*_VECTORS.
-  mesa: Add getter for GL_SHADER_COMPILER with ARB_ES2_compatibility.

Ian Romanick (42):

-  docs: Add 7.9.1 md5sums
-  glsl: Support the 'invariant(all)' pragma
-  glcpp: Generate an error for division by zero
-  glsl: Add version_string containing properly formatted GLSL version
-  glsl & glcpp: Refresh autogenerated lexer and parser files.
-  glsl: Disallow 'in' and 'out' on globals in GLSL 1.20
-  glsl: Track variable usage, use that to enforce semantics
-  glsl: Allow 'in' and 'out' when 'layout' is also available
-  docs: Initial set of release notes for 7.9.2
-  mesa: bump version to 7.9.2-devel
-  docs: Update 7.9.2 release notes
-  i965: Make OPCODE_KIL_NV do its work in a temp, not the null reg!
-  glsl: Refresh autogenerated lexer and parser files.
-  glsl: Don't assert when the value returned by a function has no
   rvalue
-  linker: Set sizes for non-global arrays as well
-  linker: Propagate max_array_access while linking functions
-  docs: Update 7.9.2 release notes
-  Use C-style system headers in C++ code to avoid issues with std::
   namespace
-  mesa: glGetUniform only returns a single element of an array
-  linker: Generate link errors when ES shaders are missing stages
-  mesa: Fix error checks in GetVertexAttrib functions
-  docs: Update 7.9.2 release notes
-  mesa: Remove unsupported OES extensions
-  glapi: Regenerate for GL_ARB_ES2_compatibility.
-  mesa: Connect glGetShaderPrecisionFormat into the dispatch table
-  i965: Set correct values for range/precision of fragment shader types
-  i915: Set correct values for range/precision of fragment shader types
-  intel: Fix typeos from 3d028024 and 790ff232
-  glsl: Ensure that all GLSL versions are supported in the stand-alone
   compiler
-  glsl: Reject shader versions not supported by the implementation
-  mesa: Initial size for secondary color array is 3
-  glcpp: Regenerate files from recent cherry picks
-  glsl: Finish out the reduce/reduce error fixes
-  glsl: Regenerate compiler files from cherry picks
-  linker: Fix off-by-one error implicit array sizing
-  i915: Only mark a register as available if all components are written
-  i915: Calculate partial result to temp register first
-  i915: Force lowering of all types of indirect array accesses in the
   FS
-  docs: Update 7.9.2 release notes for recent cherry picks
-  docs: Clean up bug fixes list
-  intel: Remove driver date and related bits from renderer string
-  mesa: set version string to 7.9.2 (final)

Jian Zhao (1):

-  mesa: fix an error in uniform arrays in row calculating.

Julien Cristau (3):

-  glx: fix request lengths
-  glx: fix GLXChangeDrawableAttributesSGIX request
-  glx: fix length of GLXGetFBConfigsSGIX

Keith Packard (1):

-  glsl: Eliminate reduce/reduce conflicts in glsl grammar

Kenneth Graunke (12):

-  glsl: Expose a public glsl_type::void_type const pointer.
-  glsl: Don't bother unsetting a destructor that was never set.
-  glsl, i965: Remove unnecessary talloc includes.
-  glcpp: Remove use of talloc reference counting.
-  ralloc: Add a fake implementation of ralloc based on talloc.
-  Convert everything from the talloc API to the ralloc API.
-  ralloc: a new MIT-licensed recursive memory allocator.
-  Remove talloc from the make and automake build systems.
-  Remove talloc from the SCons build system.
-  Remove the talloc sources from the Mesa repository.
-  glsl: Fix use of uninitialized values in \_mesa_glsl_parse_state
   ctor.
-  glsl: Use reralloc instead of plain realloc.

Marek Olšák (3):

-  docs: fix messed up names with special characters in relnotes-7.9.1
-  mesa: fix texture3D mipmap generation for UNSIGNED_BYTE_3_3_2
-  st/dri: Track drawable context bindings

Paulo Zanoni (1):

-  dri_util: fail driCreateNewScreen if InitScreen is NULL

Sam Hocevar (2):

-  docs: add glsl info
-  docs: fix glsl_compiler name

Vinson Lee (1):

-  ralloc: Add missing va_end following va_copy.

nobled (1):

-  glx: Put null check before use
