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

<p>
Mesa 18.0.2 is a bug fix release which fixes bugs found since the 18.0.1 release.
</p>
<p>
Mesa 18.0.2 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>
SHA256: ffd8dfe3337b474a3baa085f0e7ef1a32c7cdc3bed1ad810b2633919a9324840  mesa-18.0.2.tar.gz
SHA256: 98fa159768482dc568b9f8bf0f36c7acb823fa47428ffd650b40784f16b9e7b3  mesa-18.0.2.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=95009">Bug 95009</a> - [SNB] amd_shader_trinary_minmax.execution.built-in-functions.gs-mid3-ivec2-ivec2-ivec2 intermittent</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95012">Bug 95012</a> - [SNB] glsl-1_50.execution.built-in-functions.gs-op tests intermittent</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98281">Bug 98281</a> - 'message's in ctx-&gt;Debug.LogMessages[] seem to leak.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=105320">Bug 105320</a> - Storage texel buffer access produces wrong results (RX Vega)</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=105775">Bug 105775</a> - SI reaches the maximum IB size in dwords and fail to submit</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=105994">Bug 105994</a> - surface state leak when creating and destroying image views with aspectMask depth and stencil</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=106074">Bug 106074</a> - radv: si_scissor_from_viewport returns incorrect result when using half-pixel viewport offset</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=106126">Bug 106126</a> - eglMakeCurrent does not always ensure dri_drawable-&gt;update_drawable_info has been called for a new EGLSurface if another has been created and destroyed first</li>

</ul>


<h2>Changes</h2>

<p>Bas Nieuwenhuizen (2):</p>
<ul>
  <li>ac/nir: Make the GFX9 buffer size fix apply to image loads/atomics too.</li>
  <li>radv: Mark GTT memory as device local for APUs.</li>
</ul>

<p>Dylan Baker (2):</p>
<ul>
  <li>bin/install_megadrivers: fix DESTDIR and -D*-path</li>
  <li>meson: don't build classic mesa tests without dri_drivers</li>
</ul>

<p>Ian Romanick (1):</p>
<ul>
  <li>intel/compiler: Add scheduler deps for instructions that implicitly read g0</li>
</ul>

<p>Jason Ekstrand (1):</p>
<ul>
  <li>i965/fs: Return mlen * 8 for size_read() for INTERPOLATE_AT_*</li>
</ul>

<p>Johan Klokkhammer Helsing (1):</p>
<ul>
  <li>st/dri: Fix dangling pointer to a destroyed dri_drawable</li>
</ul>

<p>Juan A. Suarez Romero (4):</p>
<ul>
  <li>docs: add sha256 checksums for 18.0.1</li>
  <li>travis: radv needs LLVM 4.0</li>
  <li>cherry-ignore: add explicit 18.1 only nominations</li>
  <li>Update version to 18.0.2</li>
</ul>

<p>Kenneth Graunke (1):</p>
<ul>
  <li>i965: Fix shadow batches to be the same size as the real BO.</li>
</ul>

<p>Lionel Landwerlin (1):</p>
<ul>
  <li>anv: fix number of planes for depth &amp; stencil</li>
</ul>

<p>Lucas Stach (1):</p>
<ul>
  <li>etnaviv: fix texture_format_needs_swiz</li>
</ul>

<p>Marek Olšák (3):</p>
<ul>
  <li>radeonsi/gfx9: fix a hang with an empty first IB</li>
  <li>glsl_to_tgsi: try harder to lower unsupported ir_binop_vector_extract</li>
  <li>Revert "st/dri: Fix dangling pointer to a destroyed dri_drawable"</li>
</ul>

<p>Samuel Pitoiset (2):</p>
<ul>
  <li>radv: fix scissor computation when using half-pixel viewport offset</li>
  <li>radv/winsys: allow to submit up to 4 IBs for chips without chaining</li>
</ul>

<p>Thomas Hellstrom (1):</p>
<ul>
  <li>svga: Fix incorrect advertizing of EGL_KHR_gl_colorspace</li>
</ul>

<p>Timothy Arceri (1):</p>
<ul>
  <li>mesa: free debug messages when destroying the debug state</li>
</ul>


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