<!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 19.0.3 Release Notes / April 24, 2019</h1>

<p>
Mesa 19.0.3 is a bug fix release which fixes bugs found since the l9.0.2 release.
</p>
<p>
Mesa 19.0.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>
59543ec3c9f8c72990e77887f13d1678cb6739e5d5f56abc21ebf9e772389c5e  mesa-19.0.3.tar.gz
f027244e38dc309a4c12db45ef79be81ab62c797a50a88d566e4edb6159fc4d5  mesa-19.0.3.tar.xz
</pre>


<h2>New features</h2>

<p>N/A</p>

<h2>Bug fixes</h2>

<ul>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=108879">Bug 108879</a> - [CIK] [regression] All opencl apps hangs indefinitely in si_create_context</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=110201">Bug 110201</a> - [ivb] mesa 19.0.0 breaks rendering in kitty</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=110356">Bug 110356</a> - install_megadrivers.py creates new dangling symlink [bisected]</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=110441">Bug 110441</a> - [llvmpipe] complex-loop-analysis-bug regression</li>

</ul>

<h2>Changes</h2>

<p>Andres Gomez (1):</p>
<ul>
  <li>glsl/linker: location aliasing requires types to have the same width</li>
</ul>

<p>Bas Nieuwenhuizen (1):</p>
<ul>
  <li>ac: Move has_local_buffers disable to radeonsi.</li>
</ul>

<p>Chia-I Wu (1):</p>
<ul>
  <li>virgl: fix fence fd version check</li>
</ul>

<p>Danylo Piliaiev (1):</p>
<ul>
  <li>intel/compiler: Do not reswizzle dst if instruction writes to flag register</li>
</ul>

<p>Dylan Baker (2):</p>
<ul>
  <li>docs: Add sha256 sums for 19.0.2</li>
  <li>Bump version for 19.0.3</li>
</ul>

<p>Eric Anholt (1):</p>
<ul>
  <li>nir: Fix deref offset calculation for structs.</li>
</ul>

<p>Eric Engestrom (1):</p>
<ul>
  <li>meson: remove meson-created megadrivers symlinks</li>
</ul>

<p>Jason Ekstrand (2):</p>
<ul>
  <li>anv/pipeline: Fix MEDIA_VFE_STATE::PerThreadScratchSpace on gen7</li>
  <li>anv: Add a #define for the max binding table size</li>
</ul>

<p>Juan A. Suarez Romero (1):</p>
<ul>
  <li>meson: Add dependency on genxml to anvil genfiles</li>
</ul>

<p>Kenneth Graunke (2):</p>
<ul>
  <li>glsl: Set location on structure-split sampler uniform variables</li>
  <li>Revert "glsl: Set location on structure-split sampler uniform variables"</li>
</ul>

<p>Lionel Landwerlin (2):</p>
<ul>
  <li>anv: fix uninitialized pthread cond clock domain</li>
  <li>intel/devinfo: fix missing num_thread_per_eu on ICL</li>
</ul>

<p>Lubomir Rintel (2):</p>
<ul>
  <li>gallivm: guess CPU features also on ARM</li>
  <li>gallivm: disable NEON instructions if they are not supported</li>
</ul>

<p>Marek Olšák (1):</p>
<ul>
  <li>radeonsi: use CP DMA for the null const buffer clear on CIK</li>
</ul>

<p>Rhys Perry (1):</p>
<ul>
  <li>nir,ac/nir: fix cube_face_coord</li>
</ul>

<p>Roland Scheidegger (1):</p>
<ul>
  <li>gallivm: fix bogus assert in get_indirect_index</li>
</ul>

<p>Samuel Pitoiset (2):</p>
<ul>
  <li>ac/nir: only use the new raw/struct image atomic intrinsics with LLVM 9+</li>
  <li>radv: do not load vertex attributes that are not provided by the pipeline</li>
</ul>


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