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

<p>
Mesa 18.2.6 is a bug fix release which fixes bugs found since the 18.2.5 release.
</p>
<p>
Mesa 18.2.6 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>
e0ea1236dbc6c412b02e1b5d7f838072525971a6630246fa82ae4466a6d8a587  mesa-18.2.6.tar.gz
9ebafa4f8249df0c718e93b9ca155e3593a1239af303aa2a8b0f2056a7efdc12  mesa-18.2.6.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=107626">Bug 107626</a> - [SNB] The graphical corruption and GPU hang occur sometimes on the piglit test &quot;arb_texture_multisample-large-float-texture&quot; with parameter --fp16</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=107856">Bug 107856</a> - i965 incorrectly calculates the number of layers for texture views (assert)</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=108630">Bug 108630</a> - [G965] piglit.spec.!opengl 1_2.tex3d-maxsize spins forever</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=108713">Bug 108713</a> - Gallium: use after free with transform feedback</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=108829">Bug 108829</a> - [meson] libglapi exports internal API</li>

</ul>


<h2>Changes</h2>

<p>Andrii Simiklit (1):</p>
<ul>
  <li>i965/batch: avoid reverting batch buffer if saved state is an empty</li>
</ul>

<p>Bas Nieuwenhuizen (1):</p>
<ul>
  <li>radv: Fix opaque metadata descriptor last layer.</li>
</ul>

<p>Brian Paul (1):</p>
<ul>
  <li>scons/svga: remove opt from the list of valid build types</li>
</ul>

<p>Danylo Piliaiev (1):</p>
<ul>
  <li>i965: Fix calculation of layers array length for isl_view</li>
</ul>

<p>Dylan Baker (2):</p>
<ul>
  <li>meson: Don't set -Wall</li>
  <li>meson: Don't force libva to required from auto</li>
</ul>

<p>Emil Velikov (13):</p>
<ul>
  <li>bin/get-pick-list.sh: simplify git oneline printing</li>
  <li>bin/get-pick-list.sh: prefix output with "[stable] "</li>
  <li>bin/get-pick-list.sh: handle "typod" usecase.</li>
  <li>bin/get-pick-list.sh: handle the fixes tag</li>
  <li>bin/get-pick-list.sh: tweak the commit sha matching pattern</li>
  <li>bin/get-pick-list.sh: flesh out is_sha_nomination</li>
  <li>bin/get-pick-list.sh: handle fixes tag with missing colon</li>
  <li>bin/get-pick-list.sh: handle unofficial "broken by" tag</li>
  <li>bin/get-pick-list.sh: use test instead of [ ]</li>
  <li>bin/get-pick-list.sh: handle reverts prior to the branchpoint</li>
  <li>travis: drop unneeded x11proto-xf86vidmode-dev</li>
  <li>glx: make xf86vidmode mandatory for direct rendering</li>
  <li>travis: adding missing x11-xcb for meson+vulkan</li>
</ul>

<p>Eric Anholt (1):</p>
<ul>
  <li>vc4: Make sure we make ro scanout resources for create_with_modifiers.</li>
</ul>

<p>Eric Engestrom (5):</p>
<ul>
  <li>meson: only run vulkan's meson.build when building vulkan</li>
  <li>gbm: remove unnecessary meson include</li>
  <li>meson: fix wayland-less builds</li>
  <li>egl: add missing glvnd entrypoint for EGL_ANDROID_blob_cache</li>
  <li>glapi: add missing visibility args</li>
</ul>

<p>Erik Faye-Lund (1):</p>
<ul>
  <li>mesa/main: remove bogus error for zero-sized images</li>
</ul>

<p>Gert Wollny (3):</p>
<ul>
  <li>mesa: Reference count shaders that are used by transform feedback objects</li>
  <li>r600: clean up the GS ring buffers when the context is destroyed</li>
  <li>glsl: free or reuse memory allocated for TF varying</li>
</ul>

<p>Jason Ekstrand (2):</p>
<ul>
  <li>nir/lower_alu_to_scalar: Don't try to lower unpack_32_2x16</li>
  <li>anv: Put robust buffer access in the pipeline hash</li>
</ul>

<p>Juan A. Suarez Romero (6):</p>
<ul>
  <li>cherry-ignore: add explicit 18.3 only nominations</li>
  <li>cherry-ignore: intel/aub_viewer: fix dynamic state printing</li>
  <li>cherry-ignore: intel/aub_viewer: Print blend states properly</li>
  <li>cherry-ignore: mesa/main: fix incorrect depth-error</li>
  <li>docs: add sha256 checksums for 18.2.5</li>
  <li>Update version to 18.2.6</li>
</ul>

<p>Karol Herbst (1):</p>
<ul>
  <li>nir/spirv: cast shift operand to u32</li>
</ul>

<p>Kenneth Graunke (1):</p>
<ul>
  <li>i965: Add PCI IDs for new Amberlake parts that are Coffeelake based</li>
</ul>

<p>Lionel Landwerlin (1):</p>
<ul>
  <li>egl/dri: fix error value with unknown drm format</li>
</ul>

<p>Marek Olšák (2):</p>
<ul>
  <li>winsys/amdgpu: fix a buffer leak in amdgpu_bo_from_handle</li>
  <li>winsys/amdgpu: fix a device handle leak in amdgpu_winsys_create</li>
</ul>

<p>Rodrigo Vivi (4):</p>
<ul>
  <li>i965: Add a new CFL PCI ID.</li>
  <li>intel: aubinator: Adding missed platforms to the error message.</li>
  <li>intel: Introducing Amber Lake platform</li>
  <li>intel: Introducing Whiskey Lake platform</li>
</ul>


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