<!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.10.2 Release Notes / April 6, 2011</h1>

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


<h2>MD5 checksums</h2>
<pre>
2f9f444265534a2cfd9a99d1a8291089  MesaLib-7.10.2.tar.gz
f5de82852f1243f42cc004039e10b771  MesaLib-7.10.2.tar.bz2
47836e37bab6fcafe3ac90c9544ba0e9  MesaLib-7.10.2.zip
175120325828f313621cc5bc6c504803  MesaGLUT-7.10.2.tar.gz
8c71d273f5f8d6c5eda4ffc39e0fe03e  MesaGLUT-7.10.2.tar.bz2
03036c8efe7b791a90fa0f2c41b43f43  MesaGLUT-7.10.2.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=29172">Bug 29172</a> - Arrandale - Pill Popper Pops Pills</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31159">Bug 31159</a> - shadow problem in 0ad game</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32688">Bug 32688</a> - [RADEON:KMS:R300G] some games have a wireframe or outline visible</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32949">Bug 32949</a> - [glsl wine] Need for Speed renders incorrectly with GLSL enabled</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34203">Bug 34203</a> - [GLSL] fail to call long chains across shaders</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34376">Bug 34376</a> - [GLSL] allowing assignment to unsized array
  <ul>
    <li>The commit message incorrectly
    lists <a href="https://bugs.freedesktop.org/show_bug.cgi?id=34367">bug
    34367</a>.</li>
  </ul>
</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34370">Bug 34370</a> - [GLSL] "i&lt;5 &amp;&amp; i&lt;4" in for loop fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34374">Bug 34374</a> - [GLSL] fail to redeclare an array using initializer</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35073">Bug 35073</a> - [GM45] Alpha test is broken when rendering to FBO with no color attachment</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35483">Bug 35483</a> - util_blit_pixels_writemask: crash in line 322 of src/gallium/auxiliary/util/u_blit.c</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-7.10.1..mesa-7.10.2
</pre>

<p><em>Note:</em> Reverted commits and the reverts are not included in this list.</p>

<p>Alex Deucher (2):</p>
<ul>
  <li>r600c: add new ontario pci ids</li>
  <li>r600g: add some additional ontario pci ids</li>
</ul>

<p>Benjamin Franzke (1):</p>
<ul>
  <li>st/dri: Fix surfaceless gl using contexts with previous bound surfaces</li>
</ul>

<p>Brian Paul (9):</p>
<ul>
  <li>docs: pull 7.9.2 release notes into 7.10 branch</li>
  <li>docs: update news.html with 7.10.1 and 7.9.2 releases</li>
  <li>docs: fill in 7.10.1 release data</li>
  <li>docs: add, fix release notes links</li>
  <li>docs: update info about Mesa packaging/contents</li>
  <li>docs: update prerequisites, remove old demo info</li>
  <li>mesa: Guard against null pointer deref in fbo validation</li>
  <li>st/mesa: Apply LOD bias from correct texture unit</li>
  <li>glsl: silence warning in printf() with a cast</li>
</ul>

<p>Chad Versace (1):</p>
<ul>
  <li>i965: Fix tex_swizzle when depth mode is GL_RED</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>r600: don't close fd on failed load</li>
</ul>

<p>Eric Anholt (2):</p>
<ul>
  <li>i965: Apply a workaround for the Ironlake "vertex flashing".</li>
  <li>i965: Fix alpha testing when there is no color buffer in the FBO.</li>
</ul>

<p>Fabian Bieler (1):</p>
<ul>
  <li>st/mesa: Apply LOD from texture object</li>
</ul>

<p>Henri Verbeet (1):</p>
<ul>
  <li>st/mesa: Validate state before doing blits.</li>
</ul>

<p>Ian Romanick (13):</p>
<ul>
  <li>docs: Add 7.10.1 md5sums</li>
  <li>glsl: Refactor AST-to-HIR code handling variable initializers</li>
  <li>glsl: Refactor AST-to-HIR code handling variable redeclarations</li>
  <li>glsl: Process redeclarations before initializers</li>
  <li>glsl: Function signatures cannot have NULL return type</li>
  <li>glsl: Add several function / call related validations</li>
  <li>linker: Add imported functions to the linked IR</li>
  <li>glsl: Use insert_before for lists instead of open coding it</li>
  <li>glsl: Only allow unsized array assignment in an initializer</li>
  <li>glcpp: Refresh autogenerated lexer files</li>
  <li>docs: Initial bits of 7.10.2 release notes</li>
  <li>mesa: set version string to 7.10.2</li>
  <li>mesa: Remove nonexistant files from _FILES lists</li>
</ul>

<p>Jerome Glisse (1):</p>
<ul>
  <li>r600g: move user fence into base radeon structure</li>
</ul>

<p>José Fonseca (2):</p>
<ul>
  <li>mesa: Fix typo glGet*v(GL_TEXTURE_COORD_ARRAY_*).</li>
  <li>mesa: More glGet* fixes.</li>
</ul>

<p>Kenneth Graunke (4):</p>
<ul>
  <li>glcpp: Rework lexer to use a SKIP state rather than REJECT.</li>
  <li>glcpp: Remove trailing contexts from #if rules.</li>
  <li>i965/fs: Fix linear gl_Color interpolation on pre-gen6 hardware.</li>
  <li>glsl: Accept precision qualifiers on sampler types, but only in ES.</li>
</ul>

<p>Marek Olšák (15):</p>
<ul>
  <li>st/mesa: fix crash when DrawBuffer-&gt;_ColorDrawBuffers[0] is NULL</li>
  <li>st/mesa: fail to alloc a renderbuffer if st_choose_renderbuffer_format fails</li>
  <li>r300/compiler: fix the saturate modifier when applied to TEX instructions</li>
  <li>r300/compiler: fix translating the src negate bits in pair_translate</li>
  <li>r300/compiler: Abs doesn't cancel Negate (in the conversion to native swizzles)</li>
  <li>r300/compiler: TEX instructions don't support negation on source arguments</li>
  <li>r300/compiler: do not set TEX_IGNORE_UNCOVERED on r500</li>
  <li>r300/compiler: saturate Z before the shadow comparison</li>
  <li>r300/compiler: fix equal and notequal shadow compare functions</li>
  <li>r300/compiler: remove unused variables</li>
  <li>st/mesa: fix crash when using both user and vbo buffers with the same stride</li>
  <li>r300g: fix alpha-test with no colorbuffer</li>
  <li>r300g: tell the GLSL compiler to lower the continue opcode</li>
  <li>r300/compiler: propagate SaturateMode down to the result of shadow comparison</li>
  <li>r300/compiler: apply the texture swizzle to shadow pass and fail values too</li>
</ul>

<p>Michel Dänzer (1):</p>
<ul>
  <li>Use proper source row stride when getting depth/stencil texels.</li>
</ul>

<p>Tom Stellard (4):</p>
<ul>
  <li>r300/compiler: Use a 4-bit writemask in pair instructions</li>
  <li>prog_optimize: Fix reallocating registers for shaders with loops</li>
  <li>r300/compiler: Fix vertex shader MAD instructions with constant swizzles</li>
  <li>r300/compiler: Don't try to convert RGB to Alpha in full instructions</li>
</ul>

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