<!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">
  The Mesa 3D Graphics Library
</div>

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

<h1>Mesa 8.0.2 Release Notes / March 21, 2012</h1>

<p>
Mesa 8.0.2 is a bug fix release which fixes bugs found since the 8.0.1 release.
</p>
<p>
Mesa 8.0.2 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>
70eb3dc74fbfcd72f6776268ee1db52e  MesaLib-8.0.2.tar.gz
a368104e5700707048dc3e8691a9a7a1  MesaLib-8.0.2.tar.bz2
d5e5cdb85d2afdbcd1c0623d3ed1c54d  MesaLib-8.0.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=38720">Bug 38720</a> - [SNB] Trine triggers a GPU hang</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40059">Bug 40059</a> - [SNB] hang in "Amnesia: The Dark Descent" demo</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45216">Bug 45216</a> - [SNB] GPU hang in OilRush</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46631">Bug 46631</a> - It's really hard to hit the fast path for the fallback glReadPixels code</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46679">Bug 46679</a> - glReadPixels on a luminance texture returns the wrong values</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46311">Bug 46311</a> - Missing support of point size in Mesa core</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46665">Bug 46665</a> - [PNV] webgl conformance case max texture fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45975">Bug 45975</a> - [Gen4 + ILK] render with pointcoord will fail to render</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46666">Bug 46666</a> - [PNV] webgl conformance case NPOT case fails with TEXTURE_MIN_FILTER set to LINEAR</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.1..mesa-8.0.2
</pre>

<p>Brian Paul (7):</p>
<ul>
      <li>svga: add null vs pointer check in update_need_pipeline()</li>
      <li>util: add mutex lock in u_debug_memory.c code</li>
      <li>mesa: add _mesa_rebase_rgba_float/uint() functions</li>
      <li>mesa: use _mesa_rebase_rgba_float/uint() in glReadPixels code</li>
      <li>mesa: use _mesa_rebase_rgba_float/uint() in glGetTexImage code</li>
      <li>mesa: fix GL_LUMINANCE handling in glGetTexImage</li>
      <li>docs: add links to 8.0.1 release notes</li>
</ul>

<p>Daniel Vetter (1):</p>
<ul>
      <li>i965: fixup W-tile offset computation to take swizzling into account</li>
</ul>

<p>Dylan Noblesmith (1):</p>
<ul>
      <li>mesa: add back glGetnUniform*v() overflow error reporting</li>
</ul>

<p>Ian Romanick (1):</p>
<ul>
      <li>docs: Add 8.0.1 release md5sums</li>
</ul>

<p>Jakob Bornecrantz (3):</p>
<ul>
      <li>mesa: Include mesa ES mapi generated files</li>
      <li>mesa: Bump version number to 8.0.2</li>
      <li>docs: Add 8.0.2 release notes</li>
</ul>

<p>Jeremy Huddleston (3):</p>
<ul>
      <li>darwin: config file cleanups</li>
      <li>darwin: Build create_context.c</li>
      <li>darwin: Link against libxcb</li>
</ul>

<p>José Fonseca (1):</p>
<ul>
      <li>svga: Clamp advertised PIPE_SHADER_CAP_MAX_TEMPS to SVGA3D_TEMPREG_MAX.</li>
</ul>

<p>Kenneth Graunke (2):</p>
<ul>
      <li>i965: Only set Last Render Target Select on the last FB write.</li>
      <li>i965: Fix Gen6+ dynamic state upper bound on older kernels.</li>
</ul>

<p>Marek Olšák (1):</p>
<ul>
      <li>gallium/rtasm: properly detect SSE and SSE2</li>
</ul>

<p>Neil Roberts (1):</p>
<ul>
      <li>mesa: Don't disable fast path for normalized types</li>
</ul>

<p>Tom Stellard (1):</p>
<ul>
      <li>r300/compiler: Fix bug when lowering KILP on r300 cards</li>
</ul>

<p>Yuanhan Liu (6):</p>
<ul>
      <li>mesa: let GL3 buf obj queries not depend on opengl major version</li>
      <li>tnl: let _TNL_ATTRIB_POINTSIZE do not depend on ctx-&gt;VertexProgram._Enabled</li>
      <li>i915: fix wrong rendering of gl_PointSize on Pineview</li>
      <li>i915: move the FALLBACK_DRAW_OFFSET check outside the drawing rect check</li>
      <li>i965: handle gl_PointCoord for Gen4 and Gen5 platforms</li>
      <li>i915: fallback for NPOT cubemap texture</li>
</ul>

<p>Zack Rusin (3):</p>
<ul>
      <li>svga: fix a crash happening before setting fragment shaders.</li>
      <li>svga: Fix stencil op mapping</li>
      <li>svga: fix the rasterizer state resets</li>
</ul>

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