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

<h1>Mesa 8.0.3 Release Notes / May 18, 2012</h1>

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


<h2>MD5 checksums</h2>
<pre>
b7210a6d6e4584bd852ab29294ce717e  MesaLib-8.0.3.tar.gz
cc5ee15e306b8c15da6a478923797171  MesaLib-8.0.3.tar.bz2
32773634a0f7e70a680505a81426eccf  MesaLib-8.0.3.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=28138">Bug 28138</a> - [G45] Regnum Online, sparkling in in-game rendering</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30102">Bug 30102</a> - glean depthStencil test fails BadLength with indirect non-swrast rendering</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40361">Bug 40361</a> - Glitches on X3100 after upgrade to 7.11</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41152">Bug 41152</a> - [glsl] Shader backend in Regnum Online does not work</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41216">Bug 41216</a> - [bisected pineview]oglc filtercubemin(basic.sizedRGBA) fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41372">Bug 41372</a> - i830_state.c PBO crash</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41495">Bug 41495</a> - i830: intel_get_vb_max / intel_batchbuffer_space mismatch.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44701">Bug 44701</a> - Regnum online textures flickering</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44961">Bug 44961</a> - [bisected i965] oglc sRGB(Mipmap.1D_textures) regressed</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44970">Bug 44970</a> - [i965]oglc max_values(negative.textureSize.textureCube) segfaults</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45214">Bug 45214</a> - Textures disappearing or missing in RegnumOnline OpenGL game</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45558">Bug 45558</a> - cannot render on a drawable of size equal the max framebuffer size</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45921">Bug 45921</a> - [r300g, bisected] Multiple piglit regressions after glsl_to_tgsi changes</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46303">Bug 46303</a> - [SNB] segfault in intel_miptree_release()</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46739">Bug 46739</a> - [snb-m-gt2+] compiz crashed with SIGSEGV in intel_miptree_release()</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46834">Bug 46834</a> - small performance when playing flightgear (swrast fallback through GTT mapping)</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47126">Bug 47126</a> - tests/fbo/fbo-array.c:109: create_array_fbo: Assertion `glGetError() == 0' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48218">Bug 48218</a> - brw_fs_schedule_instructions.cpp segfault due to accessing not allocated last_mrf_write[16]</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48545">Bug 48545</a> - LLVMpipe glReadPixels Firefox hits the slow path (WebGL rendering)</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=49124">Bug 49124</a> - swrast/s_texfetch.c:1156: set_fetch_functions: Assertion `texImage-&gt;FetchTexel' failed.</li>

<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </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-8.0.2..mesa-8.0.3
</pre>

<p>Alban Browaeys (1):</p>
<ul>
  <li>dri/i915: Fix off-by-one in i830 clip region size.</li>
</ul>

<p>Alex Deucher (2):</p>
<ul>
  <li>r200: fix fog coordinate emit</li>
  <li>radeon: fix fog coordinate emit</li>
</ul>

<p>Alexander von Gluck (4):</p>
<ul>
  <li>llvmpipe: fix symbol conflict on Haiku</li>
  <li>svga: fix typedef conflicts on Haiku</li>
  <li>mesa: Don't use newlocale on Haiku</li>
  <li>glsl: Don't use newlocale on Haiku</li>
</ul>

<p>Anuj Phogat (4):</p>
<ul>
  <li>mesa: fix issues with texture border and array textures</li>
  <li>mesa: Fix valid texture target test in _mesa_GetTexLevelParameteriv()</li>
  <li>mesa: Fix the cause of piglit test fbo-array failure</li>
  <li>intel: Fix a case when mapping large texture fails</li>
</ul>

<p>Brian Paul (17):</p>
<ul>
  <li>mesa: add a couple fast-paths to fast_read_rgba_pixels_memcpy()</li>
  <li>mesa/gdi: remove wmesa_set_renderbuffer_funcs() function</li>
  <li>mesa/gdi: remove clear_color() function</li>
  <li>mesa: bump version to 8.0.2 in configs/default</li>
  <li>swrast: include s_fragprog.h to silence warnings</li>
  <li>mesa: remove LSB-first pixel packing check in glReadPixels</li>
  <li>mesa: fix error in _mesa_format_matches_format_and_type() for RGB888</li>
  <li>mesa: add BGR888 code in _mesa_format_matches_format_and_type()</li>
  <li>vbo: fix node_attrsz[] usage in vbo_bind_vertex_list()</li>
  <li>mesa: add missing texture integer test in glTexSubImage()</li>
  <li>mesa: add missing return after _mesa_error() in update_array()</li>
  <li>glsl: propagate MaxUnrollIterations to the optimizer's loop unroller</li>
  <li>st/mesa: set MaxUnrollIterations = 255</li>
  <li>st/mesa: no-op glCopyPixels if source region is out of bounds</li>
  <li>mesa: do more teximage error checking for generic compressed formats</li>
  <li>mesa: fix/add error check in _mesa_ColorMaterial()</li>
  <li>mesa: fix glMaterial / dlist bug</li>
</ul>

<p>Chad Versace (3):</p>
<ul>
  <li>glsl: Fix Android build</li>
  <li>main: Fix memory leak in _mesa_make_extension_string()</li>
  <li>intel: Disable ARB_framebuffer_object in ES contexts</li>
</ul>

<p>Chris Wilson (1):</p>
<ul>
  <li>i830: Compute initial number of vertices from remaining batch space</li>
</ul>

<p>Dave Airlie (4):</p>
<ul>
  <li>mesa/format_unpack: add LUMINANCE 8/16 UINT/INT</li>
  <li>glx/drisw: avoid segfaults when we fail to get visual</li>
  <li>drisw: fix image stride calculation for 16-bit.</li>
  <li>intel: fix TFP at 16-bpp</li>
</ul>

<p>Dylan Noblesmith (7):</p>
<ul>
  <li>intel: fix null dereference processing HiZ buffer</li>
  <li>util: fix undefined behavior</li>
  <li>util: fix uninitialized table</li>
  <li>egl: fix uninitialized values</li>
  <li>st/vega: fix uninitialized values</li>
  <li>egl-static: fix printf warning</li>
  <li>i965: fix typo</li>
</ul>

<p>Eric Anholt (19):</p>
<ul>
  <li>i965/fs: Jump from discard statements to the end of the program when done.</li>
  <li>intel: Fix rendering from textures after RenderTexture().</li>
  <li>mesa: Fix handling of glCopyBufferSubData() for src == dst.</li>
  <li>i965/fs: Move GL_CLAMP handling to coordinate setup.</li>
  <li>i965/fs: Implement GL_CLAMP behavior on texture rectangles on gen6+.</li>
  <li>mesa: Fix push/pop of multisample coverage invert.</li>
  <li>mesa: Include the multisample enables under GL_MULTISAMPLE_BIT attrib as well.</li>
  <li>mesa: Fix display list handling for GL_ARB_draw_instanced.</li>
  <li>mesa: Fix display lists for draw_elements_base_vertex with draw_instanced.</li>
  <li>mesa: Add missing error check for first &lt; 0 in glDrawArraysInstanced().</li>
  <li>i915: Fix piglit fbo-nodepth-test on i830.</li>
  <li>intel: Return success when asked to allocate a 0-width/height renderbuffer.</li>
  <li>mesa: Throw error on glGetActiveUniform inside Begin/End.</li>
  <li>i965/vs: Fix up swizzle for dereference_array of matrices.</li>
  <li>glsl: Fix indentation of switch code.</li>
  <li>glsl: Let the constructor figure out the types of switch-related expressions.</li>
  <li>glsl: Reject non-scalar switch expressions.</li>
  <li>glsl: Fix assertion failure on handling switch on uint expressions.</li>
  <li>mesa: Check for framebuffer completeness before looking at the rb.</li>
</ul>

<p>Eugeni Dodonov (1):</p>
<ul>
  <li>intel: add PCI IDs for Ivy Bridge GT2 server variant</li>
</ul>

<p>Han Shen(沈涵) (1):</p>
<ul>
  <li>bin/mklib: remove '-m32' for arm linux</li>
</ul>

<p>Ian Romanick (1):</p>
<ul>
  <li>mesa: Bump version number to 8.0.3</li>
</ul>

<p>Jakob Bornecrantz (1):</p>
<ul>
  <li>docs: Add 8.0.2 md5sums</li>
</ul>

<p>Jeremy Huddleston (7):</p>
<ul>
  <li>darwin: Eliminate a pthread mutex leak</li>
  <li>darwin: Fix an error message</li>
  <li>darwin: Make reported errors more user-friendly</li>
  <li>darwin: Use ASL for logging</li>
  <li>darwin: Unlock our mutex before destroying it</li>
  <li>darwin: Eliminate a possible race condition while destroying a surface</li>
  <li>darwin: Address a build failure on Leopard and earlier OS versions</li>
</ul>

<p>Jon TURNEY (1):</p>
<ul>
  <li>Have __glImageSize handle format GL_DEPTH_STENCIL_NV the same way as the server does</li>
</ul>

<p>Jonas Maebe (2):</p>
<ul>
  <li>glapi: Correct size of allocated _glapi_table struct</li>
  <li>apple: Fix a use after free</li>
</ul>

<p>Jordan Justen (1):</p>
<ul>
  <li>mesa: Add primitive restart support to glArrayElement</li>
</ul>

<p>Kenneth Graunke (12):</p>
<ul>
  <li>i965: Actually upload sampler state pointers for the VS unit on Gen6.</li>
  <li>i965/fs: Fix FB writes that tried to use the non-existent m16 register.</li>
  <li>vbo: Remove pedantic warning about 'end' beind out of bounds.</li>
  <li>vbo: Ignore invalid element ranges which are outside VBO bounds.</li>
  <li>vbo: Rework checking of 'end' against _MaxElement.</li>
  <li>vbo: Eliminate short-circuiting in invalid-start case.</li>
  <li>i965: Fix GPU hangs in the dummy fragment shader.</li>
  <li>i965: Make the dummy fragment shader work in SIMD16 mode.</li>
  <li>drirc: Add force_glsl_extensions_warn workaround for Unigine Heaven.</li>
  <li>i965: Avoid explicit accumulator operands in SIMD16 mode on Gen7.</li>
  <li>intel: Remove pointless software fallback for glBitmap on Gen6.</li>
  <li>glsl: Fix broken constant expression handling for &lt;, &lt;=, &gt;, and &gt;=.</li>
</ul>

<p>Kurt Roeckx (2):</p>
<ul>
  <li>i915: Compute maximum number of verts using the actual batchbuffer size.</li>
  <li>i915: Fix i830 polygon stipple from PBOs.</li>
</ul>

<p>Marek Olšák (5):</p>
<ul>
  <li>r300g/swtcl: don't print an error when getting ClipVertex</li>
  <li>r300g/swtcl: don't enter u_vbuf_mgr</li>
  <li>r300g/swtcl: don't expose shader subroutine support</li>
  <li>r300g/swtcl: fix polygon offset</li>
  <li>r300g/swtcl: fix crash when back color is present in vertex shader</li>
</ul>

<p>Mathias Fröhlich (1):</p>
<ul>
  <li>glsl: Avoid excessive loop unrolling.</li>
</ul>

<p>Matt Turner (1):</p>
<ul>
  <li>Remove -ffast-math from default CFLAGS</li>
</ul>

<p>Paul Berry (1):</p>
<ul>
  <li>i915: Initialize swrast_texture_image structure fields.</li>
</ul>

<p>Roland Scheidegger (1):</p>
<ul>
  <li>mesa: check_index_bounds off-by-one fix</li>
</ul>

<p>Tom Stellard (2):</p>
<ul>
  <li>r300/compiler: Clear loop registers in vertex shaders w/o loops</li>
  <li>r300/compiler: Copy all instruction attributes during local transfoms</li>
</ul>

<p>Vinson Lee (5):</p>
<ul>
  <li>mesa: Fix memory leak in _mesa_get_uniform_location.</li>
  <li>linker: Fix memory leak in count_uniform_size::visit_field.</li>
  <li>swrast: Fix memory leaks in blit_linear.</li>
  <li>ir_to_mesa: Fix uninitialized member in add_uniform_to_shader.</li>
  <li>mesa: Fix memory leak in generate_mipmap_compressed.</li>
</ul>

<p>Yuanhan Liu (2):</p>
<ul>
  <li>i915: set SPRITE_POINT_ENABLE bit correctly</li>
  <li>i965: fix wrong cube/3D texture layout</li>
</ul>

</body>
</html>
