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

MD5 checksums

eb4ab8c1a03386def3ea34b1358e9cda  MesaLib-7.9.2.tar.gz
8f6d1474912787ce13bd35f3bae9938a  MesaLib-7.9.2.tar.bz2
aacb8f4db997e346db40c6066942140a  MesaGLUT-7.9.2.tar.gz
18abe6cff4fad8ad4752c7b7ab548e5d  MesaGLUT-7.9.2.tar.bz2

New features


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


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 rather than

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