<!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.9 Release Notes / July 04, 2015</h1>

<p>
Mesa 10.5.9 is a bug fix release which fixes bugs found since the 10.5.8 release.
</p>
<p>
Mesa 10.5.9 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>
0c081b59572ee9732e7438d34adc3817fe8cc8d4b58abc0e71fd4b4c904945cb  mesa-10.5.9.tar.gz
71c69f31d3dbc35cfa79950e58a01d27030378d8c7ef1259a0b31d4d0487f4ec  mesa-10.5.9.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=84225">Bug 84225</a> - Allow constant-index-expression sampler array indexing with GLSL-ES &lt; 300</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88999">Bug 88999</a> - [SKL] Compiz crashes after opening unity dash</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89118">Bug 89118</a> - [SKL Bisected]many Ogles3conform cases core dumped</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90537">Bug 90537</a> - radeonsi bo/va conflict on RADEON_GEM_VA (rscreen-&gt;ws-&gt;buffer_from_handle returns NULL)</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90839">Bug 90839</a> - [10.5.5/10.6 regression, bisected] PBO glDrawPixels no longer using blit fastpath</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90873">Bug 90873</a> - Kernel hang, TearFree On, Mate desktop environment</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91056">Bug 91056</a> - The Bard's Tale (2005, native)  has rendering issues</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91117">Bug 91117</a> - Nimbus (running in wine) has rendering issues, objects are semi-transparent</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91124">Bug 91124</a> - Civilization V (in Wine) has rendering issues: text missing, menu bar corrupted</li>

</ul>


<h2>Changes</h2>

<p>Ben Widawsky (2):</p>
<ul>
  <li>i965/gen9: Implement Push Constant Buffer workaround</li>
  <li>i965/skl: Use 1 register for uniform pull constant payload</li>
</ul>

<p>Boyan Ding (1):</p>
<ul>
  <li>egl/x11: Remove duplicate call to dri2_x11_add_configs_for_visuals</li>
</ul>

<p>Chris Wilson (3):</p>
<ul>
  <li>i965: Fix HW blitter pitch limits</li>
  <li>i915: Blit RGBX&lt;-&gt;RGBA drawpixels</li>
  <li>i965: Export format comparison for blitting between miptrees</li>
</ul>

<p>Emil Velikov (6):</p>
<ul>
  <li>docs: Add sha256sums for the 10.5.8 release</li>
  <li>configure: warn about shared_glapi &amp; xlib-glx only when both are set</li>
  <li>configure: error out when building backend-less libEGL</li>
  <li>configure: error out when building libEGL without shared-glapi</li>
  <li>gbm: do not (over)link against libglapi.so</li>
  <li>Update version to 10.5.9</li>
</ul>

<p>Frank Henigman (1):</p>
<ul>
  <li>gbm: dlopen libglapi so gbm_create_device works</li>
</ul>

<p>Ilia Mirkin (8):</p>
<ul>
  <li>glsl: add version checks to conditionals for builtin variable enablement</li>
  <li>mesa: add GL_PROGRAM_PIPELINE support in KHR_debug calls</li>
  <li>glsl: binding point is a texture unit, which is a combined space</li>
  <li>nvc0: always put all tfb bufs into bufctx</li>
  <li>nv50,nvc0: make sure to pushbuf_refn before putting bo into pushbuf_data</li>
  <li>nv50/ir: propagate modifier to right arg when const-folding mad</li>
  <li>nv50/ir: fix emission of address reg in 3rd source</li>
  <li>nv50/ir: copy joinAt when splitting both before and after</li>
</ul>

<p>Mario Kleiner (2):</p>
<ul>
  <li>nouveau: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads.</li>
  <li>winsys/radeon: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads.</li>
</ul>

<p>Michel Dänzer (1):</p>
<ul>
  <li>winsys/radeon: Unmap GPU VM address range when destroying BO</li>
</ul>

<p>Tapani Pälli (6):</p>
<ul>
  <li>glsl: Allow dynamic sampler array indexing with GLSL ES &lt; 3.00</li>
  <li>mesa/glsl: new compiler option EmitNoIndirectSampler</li>
  <li>i915: use EmitNoIndirectSampler</li>
  <li>mesa/st: use EmitNoIndirectSampler if !ARB_gpu_shader5</li>
  <li>i965: use EmitNoIndirectSampler for gen &lt; 7</li>
  <li>glsl: validate sampler array indexing for 'constant-index-expression'</li>
</ul>


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