<!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.5.2 Release Notes / March 28, 2015</h1>

<p>
Mesa 10.5.2 is a bug fix release which fixes bugs found since the 10.5.1 release.
</p>
<p>
Mesa 10.5.2 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>
755220e160a9f22fda0dffd47746f997b6e196d03f8edc390df7793aecaaa541  mesa-10.5.2.tar.gz
2f4b6fb77c3e7d6f861558d0884a3073f575e1e673dad8d1b0624e78e9c4dd44  mesa-10.5.2.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=88534">Bug 88534</a> - include/c11/threads_posix.h PTHREAD_MUTEX_RECURSIVE_NP not defined</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89328">Bug 89328</a> - python required to build Mesa release tarballs</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89530">Bug 89530</a> - FTBFS in loader: missing fstat</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89590">Bug 89590</a> - Crash in glLinkProgram with shaders with multiple constant arrays</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89680">Bug 89680</a> - Hard link exist in Mesa 10.5.1 sources</li>

</ul>


<h2>Changes</h2>

<p>Anuj Phogat (1):</p>
<ul>
  <li>glsl: Generate link error for non-matching gl_FragCoord redeclarations</li>
</ul>

<p>Emil Velikov (7):</p>
<ul>
  <li>docs: Add sha256 sums for the 10.5.1 release</li>
  <li>automake: add missing egl files to the tarball</li>
  <li>st/egl: don't ship the dri2.c link at the tarball</li>
  <li>loader: include &lt;sys/stat.h&gt; for non-sysfs builds</li>
  <li>auxiliary/os: fix the android build - s/drm_munmap/os_munmap/</li>
  <li>cherry-ignore: add commit non applicable for 10.5</li>
  <li>Update version to 10.5.2</li>
</ul>

<p>Felix Janda (1):</p>
<ul>
  <li>c11/threads: Use PTHREAD_MUTEX_RECURSIVE by default</li>
</ul>

<p>Francisco Jerez (1):</p>
<ul>
  <li>i965: Set nr_params to the number of uniform components in the VS/GS path.</li>
</ul>

<p>Ilia Mirkin (2):</p>
<ul>
  <li>freedreno/a3xx: use the same layer size for all slices</li>
  <li>freedreno: fix slice pitch calculations</li>
</ul>

<p>Marek Olšák (1):</p>
<ul>
  <li>radeonsi: increase coords array size for radeon_llvm_emit_prepare_cube_coords</li>
</ul>

<p>Mario Kleiner (2):</p>
<ul>
  <li>glx: Handle out-of-sequence swap completion events correctly. (v2)</li>
  <li>mapi: Make private copies of name strings provided by client.</li>
</ul>

<p>Rob Clark (1):</p>
<ul>
  <li>freedreno: update generated headers</li>
</ul>

<p>Samuel Iglesias Gonsalvez (2):</p>
<ul>
  <li>glsl: optimize (0 cmp x + y) into (-x cmp y).</li>
  <li>configure: Introduce new output variable to ax_check_python_mako_module.m4</li>
</ul>

<p>Tapani Pälli (1):</p>
<ul>
  <li>glsl: fix names in lower_constant_arrays_to_uniforms</li>
</ul>

<p>Tom Stellard (1):</p>
<ul>
  <li>clover: Return 0 as storage size for local kernel args that are not set v2</li>
</ul>


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