<!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 18.1.8 Release Notes / September 24 2018</h1>

<p>
Mesa 18.1.9 is a bug fix release which fixes bugs found since the 18.1.8 release.
</p>
<p>
Mesa 18.1.9 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.
Compatibility contexts may report a lower version depending on each driver.
</p>


<h2>SHA256 checksums</h2>
<pre>
0f825dc834b1b3e3d9a6c3ce58b42977f0d9a248a7627a36dd3b313ffe41a499  mesa-18.1.9.tar.gz
55f5778d58a710a63d6635f000535768faf7db9e8144dc0f4fd1989f936c1a83  mesa-18.1.9.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=103241">Bug 103241</a> - Anv crashes when using 64-bit vertex inputs</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=104926">Bug 104926</a> - swrast: Mesa 17.3.3 produces:  HW cursor for format 875713089 not supported</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107280">Bug 107280</a> - [DXVK] Batman: Arkham City with tessellation enabled hangs on SKL GT4</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107772">Bug 107772</a> - Mesa preprocessor matches if(def)s &amp; endifs incorrectly</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107779">Bug 107779</a> - Access violation with some games</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107810">Bug 107810</a> - The 'va_end' call is missed after 'va_copy' in 'util_vsnprintf' function under windows</li>

</ul>

<h2>Changes</h2>
<p>Andrii Simiklit (4):</p>
<ul>
  <li>apple/glx/log: added missing va_end() after va_copy()</li>
  <li>mesa/util: don't use the same 'va_list' instance twice</li>
  <li>mesa/util: don't ignore NULL returned from 'malloc'</li>
  <li>mesa/util: add missing va_end() after va_copy()</li>
</ul>

<p>Bas Nieuwenhuizen (4):</p>
<ul>
  <li>radv: Use build ID if available for cache UUID.</li>
  <li>radv: Only allow 16 user SGPRs for compute on GFX9+.</li>
  <li>radv: Set the user SGPR MSB for Vega.</li>
  <li>radv: Fix driver UUID SHA1 init.</li>
</ul>

<p>Christopher Egert (1):</p>
<ul>
  <li>radeon: fix ColorMask</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>virgl: don't send a shader create with no data. (v2)</li>
</ul>

<p>Dylan Baker (10):</p>
<ul>
  <li>docs/relnotes: Add sha256 sums for mesa 18.1.8</li>
  <li>cherry-ignore: Add additional 18.2 patch</li>
  <li>meson: Print a message about why a libdrm version was selected</li>
  <li>cherry-ignore: add another 18.2 patch</li>
  <li>cherry-ignore: Add patches that don't apply cleanly and are for developer tools</li>
  <li>cherry-ignore: Add more 18.2 patches</li>
  <li>cherry-ignore: add 18.2 patchs</li>
  <li>cherry-ignore: add a patch that was reverted on master</li>
  <li>cherry-ignore: one final update</li>
  <li>Bump version to 18.1.9</li>
</ul>

<p>Erik Faye-Lund (2):</p>
<ul>
  <li>winsys/virgl: avoid unintended behavior</li>
  <li>virgl: adjust strides when mapping temp-resources</li>
</ul>

<p>Gert Wollny (1):</p>
<ul>
  <li>winsys/virgl: correct resource and handle allocation (v2)</li>
</ul>

<p>Jason Ekstrand (6):</p>
<ul>
  <li>anv/pipeline: Only consider double elements which actually exist</li>
  <li>i965: Workaround the gen9 hw astc5x5 sampler bug</li>
  <li>anv: Re-emit vertex buffers when the pipeline changes</li>
  <li>anv: Disable the vertex cache when tessellating on SKL GT4</li>
  <li>anv: Clamp scissors to the framebuffer boundary</li>
  <li>anv/query: Write both dwords in emit_zero_queries</li>
</ul>

<p>Josh Pieper (1):</p>
<ul>
  <li>st/mesa: Validate the result of pipe_transfer_map in make_texture (v2)</li>
</ul>

<p>Kenneth Feng (1):</p>
<ul>
  <li>amd: Add Picasso device id</li>
</ul>

<p>Marek Olšák (4):</p>
<ul>
  <li>st/mesa: help fix stencil border color for GL_DEPTH_STENCIL textures</li>
  <li>radeonsi: fix HTILE for NPOT textures with mipmapping on SI/CI</li>
  <li>r600: fix HTILE for NPOT textures with mipmapping</li>
  <li>radeonsi: fix printing a BO list into ddebug reports</li>
</ul>

<p>Mathias Fröhlich (1):</p>
<ul>
  <li>tnl: Fix green gun regression in xonotic.</li>
</ul>

<p>Mauro Rossi (3):</p>
<ul>
  <li>android: broadcom/genxml: fix collision with intel/genxml header-gen macro</li>
  <li>android: broadcom/cle: add gallium include path</li>
  <li>android: broadcom/cle: export the broadcom top level path headers</li>
</ul>

<p>Michal Srb (1):</p>
<ul>
  <li>st/dri: don't set queryDmaBufFormats/queryDmaBufModifiers if the driver does not implement it</li>
</ul>

<p>Michel Dänzer (1):</p>
<ul>
  <li>loader/dri3: Only wait for back buffer fences in dri3_get_buffer</li>
</ul>

<p>Pierre Moreau (1):</p>
<ul>
  <li>nvir: Always split 64-bit IMAD/IMUL operations</li>
</ul>

<p>Sergii Romantsov (1):</p>
<ul>
  <li>intel: compiler option msse2 and mstackrealign</li>
</ul>

<p>Timothy Arceri (1):</p>
<ul>
  <li>glsl: fixer lexer for unreachable defines</li>
</ul>

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