<!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.3.3 Release Notes / January 31, 2019</h1>

<p>
Mesa 18.3.3 is a bug fix release which fixes bugs found since the 18.3.2 release.
</p>
<p>
Mesa 18.3.3 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>
6b9893942fe8011c7736d51448deb6ef80ece2257e0fac27b02e997a6605d5e4  mesa-18.3.3.tar.gz
2ab6886a6966c532ccbcc3b240925e681464b658244f0cbed752615af3936299  mesa-18.3.3.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=108877">Bug 108877</a> - OpenGL CTS gl43 test cases were interrupted due to segment fault</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109023">Bug 109023</a> - error: inlining failed in call to always_inline ‘__m512 _mm512_and_ps(__m512, __m512)’: target specific option mismatch</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109129">Bug 109129</a> - format_types.h:1220: undefined reference to `_mm256_cvtps_ph'</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109229">Bug 109229</a> - glLinkProgram locks up for ~30 seconds</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109242">Bug 109242</a> - [RADV] The Witcher 3 system freeze</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109488">Bug 109488</a> - Mesa 18.3.2 crash on a specific fragment shader (assert triggered) / already fixed on the master branch.</li>

</ul>


<h2>Changes</h2>

<p>Andres Gomez (2):</p>
<ul>
  <li>bin/get-pick-list.sh: fix the oneline printing</li>
  <li>bin/get-pick-list.sh: fix redirection in sh</li>
</ul>

<p>Axel Davy (1):</p>
<ul>
  <li>st/nine: Immediately upload user provided textures</li>
</ul>

<p>Bas Nieuwenhuizen (3):</p>
<ul>
  <li>radv: Only use 32 KiB per threadgroup on Stoney.</li>
  <li>radv: Set partial_vs_wave for pipelines with just GS, not tess.</li>
  <li>nir: Account for atomics in copy propagation.</li>
</ul>

<p>Bruce Cherniak (1):</p>
<ul>
  <li>gallium/swr: Fix multi-context sync fence deadlock.</li>
</ul>

<p>Carsten Haitzler (Rasterman) (2):</p>
<ul>
  <li>vc4: Use named parameters for the NEON inline asm.</li>
  <li>vc4: Declare the cpu pointers as being modified in NEON asm.</li>
</ul>

<p>Danylo Piliaiev (1):</p>
<ul>
  <li>glsl: Fix copying function's out to temp if dereferenced by array</li>
</ul>

<p>Dave Airlie (3):</p>
<ul>
  <li>dri_interface: add put shm image2 (v2)</li>
  <li>glx: add support for putimageshm2 path (v2)</li>
  <li>gallium: use put image shm2 path (v2)</li>
</ul>

<p>Dylan Baker (4):</p>
<ul>
  <li>meson: allow building dri driver without window system if osmesa is classic</li>
  <li>meson: fix swr KNL build</li>
  <li>meson: Fix compiler checks for SWR with ICC</li>
  <li>meson: Add warnings and errors when using ICC</li>
</ul>

<p>Emil Velikov (4):</p>
<ul>
  <li>docs: add sha256 checksums for 18.3.2</li>
  <li>cherry-ignore: radv: Fix multiview depth clears</li>
  <li>cherry-ignore: spirv: Handle arbitrary bit sizes for deref array indices</li>
  <li>cherry-ignore: WARNING: Commit XXX lists invalid sha</li>
</ul>

<p>Eric Anholt (2):</p>
<ul>
  <li>vc4: Don't leak the GPU fd for renderonly usage.</li>
  <li>vc4: Enable NEON asm on meson cross-builds.</li>
</ul>

<p>Eric Engestrom (2):</p>
<ul>
  <li>configure: EGL requirements only apply if EGL is built</li>
  <li>meson/vdpau: add missing soversion</li>
</ul>

<p>Iago Toral Quiroga (1):</p>
<ul>
  <li>anv/device: fix maximum number of images supported</li>
</ul>

<p>Jason Ekstrand (3):</p>
<ul>
  <li>anv/nir: Rework arguments to apply_pipeline_layout</li>
  <li>anv: Only parse pImmutableSamplers if the descriptor has samplers</li>
  <li>nir/xfb: Fix offset accounting for dvec3/4</li>
</ul>

<p>Karol Herbst (2):</p>
<ul>
  <li>nv50/ir: disable tryCollapseChainedMULs in ConstantFolding for precise instructions</li>
  <li>glsl/lower_output_reads: set invariant and precise flags on temporaries</li>
</ul>

<p>Lionel Landwerlin (1):</p>
<ul>
  <li>anv: fix invalid binding table index computation</li>
</ul>

<p>Marek Olšák (4):</p>
<ul>
  <li>radeonsi: also apply the GS hang workaround to draws without tessellation</li>
  <li>radeonsi: fix a u_blitter crash after a shader with FBFETCH</li>
  <li>radeonsi: fix rendering to tiny viewports where the viewport center is &gt; 8K</li>
  <li>st/mesa: purge framebuffers when unbinding a context</li>
</ul>

<p>Niklas Haas (1):</p>
<ul>
  <li>radv: correctly use vulkan 1.0 by default</li>
</ul>

<p>Pierre Moreau (1):</p>
<ul>
  <li>meson: Fix with_gallium_icd to with_opencl_icd</li>
</ul>

<p>Rob Clark (1):</p>
<ul>
  <li>loader: fix the no-modifiers case</li>
</ul>

<p>Samuel Pitoiset (1):</p>
<ul>
  <li>radv: clean up setting partial_es_wave for distributed tess on VI</li>
</ul>

<p>Timothy Arceri (5):</p>
<ul>
  <li>ac/nir_to_llvm: fix interpolateAt* for arrays</li>
  <li>ac/nir_to_llvm: fix clamp shadow reference for more hardware</li>
  <li>radv/ac: fix some fp16 handling</li>
  <li>glsl: use remap location when serialising uniform program resource data</li>
  <li>glsl: Copy function out to temp if we don't directly ref a variable</li>
</ul>

<p>Tomeu Vizoso (1):</p>
<ul>
  <li>etnaviv: Consolidate buffer references from framebuffers</li>
</ul>

<p>Vinson Lee (1):</p>
<ul>
  <li>meson: Fix typo.</li>
</ul>



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

