Mesa 20.1.9 Release Notes / 2020-09-30
======================================

Mesa 20.1.9 is a bug fix release which fixes bugs found since the 20.1.8 release.

Mesa 20.1.9 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 20.1.9 implements the Vulkan 1.2 API, but the version reported by
the apiVersion property of the VkPhysicalDeviceProperties struct
depends on the particular driver being used.

SHA256 checksum
---------------

::

    b251ca0769b722058986640d48f8457c596142cfbee1a83cba91b83391427382  mesa-20.1.9.tar.xz


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

- None


Bug fixes
---------

- Horizon Zero Dawn graphics corruption with with radv
- Running Amber test leads to VK_DEVICE_LOST
- \[spirv-fuzz\] Shader generates a wrong image
- anv: dEQP-VK.robustness.robustness2.\* failures on gen12
- \[RADV\] Problems reading primitive ID in fragment shader after tessellation
- Substance Painter 6.1.3 black glitches on Radeon RX570
- vkCmdCopyImage broadcasts subsample 0 of MSAA src into all subsamples of dst on RADV


Changes
-------

Bas Nieuwenhuizen (3):

- amd/common: Cache intra-tile addresses for retile map.
- ac/surface: Fix depth import on GFX6-GFX8.
- st/mesa: Deal with empty textures/buffers in semaphore wait/signal.

Christian Gmeiner (1):

- etnaviv: simplify linear stride implementation

Connor Abbott (1):

- nir/lower_io_arrays: Fix xfb_offset bug

Danylo Piliaiev (4):

- nir/lower_io: Eliminate oob writes and return zero for oob reads
- nir/large_constants: Eliminate out-of-bounds writes to large constants
- nir/lower_samplers: Clamp out-of-bounds access to array of samplers
- intel/fs: Disable sample mask predication for scratch stores

Dylan Baker (1):

- meson/anv: Use variable that checks for --build-id

Eric Engestrom (9):

- docs/relnotes: add sha256 sums to 20.1.8
- .pick_status.json: Update to d74fe47101995d2659b1e59495d2f77b9dc14f3d
- .pick_status.json: Update to c669db0b503c10faf2d1c67c9340d7222b4f946e
- .pick_status.json: Update to a3543adc2628461818cfa691a7f547af7bc6f0fb
- .pick_status.json: Mark 802d3611dcec8102ef75fe2461340c2997af931e as denominated
- .pick_status.json: Mark e98c7a66347a05fc166c377ab1abb77955aff775 as denominated
- .pick_status.json: Mark 6b1a56b908e702c06f55c63b19b695a47f607456 as denominated
- .pick_status.json: Mark 89401e58672e1251b954662f0f776a6e9bce6df8 as denominated
- .pick_status.json: Update to efaea653b5766427701817ab06c319902a148ee9

Erik Faye-Lund (2):

- mesa: handle GL_FRONT after translating to it
- st/mesa: use roundf instead of floorf for lod-bias rounding

Jason Ekstrand (2):

- intel/fs/swsb: SCHEDULING_FENCE only emits SYNC_NOP
- nir/liveness: Consider if uses in nir_ssa_defs_interfere

Jesse Natalie (1):

- glsl_type: Add packed to structure type comparison for hash map

Karol Herbst (1):

- spirv: extract switch parsing into its own function

Lionel Landwerlin (1):

- intel/compiler: fixup Gen12 workaround for array sizes

Marek Olšák (1):

- radeonsi: fix indirect dispatches with variable block sizes

Nanley Chery (1):

- blorp: Ensure aligned HIZ_CCS_WT partial clears

Pierre-Eric Pelloux-Prayer (3):

- mesa: fix glUniform\* when a struct contains a bindless sampler
- gallium/vl: do not call transfer_unmap if transfer is NULL
- gallium/vl: add chroma_format arg to vl_video_buffer functions

Pierre-Loup A. Griffais (2):

- radv: fix null descriptor for dynamic buffers
- radv: fix vertex buffer null descriptors

Rhys Perry (2):

- radv: initialize with expanded cmask if the destination layout needs it
- radv,aco: fix reading primitive ID in FS after TES

Samuel Pitoiset (2):

- radv: fix transform feedback crashes if pCounterBufferOffsets is NULL
- spirv: fix emitting switch cases that directly jump to the merge block
