<!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.0.3 Release Notes / April 1, 2017</h1>

<p>
Mesa 17.0.3 is a bug fix release which fixes bugs found since the 17.0.2 release.
</p>
<p>
Mesa 17.0.3 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>
8253edf1bdd7b14ab63d5982349143a5c9ac3767f39a63257cc9d7e7d92f60f1  mesa-17.0.3.tar.gz
ca646f5075a002d60ef9123c8a4331cede155c01712ef945a65c59a5e69fe7ed  mesa-17.0.3.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=96743">Bug 96743</a> - [BYT, HSW, SKL, BXT, KBL] GPU hangs with GfxBench 4.0 CarChase</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99246">Bug 99246</a> - [d3dadapter+radeonsi &amp; bisect] EVE-Online : hang on wormhole sight</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=100061">Bug 100061</a> - LODQ instruction generated with invalid dst mask</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=100182">Bug 100182</a> - Flickering in The Talos Principle on Sky Lake GT4.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=100201">Bug 100201</a> - Windows scons build with MSVC toolchain and LLVM 4.0 fails</li>

</ul>


<h2>Changes</h2>

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

<p>Andres Gomez (5):</p>
<ul>
  <li>glsl: on UBO/SSBOs link error reset the number of active blocks to 0</li>
  <li>cherry-ignore: add the Invalidate L2 for TRANSFER_WRITE barriers fix</li>
  <li>cherry-ignore: add the Flush after unmap in gbm/dri fix</li>
  <li>cherry-ignore: corrected typo in the Flush after unmap in gbm/dri fix</li>
  <li>Update version to 17.0.3</li>
</ul>

<p>Axel Davy (2):</p>
<ul>
  <li>st/nine: Resolve deadlock in surface/volume dtors when using csmt</li>
  <li>st/nine: Use atomics for available_texture_mem</li>
</ul>

<p>Bas Nieuwenhuizen (1):</p>
<ul>
  <li>radv: flush DB cache before and after HTILE decompress.</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>radv: fix primitive reset index emission</li>
</ul>

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

<p>Ilia Mirkin (1):</p>
<ul>
  <li>st/mesa: set result writemask based on ir type</li>
</ul>

<p>Jan Vesely (1):</p>
<ul>
  <li>clover: use pipe_resource references</li>
</ul>

<p>Jason Ekstrand (9):</p>
<ul>
  <li>anv/query: Invalidate the correct range</li>
  <li>anv/GetQueryPoolResults: Actually implement the spec</li>
  <li>anv/image: Return early when unbinding an image</li>
  <li>anv/query: Fix the location of timestamp availability</li>
  <li>anv: Make anv_get_layerCount a macro</li>
  <li>anv/blorp: Use anv_get_layerCount everywhere</li>
  <li>anv/cmd_buffer: Apply flush operations prior to executing secondaries</li>
  <li>anv/cmd_buffer: Fix bad indentation</li>
  <li>anv: Flush caches prior to PIPELINE_SELECT on all gens</li>
</ul>

<p>José Fonseca (1):</p>
<ul>
  <li>c11/threads: Include thr/xtimec.h for xtime definition when building with MSVC.</li>
</ul>

<p>Juan A. Suarez Romero (1):</p>
<ul>
  <li>tests/cache_test: allow crossing mount points</li>
</ul>

<p>Karol Herbst (1):</p>
<ul>
  <li>nvc0/ir: treat FMA like MAD for operand propagation</li>
</ul>

<p>Kenneth Graunke (1):</p>
<ul>
  <li>i965: Fall back to GL 4.2/4.3 on Haswell if the kernel isn't new enough.</li>
</ul>

<p>Marek Olšák (1):</p>
<ul>
  <li>radeonsi: don't hang on shader compile failure</li>
</ul>

<p>Matt Turner (1):</p>
<ul>
  <li>i965/fs: Don't emit SEL instructions for type-converting MOVs.</li>
</ul>

<p>Nanley Chery (1):</p>
<ul>
  <li>intel: Correct the BDW surface state size</li>
</ul>

<p>Nicolai Hähnle (1):</p>
<ul>
  <li>mesa/main: fix MultiDrawElements[BaseVertex] validation of primcount</li>
</ul>

<p>Rob Clark (1):</p>
<ul>
  <li>freedreno: fix memory leak</li>
</ul>

<p>Tim Rowley (1):</p>
<ul>
  <li>swr: [rasterizer jitter] fix llvm &gt;= 5.0 build break</li>
</ul>

<p>Timothy Arceri (2):</p>
<ul>
  <li>glsl: fix lower jumps for returns when loop is inside an if</li>
  <li>mesa: update lower_jumps tests after bug fix</li>
</ul>

<p>Topi Pohjolainen (1):</p>
<ul>
  <li>i965/gen8+: Do full stall when switching pipeline</li>
</ul>

<p>Xu Randy (2):</p>
<ul>
  <li>anv/blorp: Fix a crash in CmdClearColorImage</li>
  <li>anv/genX: Solve the vkCreateGraphicsPipelines crash</li>
</ul>

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