Mesa 19.3.2 Release Notes / 2020-01-09
======================================

Mesa 19.3.2 is a bug fix release which fixes bugs found since the 19.3.1
release.

Mesa 19.3.2 implements the OpenGL 4.6 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.6. OpenGL 4.6 is **only** available if requested at context creation.
Compatibility contexts may report a lower version depending on each
driver.

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

::

       4e3aee324616352bbc7f58d47ab573e10f68cc7719fd045bd6d3abcdd97ee1c1  mesa-19.3.2.tar.xz

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

-  None

Bug fixes
---------

-  Rise of the Tomb Raider benchmark crash on Dell XPS 7390 2-in-1 w/
   Iris Plus Graphics (Ice Lake 8x8 GT2)
-  Raven Ridge (2400G): Resident Evil 2 crashes my machine
-  Rocket League ingame artifacts
-  [radv] SteamVR direct mode no longer works
-  [RADV] [Navi] LOD artifacting in Halo - The Master Chief Collection
   (Halo Reach)
-  [ANV] unused create parameters not properly ignored
-  Blocky corruption in The Surge 2
-  radeonsi: Floating point exception on R9 270 gpu for a set of traces
-  [CTS]
   dEQP-VK.api.image_clearing.core.clear_color_image.2d.linear.single_layer.r32g32b32\_\*
   fail on GFX6-GFX8
-  Vulkan: Please consider adding another sample count to
   sampledImageIntegerSampleCounts
-  Navi10: Bitrate based encoding with VAAPI/RadeonSI unusable
-  [GFX10] Glitch rendering Custom Avatars in Beat Saber
-  intel/fs: Check for 16-bit immediates in
   fs_visitor::lower_mul_dword_inst is too strict

Changes
-------

Andrii Simiklit (3):

-  glsl: fix an incorrect max_array_access after optimization of
   ssbo/ubo
-  glsl: fix a binding points assignment for ssbo/ubo arrays
-  glsl/nir: do not change an element index to have correct block name

Bas Nieuwenhuizen (7):

-  radv: Limit workgroup size to 1024.
-  radv: Expose all sample counts for integer formats as well.
-  amd/common: Handle alignment of 96-bit formats.
-  nir: Add clone/hash/serialize support for non-uniform tex
   instructions.
-  spirv: Fix glsl type assert in spir2nir.
-  radv: Only use the gfx mipmap level offset/pitch for linear textures.
-  radv: Emit a BATCH_BREAK when changing pixel shaders or
   CB_TARGET_MASK.

Caio Marcelo de Oliveira Filho (4):

-  intel/fs: Lower 64-bit MOVs after lower_load_payload()
-  intel/fs: Fix lowering of dword multiplication by 16-bit constant
-  intel/vec4: Fix lowering of multiplication by 16-bit constant
-  anv: Ignore some CreateInfo structs when rasterization is disabled

Christian Gmeiner (1):

-  etnaviv: update resource status after flushing

Dylan Baker (2):

-  dcos: add releanse notes for 19.3.1
-  cherry-ignore: update for 19.3.2

Eric Engestrom (4):

-  util/format: remove left-over util_format_description_table
   declaration
-  amd: fix empty-body issues
-  nine: fix empty-body-issues
-  mesa: avoid returning a value in a void function

Gert Wollny (1):

-  r600: Fix maximum line width

Jason Ekstrand (2):

-  anv: Properly advertise sampledImageIntegerSampleCounts
-  intel/nir: Add a memory barrier before barrier()

Lionel Landwerlin (2):

-  loader: fix close on uninitialized file descriptor value
-  anv: don't close invalid syncfd semaphore

Marek Olšák (2):

-  winsys/radeon: initialize pte_fragment_size
-  radeonsi: disable SDMA on gfx8 to fix corruption on RX 580

Pierre-Eric Pelloux-Prayer (2):

-  radeon/vcn2: enable rate control for hevc encoding
-  radeonsi: check ctx->sdma_cs before using it

Samuel Pitoiset (2):

-  radv/gfx10: fix the out-of-bounds check for vertex descriptors
-  radv: return the correct pitch for linear mipmaps on GFX10

Timur Kristóf (1):

-  aco: Fix uniform i2i64.

Yevhenii Kolesnikov (2):

-  meta: Cleanup function for DrawTex
-  main: allow external textures for BindImageTexture
