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

<p>
Mesa 17.0.5 is a bug fix release which fixes bugs found since the 17.0.4 release.
</p>
<p>
Mesa 17.0.5 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>
7510eee0d0077860b250d30d73305048c2df4ba09ea8fc04e4f3eec7beece301  mesa-17.0.5.tar.gz
668efa445d2f57a26e5c096b1965a685733a3b57d9c736f9d6460263847f9bfe  mesa-17.0.5.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=97524">Bug 97524</a> - Samplers referring to the same texture unit with different types should raise GL_INVALID_OPERATION</li>

</ul>


<h2>Changes</h2>

<p>Andres Gomez (16):</p>
<ul>
  <li>cherry-ignore: Add the pci_id into the shader cache UUID</li>
  <li>cherry-ignore: fix crash if ctx torn down with no rendering</li>
  <li>cherry-ignore: Fix typos.</li>
  <li>cherry-ignore: Revert "etnaviv: Cannot render to rb-swapped formats"</li>
  <li>cherry-ignore: Revert "i965/fs: Don't emit SEL instructions for type-converting MOVs."</li>
  <li>cherry-ignore: fix typo in a2b10g10r10 fast clear calculation</li>
  <li>cherry-ignore: remove unused anv_dispatch_table dtable</li>
  <li>cherry-ignore: remove unused radv_dispatch_table dtable</li>
  <li>cherry-ignore: make radv_resolve_entrypoint static</li>
  <li>cherry-ignore: vulkan: add support for libmesa_vulkan_util</li>
  <li>cherry-ignore: r600: fix libmesa_amd_common dependency</li>
  <li>cherry-ignore: remove dead brw_new_shader() declaration</li>
  <li>cherry-ignore: remove i965_symbols_test reference from .gitignore</li>
  <li>cherry-ignore: automake: ensure that the destination directory is created</li>
  <li>cherry-ignore: provide required gem stubs for the tests</li>
  <li>Update version to 17.0.5</li>
</ul>

<p>Boyan Ding (2):</p>
<ul>
  <li>nvc0/ir: Properly handle a "split form" of predicate destination</li>
  <li>nir: Destination component count of shader_clock intrinsic is 2</li>
</ul>

<p>Emil Velikov (5):</p>
<ul>
  <li>docs: add sha256 checksums for 17.0.4</li>
  <li>winsys/sw/dri: don't use GNU void pointer arithmetic</li>
  <li>st/clover: add space between &lt; and ::</li>
  <li>configure.ac: check require_basic_egl only if egl enabled</li>
  <li>st/mesa: automake: honour the vdpau header install location</li>
</ul>

<p>Francisco Jerez (2):</p>
<ul>
  <li>intel/fs: Use regs_written() in spilling cost heuristic for improved accuracy.</li>
  <li>intel/fs: Take into account amount of data read in spilling cost heuristic.</li>
</ul>

<p>Grazvydas Ignotas (1):</p>
<ul>
  <li>radv: report timestampPeriod correctly</li>
</ul>

<p>Jason Ekstrand (5):</p>
<ul>
  <li>anv/blorp: Flush the texture cache in UpdateBuffer</li>
  <li>anv/cmd_buffer: Flush the VF cache at the top of all primaries</li>
  <li>anv/cmd_buffer: Always set up a null surface state</li>
  <li>anv/cmd_buffer: Use the null surface state for ATTACHMENT_UNUSED</li>
  <li>anv/blorp: Properly handle VK_ATTACHMENT_UNUSED</li>
</ul>

<p>Kenneth Graunke (1):</p>
<ul>
  <li>i965/vec4: Avoid reswizzling MACH instructions in opt_register_coalesce().</li>
</ul>

<p>Marek Olšák (1):</p>
<ul>
  <li>st/mesa: invalidate the readpix cache in st_indirect_draw_vbo</li>
</ul>

<p>Nanley Chery (1):</p>
<ul>
  <li>anv/cmd_buffer: Disable CCS on BDW input attachments</li>
</ul>

<p>Nicolai Hähnle (4):</p>
<ul>
  <li>mesa: fix remaining xfb prims check for GLES with multiple instances</li>
  <li>mesa: extract need_xfb_remaining_prims_check</li>
  <li>mesa: move glMultiDrawArrays to vbo and fix error handling</li>
  <li>vbo: fix gl_DrawID handling in glMultiDrawArrays</li>
</ul>

<p>Rob Clark (1):</p>
<ul>
  <li>util/queue: don't hang at exit</li>
</ul>

<p>Timothy Arceri (1):</p>
<ul>
  <li>mesa: validate sampler type across the whole program</li>
</ul>

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