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

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


<h2>SHA256 checksums</h2>
<pre>
8ec62f215dd1bb3910987f9941c6fc31632a0874e618815cf1e8e29445c86e0a  mesa-18.1.8.tar.gz
bd1be67fe9c73b517765264ac28911c84144682d28dbff140e1c2deb2f44c21b  mesa-18.1.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=93355">Bug 93355</a> - [BXT,SKLGT4e] intermittent ext_framebuffer_multisample.accuracy fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=101247">Bug 101247</a> - Mesa fails to link GLSL programs with unused output blocks</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=104809">Bug 104809</a> - anv: DOOM 2016 and Wolfenstein II:The New Colossus crash due to not having depthBoundsTest</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=105904">Bug 105904</a> - Needed to delete mesa shader cache after driver upgrade for 32 bit wine vulkan programs to work.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=106738">Bug 106738</a> - No test for miptrees with DRI modifiers</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=106865">Bug 106865</a> - [GLK] piglit.spec.ext_framebuffer_multisample.accuracy stencil tests fail</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107359">Bug 107359</a> - [Regression] [bisected] [OpenGL CTS] [SKL,BDW] KHR-GL46.texture_barrier*-texels, GTF-GL46.gtf21.GL2FixedTests.buffer_corners.buffer_corners, and GTF-GL46.gtf21.GL2FixedTests.stencil_plane_corners.stencil_plane_corners fail with some configuration</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107477">Bug 107477</a> - [DXVK] Setting high shader quality in GTA V results in LLVM error</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107579">Bug 107579</a> - [SNB] The graphic corruption when we reuse the GS compiled and used for TFB when statebuffer contain magic trash in the unused space</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107601">Bug 107601</a> - Rise of the Tomb Raider Segmentation Fault when the game starts</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107760">Bug 107760</a> - GPU Hang when Playing DiRT 3 Complete Edition using Steam Play with DXVK</li>

</ul>

<h2>Changes</h2>
<p>Andrii Simiklit (1):</p>
<ul>
  <li>i965/gen6/xfb: handle case where transform feedback is not active</li>
</ul>

<p>Bas Nieuwenhuizen (3):</p>
<ul>
  <li>radv: Add missing checks in radv_get_image_format_properties.</li>
  <li>radv: Fix CMASK dimensions.</li>
  <li>radv: Use a lower max offchip buffer count.</li>
</ul>

<p>Christian Gmeiner (1):</p>
<ul>
  <li>tegra: fix memory leak</li>
</ul>

<p>Daniel Stone (1):</p>
<ul>
  <li>st/dri: Don't expose sRGB formats to clients</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>ac/radeonsi: fix CIK copy max size</li>
</ul>

<p>Dylan Baker (10):</p>
<ul>
  <li>docs: Add mesa 18.1.7 notes</li>
  <li>cherry-ignore: add a patch</li>
  <li>cherry-ignore: Add more 18.2 only patches</li>
  <li>meson: Actually load translation files</li>
  <li>cherry-ignore: Add more 18.2 patches</li>
  <li>cherry-ignore: Add additional patch</li>
  <li>cherry-ignore: Add patch that doesn't apply to 18.1</li>
  <li>cherry-ignore: Add a couple of two fixes warning patches</li>
  <li>cherry-ignore: Add patch that needs more significant patches to function</li>
  <li>Bump version to 18.1.8</li>
</ul>

<p>Emil Velikov (1):</p>
<ul>
  <li>docs: update required mako version</li>
</ul>

<p>Grazvydas Ignotas (1):</p>
<ul>
  <li>radv: place pointer length into cache uuid</li>
</ul>

<p>Gurchetan Singh (2):</p>
<ul>
  <li>meson: fix egl build for surfaceless</li>
  <li>meson: fix egl build for android</li>
</ul>

<p>Ian Romanick (2):</p>
<ul>
  <li>i965/vec4: Clamp indirect tes input array reads with 0x0fffffff</li>
  <li>i965/vec4: Correctly handle uniform sources in generate_tes_add_indirect_urb_offset</li>
</ul>

<p>Jason Ekstrand (5):</p>
<ul>
  <li>anv: Fill holes in the VF VUE to zero</li>
  <li>nir/algebraic: Be more careful converting ushr to extract_u8/16</li>
  <li>egl/dri2: Add a helper for the number of planes for a FOURCC format</li>
  <li>egl/dri2: Guard against invalid fourcc formats</li>
  <li>anv/blorp: Do more flushing around HiZ clears</li>
</ul>

<p>Juan A. Suarez Romero (1):</p>
<ul>
  <li>egl/wayland: do not leak wl_buffer when it is locked</li>
</ul>

<p>Lionel Landwerlin (1):</p>
<ul>
  <li>anv: blorp: support multiple aspect blits</li>
</ul>

<p>Marek Olšák (1):</p>
<ul>
  <li>glapi: actually implement GL_EXT_robustness for GLES</li>
</ul>

<p>Nanley Chery (7):</p>
<ul>
  <li>intel/isl: Avoid tiling some 16K-wide render targets</li>
  <li>i965: Make blt_pitch public</li>
  <li>i965/miptree: Drop an if case from retile_as_linear</li>
  <li>i965/miptree: Use the correct BLT pitch</li>
  <li>i965/miptree: Use miptree_map in map_blit functions</li>
  <li>i965/miptree: Fix can_blit_slice()</li>
  <li>i965/gen7_urb: Re-emit PUSH_CONSTANT_ALLOC on some gen9</li>
</ul>

<p>Samuel Pitoiset (1):</p>
<ul>
  <li>radv: fix passing clip/cull distances from VS to PS</li>
</ul>

<p>vadym.shovkoplias (1):</p>
<ul>
  <li>glsl/linker: Allow unused in blocks which are not declated on previous stage</li>
</ul>

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