<!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.3 Release Notes / April 12, 2015</h1>

<p>
Mesa 10.5.3 is a bug fix release which fixes bugs found since the 10.5.2 release.
</p>
<p>
Mesa 10.5.3 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>
2371b8e210ccd19f61dd94b6664d612e5a479ba7d431a074512d87633bd6aeb4  mesa-10.5.3.tar.gz
8701ee1be4f5c03238f5e63c1a9bd4cc03a2f6c0155ed42a1ae7d58f18912ba2  mesa-10.5.3.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=83962">Bug 83962</a> - [HSW/BYT]Piglit spec_ARB_gpu_shader5_arb_gpu_shader5-emitstreamvertex_nodraw fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89679">Bug 89679</a> - [NV50] Portal/Half-Life 2 will not start (native Steam)</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89746">Bug 89746</a> - Mesa and LLVM 3.6+ break opengl for genymotion</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89754">Bug 89754</a> - vertexAttrib fails WebGL Conformance test with mesa drivers</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89758">Bug 89758</a> - pow WebGL Conformance test with mesa drivers</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89759">Bug 89759</a> - WebGL OGL ES GLSL conformance test with mesa drivers fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89905">Bug 89905</a> - scons build broken on 10.5.2 due to activated vega st</li>

</ul>

<h2>Changes</h2>

<p>Dave Airlie (1):</p>
<ul>
  <li>st_glsl_to_tgsi: only do mov copy propagation on temps (v2)</li>
</ul>

<p>Emil Velikov (5):</p>
<ul>
  <li>docs: Add sha256 sums for the 10.5.2 release</li>
  <li>xmlpool: don't forget to ship the MOS</li>
  <li>configure.ac: error out if python/mako is not found when required</li>
  <li>dist: add the VG depedencies into the tarball</li>
  <li>Update version to 10.5.3</li>
</ul>

<p>Iago Toral Quiroga (1):</p>
<ul>
  <li>i965: Do not render primitives in non-zero streams then TF is disabled</li>
</ul>

<p>Ilia Mirkin (7):</p>
<ul>
  <li>st/mesa: update arrays when the current attrib has been updated</li>
  <li>nv50/ir: take postFactor into account when doing peephole optimizations</li>
  <li>nv50/ir/gk110: fix offset flag position for TXD opcode</li>
  <li>freedreno/a3xx: fix 3d texture layout</li>
  <li>freedreno/a3xx: point size should not be divided by 2</li>
  <li>nv50: allocate more offset space for occlusion queries</li>
  <li>nv50,nvc0: limit the y-tiling of 3d textures to the first level's tiling</li>
</ul>

<p>Kenneth Graunke (2):</p>
<ul>
  <li>i965: Fix instanced geometry shaders on Gen8+.</li>
  <li>i965: Add forgotten multi-stream code to Gen8 SOL state.</li>
</ul>

<p>Marcin Ślusarz (1):</p>
<ul>
  <li>nouveau: synchronize "scratch runout" destruction with the command stream</li>
</ul>

<p>Michel Dänzer (1):</p>
<ul>
  <li>radeonsi: Cache LLVMTargetMachineRef in context instead of in screen</li>
</ul>

<p>Tom Stellard (1):</p>
<ul>
  <li>clover: Return CL_BUILD_ERROR for CL_PROGRAM_BUILD_STATUS when compilation fails v2</li>
</ul>

<p>Ville Syrjälä (1):</p>
<ul>
  <li>i965: Fix URB size for CHV</li>
</ul>


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