<!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 17.2.8 Release Notes / December 22, 2017</h1>

<p>
Mesa 17.2.8 is a bug fix release which fixes bugs found since the 17.2.7 release.
</p>
<p>
Mesa 17.2.8 implements the OpenGL 4.5 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 4.5.  OpenGL
4.5 is <strong>only</strong> available if requested at context creation
because compatibility contexts are not supported.
</p>


<h2>SHA256 checksums</h2>
<pre>
c715c3a3d6fe26a69c096f573ec416e038a548f0405e3befedd5136517527a84  mesa-17.2.8.tar.gz
6e940345cceaadfd805d701ed2b956589fa77fe8c39991da30ed51ea6b9d095f  mesa-17.2.8.tar.xz
</pre>


<h2>New features</h2>
<p>None</p>


<h2>Bug fixes</h2>

<ul>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=102710">Bug 102710</a> - vkCmdBlitImage with arrayLayers &gt; 1 fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=103007">Bug 103007</a> - [OpenGL CTS] [HSW] KHR-GL45.gpu_shader_fp64.fp64.max_uniform_components fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=103544">Bug 103544</a> - Graphical glitches r600 in game this war of mine linux native</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=103579">Bug 103579</a> - Vertex shader causes compiler to crash in SPIRV-to-NIR</li>

</ul>


<h2>Changes</h2>

<p>Andres Gomez (6):</p>
<ul>
  <li>cherry-ignore: swr: Fix KNOB_MAX_WORKER_THREADS thread creation override.</li>
  <li>cherry-ignore: added 17.3 nominations.</li>
  <li>cherry-ignore: radv: port merge tess info from anv</li>
  <li>cherry-ignore: main: Clear shader program data whenever ProgramBinary is called</li>
  <li>cherry-ignore: r600: set DX10_CLAMP for compute shader too</li>
  <li>Update version to 17.2.8</li>
</ul>

<p>Bas Nieuwenhuizen (2):</p>
<ul>
  <li>spirv: Fix loading an entire block at once.</li>
  <li>radv: Fix multi-layer blits.</li>
</ul>

<p>Brian Paul (2):</p>
<ul>
  <li>xlib: call _mesa_warning() instead of fprintf()</li>
  <li>gallium/aux: include nr_samples in util_resource_size() computation</li>
</ul>

<p>Emil Velikov (1):</p>
<ul>
  <li>docs: add sha256 checksums for 17.2.7</li>
</ul>

<p>Iago Toral Quiroga (1):</p>
<ul>
  <li>i965/vec4: use a temp register to compute offsets for pull loads</li>
</ul>

<p>Leo Liu (1):</p>
<ul>
  <li>radeon/vce: move destroy command before feedback command</li>
</ul>

<p>Matt Turner (2):</p>
<ul>
  <li>util: Assume little endian in the absence of platform-specific handling</li>
  <li>util: Add a SHA1 unit test program</li>
</ul>

<p>Roland Scheidegger (2):</p>
<ul>
  <li>r600: use min_dx10/max_dx10 instead of min/max</li>
  <li>r600: use DX10_CLAMP bit in shader setup</li>
</ul>


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