Mesa 19.1.2 Release Notes / July 9, 2019
========================================

Mesa 19.1.2 is a bug fix release which fixes bugs found since the 19.1.1
release.

Mesa 19.1.2 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
----------------

::

   813a144ea8ebefb7b48b6733f3f603855b0f61268d86cc1cc26a6b4be908fcfd  mesa-19.1.2.tar.xz

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

None

Bug fixes
---------

-  `Bug 110702 <https://bugs.freedesktop.org/show_bug.cgi?id=110702>`__
   - segfault in radeonsi HEVC hardware decoding with yuv420p10le
-  `Bug 110783 <https://bugs.freedesktop.org/show_bug.cgi?id=110783>`__
   - Mesa 19.1 rc crashing MPV with VAAPI
-  `Bug 110944 <https://bugs.freedesktop.org/show_bug.cgi?id=110944>`__
   - [Bisected] Blender 2.8 crashes when closing certain windows
-  `Bug 110953 <https://bugs.freedesktop.org/show_bug.cgi?id=110953>`__
   - Adding a redundant single-iteration do-while loop causes different
   image to be rendered
-  `Bug 110999 <https://bugs.freedesktop.org/show_bug.cgi?id=110999>`__
   - 19.1.0: assert in vkAllocateDescriptorSets using immutable samplers
   on Ivy Bridge
-  `Bug 111019 <https://bugs.freedesktop.org/show_bug.cgi?id=111019>`__
   - radv doesn't handle variable descriptor count properly

Changes
-------

Anuj Phogat (3):

-  Revert "i965/icl: Add WA_2204188704 to disable pixel shader panic
   dispatch"
-  Revert "anv/icl: Add WA_2204188704 to disable pixel shader panic
   dispatch"
-  Revert "iris/icl: Add WA_2204188704 to disable pixel shader panic
   dispatch"

Arfrever Frehtes Taifersar Arahesis (1):

-  meson: Improve detection of Python when using Meson >=0.50.

Bas Nieuwenhuizen (2):

-  radv: Only allocate supplied number of descriptors when variable.
-  radv: Fix interactions between variable descriptor count and inline
   uniform blocks.

Caio Marcelo de Oliveira Filho (1):

-  spirv: Ignore ArrayStride in OpPtrAccessChain for Workgroup

Dylan Baker (2):

-  meson: Add support for using cmake for finding LLVM
-  Revert "meson: Add support for using cmake for finding LLVM"

Eric Anholt (2):

-  freedreno: Fix UBO load range detection on booleans.
-  freedreno: Fix up end range of unaligned UBO loads.

Eric Engestrom (1):

-  meson: bump required libdrm version to 2.4.81

Gert Wollny (2):

-  gallium: Add CAP for opcode DIV
-  vl: Use CS composite shader only if TEX_LZ and DIV are supported

Ian Romanick (1):

-  glsl: Don't increase the iteration count when there are no
   terminators

James Clarke (1):

-  meson: GNU/kFreeBSD has DRM/KMS and requires -D_GNU_SOURCE

Jason Ekstrand (2):

-  anv/descriptor_set: Only write texture swizzles if we have an image
   view
-  iris: Use a uint16_t for key sizes

Jory Pratt (2):

-  util: Heap-allocate 256K zlib buffer
-  meson: Search for execinfo.h

Juan A. Suarez Romero (3):

-  docs: add sha256 checksums for 19.1.1
-  intel: fix wrong format usage
-  Update version to 19.1.2

Kenneth Graunke (2):

-  iris: Enable PIPE_CAP_SURFACE_REINTERPRET_BLOCKS
-  gallium: Make util_copy_image_view handle shader_access

Lionel Landwerlin (2):

-  intel/compiler: fix derivative on y axis implementation
-  intel/compiler: don't use byte operands for src1 on ICL

Nanley Chery (2):

-  intel: Add and use helpers for level0 extent
-  isl: Don't align phys_level0_sa by block dimension

Nataraj Deshpande (1):

-  anv: Add HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED in vk_format

Pierre-Eric Pelloux-Prayer (2):

-  mesa: delete framebuffer texture attachment sampler views
-  radeon/uvd: fix calc_ctx_size_h265_main10

Rob Clark (1):

-  freedreno/a5xx: fix batch leak in fd5 blitter path

Sagar Ghuge (1):

-  glsl: Fix round64 conversion function

Samuel Pitoiset (1):

-  radv: only enable VK_AMD_gpu_shader_{half_float,int16} on GFX9+

Sergii Romantsov (1):

-  i965: leaking of upload-BO with push constants

Ville Syrjälä (1):

-  anv/cmd_buffer: Reuse gen8 Cmd{Set, Reset}Event on gen7
