# Mesa 21.2.3 Release Notes / 2021-09-29

Mesa 21.2.3 is a bug fix release which fixes bugs found since the 21.2.2 release.

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

    7245284a159d2484770e1835a673e79e4322a9ddf43b17859668244946db7174  mesa-21.2.3.tar.xz

## New features

- None

## Bug fixes

- Significant performance drop on Radeon HD 8400

- [nir][radv] Out of range shift when compiling Resident Evil Village shaders

- [nir][radv] Out of range shift when compiling Resident Evil Village shaders

- GL_EXT_disjoint_timer_query glGetInteger64v GL_TIMESTAMP failing with GL_INVALID_ENUM

- Possible miscompilation of an integer division with vulkan

## Changes

Boris Brezillon (3):

- panfrost: RGB10_A2_SNORM is not a valid texture format on v6+

- panfrost: RGB332_UNORM is not a valid texture format on v6+

- pan/blit: Fix a NULL dereference in the preload path

Charmaine Lee (1):

- svga: fix render target views leak

Dylan Baker (15):

- docs/relnotes/21.2.2: Add SHA256 sum

- .pick_status.json: Update to d3511e8af21ac11b8e7f5305942624d1ae29a73a

- .pick_status.json: Mark a79ac1bee14d6600cde2788bf136aa59b69a786f as backported

- .pick_status.json: Mark e0533ebf16edcb8b9f0687d3155417e6c1c53d35 as backported

- .pick_status.json: Mark f241bd3749cec55ca5fac9cb24f17553ab31c0e1 as backported

- .pick_status.json: Mark 268158a758551a46feb120af3f3cff5fb9292310 as backported

- .pick_status.json: Mark 6373dd814a74d84becbbbfc42673df147adb6e9b as denominated

- .pick_status.json: Mark eb7d2ef070a8819c2859c10559496836275848e2 as denominated

- .pick_status.json: Mark a810e58051b4a065b0aade86c45bf7ed254fc726 as denominated

- .pick_status.json: Update to 400da4900e2d72ee807cc3eedac9ace1dfd5dfba

- .pick_status.json: Update to dc354b8fda928861b7dfff3f8f53159e0053f9f5

- .pick_status.json: Update to b653164973bbd3053d3b9ed37c4362af96346900

- .pick_status.json: Update to ecc6d78b0541d66765d434dd4158066d6c664f8e

- .pick_status.json: Update to fbbe00c0b7f7aa5aca42a82358332eb2de56b9af

- lavapipe/ci: Add additional failing test

Ella-0 (1):

- v3d: add R10G10B10X2_UNORM to format table

Emma Anholt (1):

- mesa: Fix missing CopyTexImage formats for OES_required_internalformat.

Italo Nicola (1):

- panfrost: fix null deref when no color buffer is attached

Jordan Justen (2):

- iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13

- intel/dev: Add display_ver and set adl-p to 13

Lionel Landwerlin (1):

- nir: fix opt_memcpy src/dst mixup

Marcin Ślusarz (1):

- intel/compiler: INT DIV function does not support source modifiers

Marek Olšák (2):

- radeonsi: fix a depth texturing performance regression on gfx6-7

- radeonsi: fix clearing index_size for NGG fast launch

Marek Vasut (1):

- freedreno: Handle timeout == PIPE_TIMEOUT_INFINITE and rollover

Neha Bhende (1):

- auxiliary/indices: convert primitive type PIPE_PRIM_PATCHES

Qiang Yu (1):

- radeonsi: fix ps SI_PARAM_LINE_STIPPLE_TEX arg

Rhys Perry (3):

- aco: don’t coalesce constant copies into non-power-of-two sizes

- aco/tests: add idep_amdgfxregs_h

- radv: don’t require a GS copy shader to use the cache with NGG VS+GS

Rob Clark (2):

- freedreno: Use correct key for binning pass shader

- freedreno/drm: Don’t return shared/control bo’s to cache

Tapani Pälli (1):

- mesa: fix timestamp enum with EXT_disjoint_timer_query

Timur Kristóf (5):

- aco/optimize_postRA: Use iterators instead of operator[] of std::array.

- ac/nir: Fix match_mask to work correctly for VS outputs.

- nir: Exclude non-generic patch variables from get_variable_io_mask.

- ac/nir/nggc: Refactor save_reusable_variables.

- ac/nir/nggc: Don’t reuse uniform values from divergent control flow.

Zachary Michaels (1):

- X11: Ensure that VK_SUBOPTIMAL_KHR propagates to user code