Mesa 19.0.1 Release Notes / March 27, 2019
==========================================

Mesa 19.0.1 is a bug fix release which fixes bugs found since the 19.0.0
release.

Mesa 19.0.1 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 **only** available if requested at context creation.
Compatibility contexts may report a lower version depending on each
driver.

SHA256 checksums
----------------

::

   f1dd1980ed628edea3935eed7974fbc5d8353e9578c562728b880d63ac613dbd  mesa-19.0.1.tar.gz
   6884163c0ea9e4c98378ab8fecd72fe7b5f437713a14471beda378df247999d4  mesa-19.0.1.tar.xz

New features
------------

None

Bug fixes
---------

-  `Bug 100316 <https://bugs.freedesktop.org/show_bug.cgi?id=100316>`__
   - Linking GLSL 1.30 shaders with invariant and deprecated variables
   triggers an 'mismatching invariant qualifiers' error
-  `Bug 107563 <https://bugs.freedesktop.org/show_bug.cgi?id=107563>`__
   - [RADV] Broken rendering in Unity demos
-  `Bug 109698 <https://bugs.freedesktop.org/show_bug.cgi?id=109698>`__
   - dri.pc contents invalid when built with meson
-  `Bug 109980 <https://bugs.freedesktop.org/show_bug.cgi?id=109980>`__
   - [i915 CI][HSW]
   spec@arb_fragment_shader_interlock@arb_fragment_shader_interlock-image-load-store
   - fail
-  `Bug 110211 <https://bugs.freedesktop.org/show_bug.cgi?id=110211>`__
   - If DESTDIR is set to an empty string, the dri drivers are not
   installed
-  `Bug 110221 <https://bugs.freedesktop.org/show_bug.cgi?id=110221>`__
   - build error with meson

Changes
-------

Andres Gomez (4):

-  glsl: correctly validate component layout qualifier for dvec{3,4}
-  glsl/linker: don't fail non static used inputs without matching
   outputs
-  glsl/linker: simplify xfb_offset vs xfb_stride overflow check
-  Revert "glsl: relax input->output validation for SSO programs"

Bas Nieuwenhuizen (2):

-  radv: Use correct image view comparison for fast clears.
-  ac/nir: Return frag_coord as integer.

Danylo Piliaiev (2):

-  anv: Treat zero size XFB buffer as disabled
-  glsl: Cross validate variable's invariance by explicit invariance
   only

Dave Airlie (1):

-  softpipe: fix texture view crashes

Dylan Baker (5):

-  docs: Add SHA256 sums for 19.0.0
-  cherry-ignore: Add commit that doesn't apply
-  bin/install_megadrivers.py: Correctly handle DESTDIR=''
-  bin/install_megadrivers.py: Fix regression for set DESTDIR
-  bump version for 19.0.1

Eric Anholt (1):

-  v3d: Fix leak of the renderonly struct on screen destruction.

Jason Ekstrand (6):

-  glsl/lower_vector_derefs: Don't use a temporary for TCS outputs
-  glsl/list: Add a list variant of insert_after
-  anv/pass: Flag the need for a RT flush for resolve attachments
-  nir/builder: Add a vector extract helper
-  nir: Add a new pass to lower array dereferences on vectors
-  intel/nir: Lower array-deref-of-vector UBO and SSBO loads

Józef Kucia (2):

-  radv: Fix driverUUID
-  mesa: Fix GL_NUM_DEVICE_UUIDS_EXT

Kenneth Graunke (1):

-  intel/fs: Fix opt_peephole_csel to not throw away saturates.

Kevin Strasser (1):

-  egl/dri: Avoid out of bounds array access

Mark Janes (1):

-  mesa: properly report the length of truncated log messages

Plamena Manolova (1):

-  i965: Disable ARB_fragment_shader_interlock for platforms prior to
   GEN9

Samuel Pitoiset (3):

-  radv: set the maximum number of IBs per submit to 192
-  radv: always initialize HTILE when the src layout is UNDEFINED
-  radv: fix binding transform feedback buffers

Sergii Romantsov (1):

-  d3d: meson: do not prefix user provided d3d-drivers-path

Tapani Pälli (2):

-  isl: fix automake build when sse41 is not supported
-  anv/radv: release memory allocated by glsl types during spirv_to_nir
