Mesa 7.10.1 Release Notes / March 2, 2011 — The Mesa 3D Graphics Library latest documentation

# Mesa 7.10.1 Release Notes / March 2, 2011

Mesa 7.10.1 is a bug fix release which fixes bugs found since the 7.10 release.

Mesa 7.10.1 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 Compiling/Installing page for prerequisites for DRI hardware acceleration.

## MD5 checksums

    4b4cee19f3bf16eb78bd4cc278ccf812  MesaLib-7.10.1.tar.gz
    efe8da4d80c2a5d32a800770b8ce5dfa  MesaLib-7.10.1.tar.bz2
    0fd2b1a025934de3f8cecf9fb9b57f4c  MesaLib-7.10.1.zip
    42beb0f5188d544476c19496f725fa67  MesaGLUT-7.10.1.tar.gz
    637bb8a20fdad89f7382b4ea83f896e3  MesaGLUT-7.10.1.tar.bz2
    bdbf3ffb2606d6aa8afabb6c6243b91b  MesaGLUT-7.10.1.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 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 - gl_FragCoord off by one in Gallium drivers.

- Bug 29164 - [GLSL 1.20] invariant variable shouldn’t be used before declaration

- Bug 29823 - GetUniform[if]v busted

- Bug 29927 - [glsl2] fail to compile shader with constructor for array of struct type

- Bug 30156 - [i965] After updating to Mesa 7.9, Civilization IV starts to show garbage

- Bug 31923 - [GLSL 1.20] allowing inconsistent centroid declaration between two vertex shaders

- Bug 31925 - [GLSL 1.20] “#pragma STDGL invariant(all)” fail

- Bug 32214 - [gles2]no link error happens when missing vertex shader or frag shader

- Bug 32375 - [gl gles2] Not able to get the attribute by function glGetVertexAttribfv

- Bug 32541 - Segmentation Fault while running an HDR (high dynamic range) rendering demo

- Bug 32569 - [gles2] glGetShaderPrecisionFormat not implemented yet

- Bug 32695 - [glsl] SIGSEGV glcpp/glcpp-parse.y:833

- Bug 32831 - [glsl] division by zero crashes GLSL compiler

- Bug 32910 - Keywords ‘in’ and ‘out’ not handled properly for GLSL 1.20 shaders

- Bug 33219 -[GLSL bisected] implicit sized array triggers segfault in ir_to_mesa_visitor::copy_propagate

- Bug 33306 - GLSL integer division by zero crashes GLSL compiler

- Bug 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 - uniform array will be allocate one line more and initialize it when it was freed will abort

- Bug 33386 - Dubious assembler in read_rgba_span_x86.S

- Bug 33388 - Dubious assembler in xform4.S

- Bug 33433 - Error in x86-64 API dispatch code.

- Bug 33507 - [glsl] GLSL preprocessor modulus by zero crash

- Bug 33508 - [glsl] GLSL compiler modulus by zero crash

- Bug 33916 - Compiler accepts reserved operators % and %=

- Bug 34030 - [bisected] Starcraft 2: some effects are corrupted or too big

- Bug 34047 - Assert in _tnl_import_array() when using GLfixed vertex datatypes with GLESv2

- Bug 34114 - Sun Studio build fails due to standard library functions not being in global namespace

- Bug 34179 - Nouveau 3D driver: nv50_pc_emit.c:863 assertion error kills Compiz

- Bug 34198 - [GLSL] implicit sized array with index 0 used gets assertion

- Ubuntu 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.10..mesa-7.10.1

Alberto Milone (1):

- r600c: add evergreen ARL support.

Brian Paul (21):

- draw: Fix an off-by-one bug in a vsplit assertion.

- docs: add links to 7.9.1 and 7.10 release notes

- docs: added news item for 7.9.1 and 7.10 release

- gallivm: work around LLVM 2.6 bug when calling C functions

- gallivm: fix copy&paste error from previous commit

- 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: fix incorrect glCopyPixels position on fallback path

- 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 link to 7.10.1 release notes

- mesa: implement glGetShaderPrecisionFormat()

- docs: updated environment variable list

Bryce Harrington (1):

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

Chad Versace (20):

- 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

- mesa: Refactor handling of extension strings

- mesa: Add/remove extensions in extension string

- mesa: Change dependencies of some OES extension strings

- mesa: Change OES_point_sprite to depend on ARB_point_sprite

- mesa: Change OES_standard_derivatives to be stand-alone extension

- i915: Disable extension OES_standard_derivatives

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

Christoph Bumiller (1):

- nv50,nvc0: do not forget to apply sign mode to saved TGSI inputs

Cyril Brulebois (1):

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

Dave Airlie (3):

- radeon/r200: fix fbo-clearmipmap + gen-teximage

- radeon: calculate complete texture state inside TFP function

- 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 (16):

- glsl: Fix the lowering of variable array indexing to not lose write_masks.

- i965/fs: When producing ir_unop_abs of an operand, strip negate.

- i965/vs: When MOVing to produce ABS, strip negate of the operand.

- i965/fs: Do flat shading when appropriate.

- i965: Avoid double-negation of immediate values in the VS.

- intel: Make renderbuffer tiling choice match texture tiling choice.

- i965: Fix dead pointers to fp->Parameters->ParameterValues[] after realloc.

- docs: Add a relnote for the Civ IV on i965.

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

- i965: Fix a bug in i965 compute-to-MRF.

- i965/fs: Add a helper function for detecting math opcodes.

Fredrik Höglund (1):

- st/mesa: fix a regression from cae2bb76

Ian Romanick (42):

- docs: Add 7.10 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 bits of 7.10.1 release notes

- mesa: bump version to 7.10.1-devel

- doc: Update 7.10.1 release notes

- glsl: Emit errors or warnings when ‘layout’ is used with ‘attribute’ or ‘varying’

- docs: Update 7.10.1 release notes

- 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.10.1 release notes

- 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

- Use C-style system headers in C++ code to avoid issues with std:: namespace

- docs: Update 7.10.1 release notes

- 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

- glsl: Finish out the reduce/reduce error fixes

- glsl: Regenerate compiler and glcpp files from cherry picks

- linker: Fix off-by-one error implicit array sizing

- docs: update 7.10.1 release notes with Ian’s recent cherry picks

- 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.10.1 with (hopefully) the last of the cherry picks

- docs: Clean up bug fixes list

- intel: Remove driver date and related bits from renderer string

- mesa: set version string to 7.10.1 (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 (20):

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

- i965/fs: Apply source modifier workarounds to POW as well.

- i965: Fix shaders that write to gl_PointSize on Sandybridge.

- i965/fs: Avoid register coalescing away gen6 MATH workarounds.

- i965/fs: Correctly set up gl_FragCoord.w on Sandybridge.

- i965: Increase Sandybridge point size clamp.

- i965/fs: Refactor control flow stack handling.

- i965: Increase Sandybridge point size clamp in the clip state.

- glsl: Use reralloc instead of plain realloc.

- Revert “i965/fs: Correctly set up gl_FragCoord.w on Sandybridge.”

Marek Olšák (4):

- docs: fix messed up names with special characters in relnotes-7.10

- 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

Tom Fogal (1):

- Regenerate gl_mangle.h.

Tom Stellard (2):

- r300/compiler: Disable register rename pass on r500

- r300/compiler: Don’t erase sources when converting RGB->Alpha

Vinson Lee (3):

- ralloc: Add missing va_end following va_copy.

- mesa: Move declaration before code in extensions.c.

- mesa: Move loop variable declarations outside for loop in extensions.c.

nobled (1):

- glx: Put null check before use