<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Mesa Release Notes</title>
  <link rel="stylesheet" type="text/css" href="../mesa.css">
</head>
<body>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="../contents.html"></iframe>
<div class="content">

<h1>Mesa 7.9.1 Release Notes / January 7, 2011</h1>

<p>
Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9 release.
</p>
<p>
Mesa 7.9.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.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>


<h2>MD5 checksums</h2>
<pre>
78422843ea875ad4eac35b9b8584032b  MesaLib-7.9.1.tar.gz
07dc6cfb5928840b8b9df5bd1b3ae434  MesaLib-7.9.1.tar.bz2
c8eaea5b3c3d6dee784bd8c2db91c80f  MesaLib-7.9.1.zip
ee9ecae4ca56fbb2d14dc15e3a0a7640  MesaGLUT-7.9.1.tar.gz
41fc477d524e7dc5c84da8ef22422bea  MesaGLUT-7.9.1.tar.bz2
90b287229afdf19317aa989d19462e7a  MesaGLUT-7.9.1.zip
</pre>


<h2>New features</h2>
<p>None.</p>

<h2>Bug fixes</h2>
<p>This list is likely incomplete.</p>
<ul>
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28800">Bug 28800</a> - [r300c, r300g] Texture corruption with World of Warcraft</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29420">Bug 29420</a> - Amnesia / HPL2 RendererFeatTest - not rendering correctly</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29946">Bug 29946</a> - [swrast] piglit valgrind glsl-array-bounds-04 fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30261">Bug 30261</a> - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30632">Bug 30632</a> - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb &amp;&amp; stfb-&gt;iface == stfbi' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30694">Bug 30694</a> - wincopy will crash on Gallium drivers when going to front buffer</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30787">Bug 30787</a> - Invalid asm shader does not generate draw-time error when used with GLSL shader</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30993">Bug 30993</a> - getFramebufferAttachmentParameteriv wrongly generates error</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31101">Bug 31101</a> -  [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31193">Bug 31193</a> -  [regression] aa43176e break water reflections</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31194">Bug 31194</a> - The mesa meta save/restore code doesn't ref the current GLSL program</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31371">Bug 31371</a> - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type-&gt;base_type &gt;= 0) &amp;&amp; (type-&gt;base_type &lt;= 3)' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31439">Bug 31439</a> - Crash in glBufferSubData() with size == 0</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31495">Bug 31495</a> - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31514">Bug 31514</a> - isBuffer returns true for unbound buffers</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31560">Bug 31560</a> - [tdfx] tdfx_tex.c:702: error: 'const struct gl_color_table' has no member named 'Format'</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31617">Bug 31617</a> - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31648">Bug 31648</a> -  [GLSL] array-struct-array gets assertion: `(size &gt;= 1) &amp;&amp; (size &lt;= 4)' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31650">Bug 31650</a> - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31673">Bug 31673</a> - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31690">Bug 31690</a> -  i915 shader compiler fails to flatten if in Aquarium webgl demo.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31832">Bug 31832</a> - [i915] Bad renderbuffer format: 21</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31841">Bug 31841</a> - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31894">Bug 31894</a> - Writing to gl_PointSize with GLES2 corrupts other varyings</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31909">Bug 31909</a> - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr-&gt;operands[i]-&gt;type-&gt;is_scalar()' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31934">Bug 31934</a> - [gallium] Mapping empty buffer object causes SIGSEGV</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31983">Bug 31983</a> -  [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31985">Bug 31985</a> - [GLSL 1.20] initialized uniform array considered as "unsized"</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31987">Bug 31987</a> - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32035">Bug 32035</a> - [GLSL bisected] comparing unsized array gets segfault</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32070">Bug 32070</a> - llvmpipe renders stencil demo incorrectly</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32273">Bug 32273</a> - assertion fails when starting vdrift 2010 release with shaders enabled</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32287">Bug 32287</a> - [bisected GLSL] float-int failure</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32311">Bug 32311</a> - [965 bisected] Array look-ups broken on GM45</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32520">Bug 32520</a> -  [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32825">Bug 32825</a> - egl_glx driver completely broken in 7.9 branch [fix in master]</li>
</ul>


<h2>Changes</h2>
<p>The full set of changes can be viewed by using the following GIT command:</p>

<pre>
  git log mesa-7.9..mesa-7.9.1
</pre>

