Mesa 19.1.7 Release Notes / September 17, 2019
==============================================

Mesa 19.1.7 is a bug fix release which fixes bugs found since the 19.1.6
release.

Mesa 19.1.7 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.

Mesa 19.1.7 implements the Vulkan 1.1 API, but the version reported by
the apiVersion property of the VkPhysicalDeviceProperties struct depends
on the particular driver being used.

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

::

   e287920fdb38712a9fed448dc90b3ca95048c7face5db52e58361f8b6e0f3cd5  mesa-19.1.7.tar.xz

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

None

Bug fixes
---------

-  `Bug 110814 <https://bugs.freedesktop.org/show_bug.cgi?id=110814>`__
   - KWin compositor crashes on launch
-  `Bug 111069 <https://bugs.freedesktop.org/show_bug.cgi?id=111069>`__
   - Assertion fails in nir_opt_remove_phis.c during compilation of
   SPIR-V shader
-  `Bug 111271 <https://bugs.freedesktop.org/show_bug.cgi?id=111271>`__
   - Crash in eglMakeCurrent
-  `Bug 111401 <https://bugs.freedesktop.org/show_bug.cgi?id=111401>`__
   - Vulkan overlay layer - async compute not supported, making overlay
   disappear in Doom
-  `Bug 111405 <https://bugs.freedesktop.org/show_bug.cgi?id=111405>`__
   - Some infinite 'do{}while' loops lead mesa to an infinite
   compilation
-  `Bug 111467 <https://bugs.freedesktop.org/show_bug.cgi?id=111467>`__
   - WOLF RPG Editor + Gallium Nine Standalone: Rendering issue when
   using Iris driver
-  `Bug 111552 <https://bugs.freedesktop.org/show_bug.cgi?id=111552>`__
   - Geekbench 5.0 Vulkan compute benchmark fails on Anvil

Changes
-------

Caio Marcelo de Oliveira Filho (1):

-  glsl/nir: Avoid overflow when setting max_uniform_location

Connor Abbott (1):

-  radv: Call nir_propagate_invariant()

Danylo Piliaiev (1):

-  tgsi_to_nir: Translate TGSI_INTERPOLATE_COLOR as INTERP_MODE_NONE

Eric Engestrom (10):

-  ttn: fix 64-bit shift on 32-bit \`1\`
-  egl: fix deadlock in malloc error path
-  util/os_file: fix double-close()
-  anv: fix format string in error message
-  nir: fix memleak in error path
-  anv: add support for driconf
-  wsi: add minImageCount override
-  anv: add support for vk_x11_override_min_image_count
-  amd: move adaptive sync to performance section, as it is defined in
   xmlpool
-  radv: add support for vk_x11_override_min_image_count

Erik Faye-Lund (2):

-  gallium/auxiliary/indices: consistently apply start only to input
-  util: fix SSE-version needed for double opcodes

Hal Gentz (1):

-  glx: Fix SEGV due to dereferencing a NULL ptr from XCB-GLX.

Jason Ekstrand (7):

-  Revert "intel/fs: Move the scalar-region conversion to the
   generator."
-  anv: Bump maxComputeWorkgroupSize
-  nir: Don't infinitely recurse in lower_ssa_defs_to_regs_block
-  nir: Add a block_is_unreachable helper
-  nir/repair_ssa: Repair dominance for unreachable blocks
-  nir/repair_ssa: Insert deref casts when needed
-  nir/dead_cf: Repair SSA if the pass makes progress

Juan A. Suarez Romero (3):

-  docs: add sha256 checksums for 19.1.6
-  cherry-ignore: add explicit 19.2 only nominations
-  Update version to 19.1.7

Kenneth Graunke (1):

-  gallium: Fix util_format_get_depth_only

Lionel Landwerlin (1):

-  vulkan/overlay: bounce image back to present layout

Mauro Rossi (3):

-  android: radv: fix necessary dependecies
-  android: amd/common: fix missing include path
-  android: anv: libmesa_vulkan_common: add libmesa_util static
   dependency

Samuel Pitoiset (1):

-  radv: fix allocating number of user sgprs if streamout is used

Sergii Romantsov (1):

-  intel/dri: finish proper glthread
