Mesa 20.1.8 Release Notes / 2020-09-16
======================================

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

Mesa 20.1.8 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.8 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
---------------

::

    df21351494f7caaec5a3ccc16f14f15512e98d2ecde178bba1d134edc899b961  mesa-20.1.8.tar.xz


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

- None


Bug fixes
---------

- Crash in ruvd_end_frame when calling vaBeginPicture/vaEndPicture without rendering anything
- khr_debug-push-pop-group_gl: ../src/util/simple_mtx.h:86: simple_mtx_lock: Assertion \`c != _SIMPLE_MTX_INVALID_VALUE' failed.
- Amber test opt_peel_loop_initial_if: Assertion failed
- Dirt Rally: Flickering glitches on certain foliage since Mesa 20.1.0 caused by MSAA
- [BRW] WRC 5 asserts with gallium nine and iris.


Changes
-------

Andrey Vostrikov (1):

- egl/x11: Free memory allocated for reply structures on error

Bas Nieuwenhuizen (2):

- radv: Fix threading issue with submission refcounts.
- radeonsi: Work around Wasteland 2 bug.

Danylo Piliaiev (1):

- intel/compiler: Fix pointer arithmetic when reading shader assembly

Dave Airlie (1):

- gallivm: disable brilinear for lod bias and explicit lod.

Eric Anholt (2):

- gallium/tgsi_exec: Fix up NumOutputs counting
- freedreno: Make the pack struct have a .qword for wide addresses.

Eric Engestrom (4):

- docs/relnotes: add sha256 sums to 20.1.7
- .pick_status.json: Update to 123bdb61cc0be64ee29b63cf27565ec98c2a0ab8
- .pick_status.json: Mark c8ac01af33a5bc63822915f08f89a7dbaf7d433f as denominated
- meson: drop leftover PTHREAD_SETAFFINITY_IN_NP_HEADER

Icecream95 (1):

- pan/mdg: Fix spilling of non-32-bit types

Jason Ekstrand (3):

- intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy
- spirv: Run repair_ssa if there are discard instructions
- nir: More NIR_MAX_VEC_COMPONENTS fixes

Jordan Justen (1):

- anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+

Marek Olšák (1):

- Revert "ac: generate FMA for inexact instructions for radeonsi"

Michel Zou (1):

- swr: fix build with mingw

Nanley Chery (2):

- iris: Fix aux assertion in resource_get_handle
- blorp: Fix alignment test for HIZ_CCS_WT fast-clears

Pierre-Eric Pelloux-Prayer (5):

- mesa: rename _mesa_free_errors_data
- mesa: add bool param to _mesa_free_context_data
- mesa/st: release debug_output after destroying the context
- r600/uvd: set dec->bs_ptr = NULL on unmap
- radeon/vcn: set dec->bs_ptr = NULL on unmap

Qiang Yu (2):

- radeonsi: fix syncobj wait timeout
- radeonsi: fix max syncobj wait timeout

Rhys Perry (2):

- aco: fix byte_align_scalar for 3 dword vectors
- nir/opt_if: fix opt_if_merge when destination branch has a jump

Timur Kristóf (1):

- aco: Fix emit_boolean_exclusive_scan in wave32 mode.

Tony Wasserka (3):

- radv: Fix various non-critical integer overflows
- aco: Fix integer overflows when emitting parallel copies during RA
- amd/common: Fix various non-critical integer overflows
