<!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 10.5.6 Release Notes / May 23, 2015</h1>

<p>
Mesa 10.5.6 is a bug fix release which fixes bugs found since the 10.5.5 release.
</p>
<p>
Mesa 10.5.6 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 are not supported.
</p>


<h2>SHA256 checksums</h2>
<pre>
89ff9cb08d0f6e3f34154864c3071253057cd21020759457c8ae27e0f70985d3  mesa-10.5.6.tar.gz
66017853bde5f7a6647db3eede30512a091a3491daa1708e0ad8027c328ba595  mesa-10.5.6.tar.xz
</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=86792">Bug 86792</a> - [NVC0] Portal 2 Crashes in Wine</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90147">Bug 90147</a> - swrast: build error undeclared _SC_PHYS_PAGES on osx</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90350">Bug 90350</a> - [G96] Portal's portal are incorrectly rendered</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90363">Bug 90363</a> - [nv50] HW state is not reset correctly when using a new GL context</li>

</ul>


<h2>Changes</h2>

<p>Alex Deucher (1):</p>
<ul>
  <li>radeonsi: add new bonaire pci id</li>
</ul>

<p>Axel Davy (2):</p>
<ul>
  <li>egl/wayland: properly destroy wayland objects</li>
  <li>glx/dri3: Add additional check for gpu offloading case</li>
</ul>

<p>Emil Velikov (4):</p>
<ul>
  <li>docs: Add sha256 sums for the 10.5.5 release</li>
  <li>egl/main: fix EGL_KHR_get_all_proc_addresses</li>
  <li>targets/osmesa: drop the -module tag from LDFLAGS</li>
  <li>Update version to 10.5.6</li>
</ul>

<p>Francisco Jerez (4):</p>
<ul>
  <li>clover: Refactor event::trigger and ::abort to prevent deadlock and reentrancy issues.</li>
  <li>clover: Wrap event::_status in a method to prevent unlocked access.</li>
  <li>clover: Implement locking of the wait_count, _chain and _status members of event.</li>
  <li>i965: Fix PBO cache coherency issue after _mesa_meta_pbo_GetTexSubImage().</li>
</ul>

<p>Fredrik Höglund (2):</p>
<ul>
  <li>main: Require that the texture exists in framebuffer_texture</li>
  <li>mesa: Generate GL_INVALID_VALUE in framebuffer_texture when layer &lt; 0</li>
</ul>

<p>Ilia Mirkin (7):</p>
<ul>
  <li>nv50/ir: only propagate saturate up if some actual folding took place</li>
  <li>nv50: keep track of PGRAPH state in nv50_screen</li>
  <li>nvc0: keep track of PGRAPH state in nvc0_screen</li>
  <li>nvc0: reset the instanced elements state when doing blit using 3d engine</li>
  <li>nv50/ir: only enable mul saturate on G200+</li>
  <li>st/mesa: make sure to create a "clean" bool when doing i2b</li>
  <li>nvc0: switch mechanism for shader eviction to be a while loop</li>
</ul>

<p>Jeremy Huddleston Sequoia (2):</p>
<ul>
  <li>swrast: Build fix for darwin</li>
  <li>darwin: Fix install name of libOSMesa</li>
</ul>

<p>Laura Ekstrand (2):</p>
<ul>
  <li>main: Fix an error generated by FramebufferTexture</li>
  <li>main: Complete error conditions for glInvalidate*Framebuffer.</li>
</ul>

<p>Marta Lofstedt (1):</p>
<ul>
  <li>main: glGetIntegeri_v fails for GL_VERTEX_BINDING_STRIDE</li>
</ul>

<p>Rob Clark (2):</p>
<ul>
  <li>freedreno: enable a306</li>
  <li>freedreno: fix bug in tile/slot calculation</li>
</ul>

<p>Roland Scheidegger (1):</p>
<ul>
  <li>draw: (trivial) fix out-of-bounds vector initialization</li>
</ul>

<p>Tim Rowley (1):</p>
<ul>
  <li>mesa: fix shininess check for ffvertex_prog v2</li>
</ul>

<p>Tom Stellard (2):</p>
<ul>
  <li>clover: Add a mutex to guard queue::queued_events</li>
  <li>clover: Fix a bug with multi-threaded events v2</li>
</ul>


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