<!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 10.0.1 Release Notes / (December 12, 2013)</h1>

<p>
Mesa 10.0.1 is a bug fix release which fixes bugs found since the 10.0 release.
</p>
<p>
Mesa 10.0.1 implements the OpenGL 3.3 API, but the version reported by
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 3.3.  OpenGL
3.3 is <strong>only</strong> available if requested at context creation
because compatibility contexts not supported.
</p>


<h2>MD5 checksums</h2>
<pre>
0a72ca5b36046a658bf6038326ff32ed  MesaLib-10.0.1.tar.bz2
01bde35c912e504ba62caf1ef9f7022c  MesaLib-10.0.1.tar.gz
59a174a11a89e6b1b8ee9c3f7e3c388c  MesaLib-10.0.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=64323">Bug 64323</a> - Severe misrendering in Left 4 Dead 2</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68838">Bug 68838</a> - GLSL: struct declarations produce a &quot;empty declaration warning&quot; in 9.2</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69155">Bug 69155</a> - [NV50 gallium] [piglit] bin/varying-packing-simple triggers memory corruption/failures</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70250">Bug 70250</a> - weston-terminal rendering corrupted with output transform 90 and 270</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70601">Bug 70601</a> - [SNB Bisected]Piglit spec/ARB_texture_float/multisample-formats 2 GL_ARB_texture_float fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72230">Bug 72230</a> - Unable to extract MesaLib-10.0.0.tar.{gz,bz2} with bsdtar</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72325">Bug 72325</a> - [swrast] piglit glean fbo regression</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72327">Bug 72327</a> - [swrast] piglit glean pointSprite regression</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-10.0..mesa-10.0.1
</pre>

<p>Axel Davy (2):</p>
<ul>
  <li>egl/wayland: Flush the wl_display at the end of SwapBuffers</li>
  <li>Enable throttling in SwapBuffers</li>
</ul>

<p>Chad Versace (2):</p>
<ul>
  <li>i965/hsw: Apply non-msrt fast color clear w/a to all HSW GTs</li>
  <li>i965: Add extra-alignment for non-msrt fast color clear for all hw (v2)</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>swrast: fix readback regression since inversion fix</li>
</ul>

<p>Emil Velikov (1):</p>
<ul>
  <li>automake: include only one copy VERSION in tarball</li>
</ul>

<p>Ian Romanick (3):</p>
<ul>
  <li>docs: Add 10.0 release md5sums</li>
  <li>Remove a057b83 from the pick list</li>
  <li>glsl: Don't emit empty declaration warning for a struct specifier</li>
</ul>

<p>Ilia Mirkin (8):</p>
<ul>
  <li>mesa: don't leak performance monitors on context destroy</li>
  <li>nv50: Fix GPU_READING/WRITING bit removal</li>
  <li>nouveau: avoid leaking fences while waiting</li>
  <li>nv50: wait on the buf's fence before sticking it into pushbuf</li>
  <li>nv50: enable h264 and mpeg4 for nv98+ (vp3, vp4.0)</li>
  <li>nouveau/video: update h264 picparm field names based on usage</li>
  <li>nouveau/video: update a few more h264 picparm field names</li>
  <li>nv50: report 15 max inputs for fragment programs</li>
</ul>

<p>Jordan Justen (1):</p>
<ul>
  <li>dri megadriver_stub: add compatibility for older DRI loaders</li>
</ul>

<p>Kristian Høgsberg (2):</p>
<ul>
  <li>egl/wayland: Damage INT32_MAX x INT32_MAX region for eglSwapBuffers</li>
  <li>egl/wayland: Send commit after flushing the driver context</li>
</ul>

<p>Maarten Lankhorst (1):</p>
<ul>
  <li>nouveau: Fix compiler warning regression</li>
</ul>

<p>Paul Berry (1):</p>
<ul>
  <li>i965/gen6: Fix multisample resolve blits for luminance/intensity 32F formats.</li>
</ul>

<p>Thomas Hellstrom (1):</p>
<ul>
  <li>st/xa: Bump major version number to 2</li>
</ul>

<p>Tom Stellard (2):</p>
<ul>
  <li>r300/compiler/tests: Fix segfault</li>
  <li>r300/compiler/tests: Fix line length check in test parser</li>
</ul>

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