<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
meta http-equiv="content-type" content="text/html; charset=utf-8">
<
link rel="stylesheet" type="text/css" href="../mesa.css">
<
h1>The Mesa 3D Graphics Library<
/h1>
<
h1>Mesa 7.9.1 Release Notes
/ January
7,
2011<
/h1>
Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9 release.
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 && stfb->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->base_type >= 0) && (type->base_type <= 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 >
= 1) &&
(size <
= 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->operands[i]->type->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>
<
p>The full set of changes can be viewed by using the following GIT command:<
/p>
git log mesa-7.9..mesa-7.9.1
<
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>
<
p>Aras Pranckevicius
(2):<
/p>
<
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>
<
p>Fabian Bieler
(1):<
/p>
<
li>glsl: fix lowering conditional returns in subroutines<
/li>
<
p>Francisco Jerez
(3):<
/p>
<
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>
<
p>Julien Cristau
(1):<
/p>
<
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 >= 1.30.</li>
<li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
<li>glsl: Fix constant expression handling for <, >, <=, >= 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>
<
p>Luca Barbieri
(1):<
/p>
<
li>glsl: Unroll loops with conditional breaks anywhere
(not just the end
)<
/li>
<
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>
<
p>Mario Kleiner
(1):<
/p>
<
li>mesa
/r300classic: Fix dri2Invalidate
/radeon_prepare_render
for page flipping.<
/li>
<
p>Peter Clifton
(1):<
/p>
<
li>intel: Fix emit_linear_blit to use DWORD aligned
width blits<
/li>
<
p>Robert Hooker
(2):<
/p>
<
li>intel: Add a new B43 pci
id.<
/li>
<
li>egl_dri2: Add missing intel chip ids.<
/li>
<
p>Roland Scheidegger
(1):<
/p>
<
li>r200: fix r200 large points<
/li>
<
p>Thomas Hellstrom
(17):<
/p>
<
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 >= 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>