<p>Alex Deucher (5):</p>
<ul>
  <li>r100: revalidate after radeon_update_renderbuffers</li>
  <li>r600c: add missing radeon_prepare_render() call on evergreen</li>
  <li>r600c: properly align mipmaps to group size</li>
  <li>gallium/egl: fix r300 vs r600 loading</li>
  <li>r600c: fix some opcodes on evergreen</li>
</ul>

<p>Aras Pranckevicius (2):</p>
<ul>
  <li>glsl: fix crash in loop analysis when some controls can't be determined</li>
  <li>glsl: fix matrix type check in ir_algebraic</li>
</ul>

<p>Brian Paul (27):</p>
<ul>
  <li>swrast: fix choose_depth_texture_level() to respect mipmap filtering state</li>
  <li>st/mesa: replace assertion w/ conditional in framebuffer invalidation</li>
  <li>egl/i965: include inline_wrapper_sw_helper.h</li>
  <li>mesa: Add missing else in do_row_3D</li>
  <li>mesa: add missing formats in _mesa_format_to_type_and_comps()</li>
  <li>mesa: handle more pixel types in mipmap generation code</li>
  <li>mesa: make glIsBuffer() return false for never bound buffers</li>
  <li>mesa: fix glDeleteBuffers() regression</li>
  <li>swrast: init alpha value to 1.0 in opt_sample_rgb_2d()</li>
  <li>meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear</li>
  <li>st/mesa: fix mapping of zero-sized buffer objects</li>
  <li>mesa: check for posix_memalign() errors</li>
  <li>llvmpipe: fix broken stencil writemask</li>
  <li>mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query</li>
  <li>mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type</li>
  <li>mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM</li>
  <li>mesa: test for cube map completeness in glGenerateMipmap()</li>
  <li>tnl: Initialize gl_program_machine memory in run_vp.</li>
  <li>tnl: a better way to initialize the gl_program_machine memory</li>
  <li>mesa, st/mesa: disable GL_ARB_geometry_shader4</li>
  <li>glsl: fix off by one in register index assertion</li>
  <li>st/mesa: fix mipmap generation bug</li>
  <li>glsl: new glsl_strtod() wrapper to fix decimal point interpretation</li>
  <li>mesa: no-op glBufferSubData() on size==0</li>
  <li>tdfx: s/Format/_BaseFormat/</li>
  <li>st/mesa: fix renderbuffer pointer check in st_Clear()</li>
  <li>mesa: Bump the number of bits in the register index.</li>
</ul>

<p>Chad Versace (5):</p>
<ul>
  <li>glsl: Fix lexer rule for ^=</li>
  <li>glsl: Fix ast-to-hir for ARB_fragment_coord_conventions</li>
  <li>glsl: Fix ir_expression::constant_expression_value()</li>
  <li>glsl: Fix erroneous cast in ast_jump_statement::hir()</li>
  <li>glsl: Fix linker bug in cross_validate_globals()</li>
</ul>

<p>Chia-I Wu (10):</p>
<ul>
  <li>targets/egl: Fix linking with libdrm.</li>
  <li>st/vega: Fix version check in context creation.</li>
  <li>st/egl: Do not finish a fence that is NULL.</li>
  <li>egl: Fix a false negative check in _eglCheckMakeCurrent.</li>
  <li>st/mesa: Unreference the sampler view in st_bind_surface.</li>
  <li>egl_dri2: Fix __DRI_DRI2 version 1 support.</li>
  <li>st/vega: Do not wait NULL fences.</li>
  <li>mesa: Do not advertise GL_OES_texture_3D.</li>
  <li>egl_glx: Fix borken driver.</li>
  <li>egl: Check extensions.</li>
</ul>

<p>Daniel Lichtenberger (1):</p>
<ul>
  <li>radeon: fix potential segfault in renderbuffer update</li>
</ul>

<p>Daniel Vetter (1):</p>
<ul>
  <li>r200: revalidate after radeon_update_renderbuffers</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>r300g: fixup rs690 tiling stride alignment calculations.</li>
</ul>

<p>Eric Anholt (13):</p>
<ul>
  <li>intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.</li>
  <li>glsl: Free the loop state context when we free the loop state.</li>
  <li>i965: Allow OPCODE_SWZ to put immediates in the first arg.</li>
  <li>i965: Add support for rendering to SARGB8 FBOs.</li>
  <li>glsl: Add a helper constructor for expressions that works out result type.</li>
  <li>glsl: Fix structure and array comparisions.</li>
  <li>glsl: Quiet unreachable no-return-from-function warning.</li>
  <li>glsl: Mark the array access for whole-array comparisons.</li>
  <li>glsl: Fix flipped return of has_value() for array constants.</li>
  <li>mesa: Add getters for the rest of the supported draw buffers.</li>
  <li>mesa: Add getters for ARB_copy_buffer's attachment points.</li>
  <li>i965: Correct the dp_read message descriptor setup on g4x.</li>
  <li>glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.</li>
