Mesa 19.2.1 Release Notes / 2019-10-09
======================================

Mesa 19.2.1 is a bug fix release which fixes bugs found since the 19.2.0
release.

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

Mesa 19.2.1 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 checksum
---------------

::

       4cc53ca1a8d12c6ff0e5ea44a5213c05c88447ab50d7e28bb350cd29199f01e9  mesa-19.2.1.tar.xz

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

-  None

Bug fixes
---------

-  meson.build:1447:6: ERROR: Problem encountered: libdrm required for
   gallium video statetrackers when using x11
-  Mesa doesn't build with current Scons version (3.1.0)
-  libXvMC-1.0.12 breaks mesa build
-  Meson can't find 32-bit libXvMCW in non-standard path
-  Mesa installs gl.pc and egl.pc even with libglvnd >= 1.2.0

Changes
-------

Andreas Gottschling (1):

-  drisw: Fix shared memory leak on drawable resize

Andres Gomez (1):

-  egl: Remove the 565 pbuffer-only EGL config under X11.

Andrii Simiklit (1):

-  glsl: disallow incompatible matrices multiplication

Bas Nieuwenhuizen (1):

-  radv: Fix condition for skipping the continue CS.

Connor Abbott (1):

-  nir/opt_large_constants: Handle store writemasks

Danylo Piliaiev (1):

-  st/nine: Ignore D3DSIO_RET if it is the last instruction in a shader

Dylan Baker (9):

-  meson: fix logic for generating .pc files with old glvnd
-  meson: Try finding libxvmcw via pkg-config before using find_library
-  meson: Link xvmc with libxv
-  meson: gallium media state trackers require libdrm with x11
-  .cherry-ignore: Update for 19.2.1 cycle
-  meson: Only error building gallium video without libdrm when the
   platform is drm
-  scripts: Add a gen_release_notes.py script
-  release: Add an update_release_calendar.py script
-  bin: delete unused releasing scripts

Eric Engestrom (3):

-  radv: fix s/load/store/ copy-paste typo
-  meson: drop -Wno-foo bug workaround for Meson < 0.46
-  meson: add missing idep_nir_headers in iris_gen_libs

Erik Faye-Lund (1):

-  glsl: correct bitcast-helpers

Ian Romanick (1):

-  nir/range-analysis: Bail if the types don't match

Jason Ekstrand (1):

-  intel/fs: Fix fs_inst::flags_read for ANY/ALL predicates

Ken Mays (1):

-  haiku: fix Mesa build

Kenneth Graunke (2):

-  iris: Disable CCS_E for 32-bit floating point textures.
-  iris: Fix iris_rebind_buffer() for VBOs with non-zero offsets.

Lionel Landwerlin (6):

-  anv: gem-stubs: return a valid fd got anv_gem_userptr()
-  intel: use proper label for Comet Lake skus
-  mesa: don't forget to clear \_Layer field on texture unit
-  intel: fix topology query
-  intel: fix subslice computation from topology data
-  intel/isl: Set null surface format to R32_UINT

Marek Olšák (7):

-  gallium/vl: don't set PIPE_HANDLE_USAGE_EXPLICIT_FLUSH
-  gallium: extend resource_get_param to be as capable as
   resource_get_handle
-  radeonsi/gfx10: fix L2 cache rinse programming
-  ac: fix incorrect vram_size reported by the kernel
-  ac: fix num_good_cu_per_sh for harvested chips
-  ac: add radeon_info::tcc_harvested
-  radeonsi/gfx10: fix corruption for chips with harvested TCCs

Mauro Rossi (1):

-  android: compiler/nir: build nir_divergence_analysis.c

Michel Dänzer (1):

-  radeonsi: fix VAAPI segfault due to various bugs

Michel Zou (1):

-  scons: add py3 support

Prodea Alexandru-Liviu (1):

-  scons/MSYS2-MinGW-W64: Fix build options defaults

Rhys Perry (1):

-  nir/opt_remove_phis: handle phis with no sources

Stephen Barber (1):

-  nouveau: add idep_nir_headers as dep for libnouveau

Tapani Pälli (2):

-  iris: disable aux on first get_param if not created with aux
-  anv/android: fix images created with external format support

pal1000 (2):

-  scons: Fix MSYS2 Mingw-w64 build.
-  scons/windows: Support build with LLVM 9.