</ul>

<p>Fabian Bieler (1):</p>
<ul>
  <li>glsl: fix lowering conditional returns in subroutines</li>
</ul>

<p>Francisco Jerez (3):</p>
<ul>
  <li>meta: Don't leak alpha function/reference value changes.</li>
  <li>meta: Fix incorrect rendering of the bitmap alpha component.</li>
  <li>meta: Don't try to disable cube maps if the driver doesn't expose the extension.</li>
</ul>

<p>Henri Verbeet (2):</p>
<ul>
  <li>r600: Evergreen has two extra frac_bits for the sampler LOD state.</li>
  <li>st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().</li>
</ul>

<p>Ian Romanick (33):</p>
<ul>
  <li>Add 7.9 md5sums</li>
  <li>docs: Import 7.8.x release notes from 7.8 branch.</li>
  <li>docs: download.html does not need to be updated for each release</li>
  <li>docs: Update mailing lines from sf.net to freedesktop.org</li>
  <li>docs: added news item for 7.9 release</li>
  <li>mesa: Validate assembly shaders when GLSL shaders are used</li>
  <li>linker: Reject shaders that have unresolved function calls</li>
  <li>mesa: Refactor validation of shader targets</li>
  <li>glsl: Slightly change the semantic of _LinkedShaders</li>
  <li>linker: Improve handling of unread/unwritten shader inputs/outputs</li>
  <li>glsl: Commit lexer files changed by previous cherry picking</li>
  <li>mesa: Make metaops use program refcounts instead of names.</li>
  <li>glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow</li>
  <li>mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample</li>
  <li>glsl: better handling of linker failures</li>
  <li>mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.</li>
  <li>i915: Disallow alpha, red, RG, and sRGB as render targets</li>
  <li>glsl/linker: Free any IR discarded by optimization passes.</li>
  <li>glsl: Add an optimization pass to simplify discards.</li>
  <li>glsl: Add a lowering pass to move discards out of if-statements.</li>
  <li>i915: Correctly generate unconditional KIL instructions</li>
  <li>glsl: Add unary ir_expression constructor</li>
  <li>glsl: Ensure that equality comparisons don't return a NULL IR tree</li>
  <li>glcpp: Commit changes in generated files cause by previous commit</li>
  <li>glsl: Inherrit type of declared variable from initializer</li>
  <li>glsl: Inherrit type of declared variable from initializer after processing assignment</li>
  <li>linker: Ensure that unsized arrays have a size after linking</li>
  <li>linker: Fix regressions caused by previous commit</li>
  <li>linker: Allow built-in arrays to have different sizes between shader stages</li>
  <li>ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors</li>
  <li>Refresh autogenerated file builtin_function.cpp.</li>
  <li>docs: Initial set of release notes for 7.9.1</li>
  <li>mesa: set version string to 7.9.1</li>
</ul>

<p>Julien Cristau (1):</p>
<ul>
  <li>Makefile: don't include the same files twice in the tarball</li>
</ul>

<p>Kenneth Graunke (19):</p>
<ul>
  <li>glcpp: Return NEWLINE token for newlines inside multi-line comments.</li>
  <li>generate_builtins.py: Output large strings as arrays of characters.</li>
  <li>glsl: Fix constant component count in vector constructor emitting.</li>
  <li>ir_dead_functions: Actually free dead functions and signatures.</li>
  <li>glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version &gt;= 1.30.</li>
  <li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
  <li>glsl: Fix constant expression handling for &lt;, &gt;, &lt;=, &gt;= on vectors.</li>
  <li>glsl: Use do_common_optimization in the standalone compiler.</li>
  <li>glsl: Don't inline function prototypes.</li>
  <li>glsl: Add a virtual as_discard() method.</li>
  <li>glsl: Remove "discard" support from lower_jumps.</li>
  <li>glsl: Refactor get_num_operands.</li>
  <li>glcpp: Don't emit SPACE tokens in conditional_tokens production.</li>
  <li>glsl: Clean up code by adding a new is_break() function.</li>
  <li>glsl: Consider the "else" branch when looking for loop breaks.</li>
  <li>Remove OES_compressed_paletted_texture from the ES2 extension list.</li>
  <li>glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).</li>
  <li>Fix build on systems where "python" is python 3.</li>
  <li>i965: Internally enable GL_NV_blend_square on ES2.</li>
</ul>

<p>Kristian Høgsberg (1):</p>
<ul>
  <li>i965: Don't write mrf assignment for pointsize output</li>
</ul>

<p>Luca Barbieri (1):</p>
<ul>
  <li>glsl: Unroll loops with conditional breaks anywhere (not just the end)</li>
</ul>

<p>Marek Olšák (17):</p>
<ul>
  <li>r300g: fix microtiling for 16-bits-per-channel formats</li>
  <li>r300g: fix texture border for 16-bits-per-channel formats</li>
  <li>r300g: add a default channel ordering of texture border for unhandled formats</li>
  <li>r300g: fix texture border color for all texture formats</li>
  <li>r300g: fix rendering with no vertex elements</li>
  <li>r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction</li>
  <li>r300g: fix texture border color once again</li>
  <li>r300g: fix texture swizzling with compressed textures on r400-r500</li>
  <li>r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only</li>
  <li>mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium</li>
  <li>st/mesa: initialize key in st_vp_varient</li>
  <li>r300/compiler: fix swizzle lowering with a presubtract source operand</li>
  <li>r300g: fix rendering with a vertex attrib having a zero stride</li>
  <li>ir_to_mesa: Add support for conditional discards.</li>
  <li>r300g: finally fix the texture corruption on r3xx-r4xx</li>
  <li>mesa: fix texel store functions for some float formats</li>
  <li>r300/compiler: disable the rename_regs pass for loops</li>
</ul>

<p>Mario Kleiner (1):</p>
<ul>
  <li>mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.</li>
</ul>

<p>Peter Clifton (1):</p>
<ul>
  <li>intel: Fix emit_linear_blit to use DWORD aligned width blits</li>
</ul>

<p>Robert Hooker (2):</p>
<ul>
  <li>intel: Add a new B43 pci id.</li>
  <li>egl_dri2: Add missing intel chip ids.</li>
</ul>

<p>Roland Scheidegger (1):</p>
<ul>
  <li>r200: fix r200 large points</li>
</ul>

<p>Thomas Hellstrom (17):</p>
<ul>
  <li>st/xorg: Don't try to use option values before processing options</li>
  <li>xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers</li>
  <li>st/xorg: Add a customizer option to get rid of annoying cursor update flicker</li>
  <li>xorg/vmwgfx: Don't hide HW cursors when updating them</li>
  <li>st/xorg: Don't try to remove invalid fbs</li>
  <li>st/xorg: Fix typo</li>
  <li>st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments</li>
  <li>st/xorg: Fix compilation errors for Xservers compiled without Composite</li>
  <li>st/xorg: Don't use deprecated x*alloc / xfree functions</li>
  <li>xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions</li>
  <li>st/xorg: Fix compilation for Xservers &gt;= 1.10</li>
  <li>mesa: Make sure we have the talloc cflags when using the talloc headers</li>
  <li>egl: Add an include for size_t</li>
  <li>mesa: Add talloc includes for gles</li>
  <li>st/egl: Fix build for include files in nonstandard places</li>
  <li>svga/drm: Optionally resolve calls to powf during link-time</li>
  <li>gallium/targets: Trivial crosscompiling fix</li>
</ul>

<p>Tom Stellard (7):</p>
<ul>
  <li>r300/compiler: Make sure presubtract sources use supported swizzles</li>
  <li>r300/compiler: Fix register allocator's handling of loops</li>
  <li>r300/compiler: Fix instruction scheduling within IF blocks</li>
  <li>r300/compiler: Use zero as the register index for unused sources</li>
  <li>r300/compiler: Ignore alpha dest register when replicating the result</li>
  <li>r300/compiler: Use correct swizzles for all presubtract sources</li>
  <li>r300/compiler: Don't allow presubtract sources to be remapped twice</li>
</ul>

<p>Vinson Lee (1):</p>
<ul>
  <li>glsl: Fix 'control reaches end of non-void function' warning.</li>
</ul>

<p>richard (1):</p>
<ul>
  <li>r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.</li>
</ul>

</div>
</body>
</html>
