# Mesa 22.0.3 Release Notes / 2022-05-04

Mesa 22.0.3 is a bug fix release which fixes bugs found since the 22.0.2 release.

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

    9f2b30f5276a9abaf71aafc6979685e2636189de1a87aea2c9e69744a6d0ebb9  mesa-22.0.3.tar.xz

## New features

- None

## Bug fixes

- freedreno: fragile location packing can break cull/clip distance

- turnip: dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.generated_args.* failures

- piglit ext_image_dma_buf_import.ext_image_dma_buf_import* regression

- piglit ext_image_dma_buf_import.ext_image_dma_buf_import* regression

- Grid Autosport via proton/vulkan: glitches on the grass on amdgpu, fine on amdgpu-pro

- [Bisected] r600: Big performance regression on some games

- Huge amount of anon_inode:sync_file file descriptor created

- anv regressions from commit 57445adc891 “anv: Re-enable CCS_E on TGL+”

- NIR validation failed after nir_opt_if

- intel: integer_mad_hi / integer_mad_sat / integer_mul_hi produce invalid results

- Aperture Desk Job rendering artifacts Intel TGL

- intel: integer_sub_sat produces stack corruption / OpISubBorrow compilation issue

- r300/rv530: “Black rendering” of Baldur’s Gate Dark Alliance in Xbox emulator CXBX-R under wine with Gallium Nine and RADEON_DEBUG=use_tgsi

- radv/aco: xfb bug

- Occasional flicker corruption in Rage 2, e.g. after loading, with ACO on RX 5700 XT

- RADV: Quake 2 RTX v1.6.0 Corrupted Graphics

- ‘../src/amd/common/ac_surface.c:1575: void ac_copy_dcc_equation(const struct radeon_info *, ADDR2_COMPUTE_DCCINFO_OUTPUT *, struct gfx9_meta_equation *): assertion “dcc->equation.gfx9.num_bits <= ARRAY_SIZE(equation->u.gfx9.bit)” failed’

## Changes

Chia-I Wu (1):

- util: Keep quiet NaNs quiet when converting to half float.

Dave Airlie (2):

- llvmpipe: add user memory resources to the debug global list.

- vulkan/wsi: keep allocate queue families in image, just don’t fill them

Dylan Baker (21):

- docs: Add sha256sums for 22.0.2

- .pick_status.json: Update to 5e84335fb578f03938468bb8ac0029f68349d330

- .pick_status.json: Update to a6a4bf0f1eae36cb68d5c67653ac013fe0fbde8a

- .pick_status.json: Update to ef9d97ec1f9d9834db3066b5a7ec67ce6d4ecd86

- .pick_status.json: Update to f17d3a125126dd7e0f1c2072545976cec1eeb1c8

- .pick_status.json: Update to 1dc697942af7254798f83583f5788e1abf136d27

- .pick_status.json: Mark d5870c45ae82c091e72f1258920aa54974e19a36 as denominated

- .pick_status.json: Mark f348103fce4484b891a58bf3147b71e3a3558135 as denominated

- .pick_status.json: Mark a4f502de3228ec37dfcaa38225077ec3709d74ea as denominated

- .pick_status.json: Mark 1d250b7b959d2a206280e4f83db05780a83e0927 as denominated

- .pick_status.json: Mark 4eca6e3e5d2b9426d6357e9af1514a0c942638f0 as denominated

- .pick_status.json: Mark 3dcb80da9d6d34e567680ef7fecd24aab4537e8a as denominated

- .pick_status.json: Mark dd078d13cb6b445ad02087a3e80433ef053b7490 as denominated

- .pick_status.json: Mark bbdf22ce136a7f02a8bd6c7e646d12a7e10db18d as denominated

- .pick_status.json: Mark 8806f444a5c005d20cd4ec4ed42e508ffd9cb1da as denominated

- .pick_status.json: Mark 373c8001d6615d70d112c7526ea4f4953257b6b9 as denominated

- .pick_status.json: Mark a056cbc691843861da417b5bcea9f871fdceeb19 as denominated

- .pick_status.json: Mark fc5edf9b68159288baa22c055e471de958812312 as denominated

- .pick_status.json: Mark e509598470c000498c3e1328e012142d9047e292 as denominated

- .pick_status.json: Update to 53a94fbdd57acbbe2bc745901cbfeca968e25273

- .pick_status.json: Update to 2505afc430c6b151e7e4243503953ba0b0a2c842

Erik Faye-Lund (3):

- meson: remove unused defines

- gallium/xlib: fix stale comment

- mesa: add missing error-path

Filip Gawin (1):

- r300: Print warning when stubbing derivatives

Gert Wollny (1):

- r600: Allow eight bit, three channel formats for vertex buffers

Icecream95 (1):

- panfrost: Fix pack_32_2x16 implementation

Iván Briano (1):

- vulkan/wsi/wayland: Fix double free on error condition

Faith Ekstrand (4):

- util/set: Respect found in search_or_add_pre_hashed

- nir: Lower all bit sizes of usub_borrow

- vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping

- spirv: Handle Op*MulExtended for non-32-bit types

Jordan Justen (3):

- vulkan/wsi/x11: Use atomic_int with sent_image_count

- iris: Fix assertion meant to only target the clear-color stride

- iris: Fix assertion meant to only target the clear-color stride

Juan A. Suarez Romero (1):

- mesa: unref syncobj after wait_sync

Konstantin Seurer (2):

- radv: Fix barriers with cp dma

- radv: Fix lowering ignore_ray_intersection

Lionel Landwerlin (6):

- nir/divergence: handle load_global_block_intel

- intel: fixup number of threads per EU on XeHP

- anv: fix acceleration structure descriptor template writes

- anv: skip acceleration structure in binding table emission

- anv: fix clflush usage on utrace copy batch

- anv: fix invalid utrace memcpy l3 config on gfx < 11

Marek Olšák (3):

- nir: fix an uninitialized variable valgrind warning in nir_group_loads

- ac/surface: fix an addrlib race condition on gfx9

- winsys/amdgpu: fix a mutex deadlock when we fail to create pipe_screen

Mike Blumenkrantz (10):

- wgl: support GL 4.6

- zink: fix tcs control barriers for use without vk memory model

- zink: fix semantics mask for compute control barriers

- zink: add synchronization for buffer clears

- mesa/st: clamp GL_RENDERBUFFER to GL_TEXTURE_2D for sparse queries

- glsl/nir: set new_style_shadow for sparse tex ops as necessary

- zink: fix group memory barrier emission

- vulkan: bump layer api versions to current vk header version

- llvmpipe: disable compute statistics queries if queries are disabled

- llvmpipe: disable statistic queries during draw if queries are disabled

Nanley Chery (2):

- Revert “anv: Disable CCS_E for some 8/16bpp copies on TGL+”

- iris: Return a 64B stride for clear color plane

Paulo Zanoni (1):

- iris: fix race condition during busy tracking

Pavel Ondračka (1):

- r300: set PIPE_BIND_CONSTANT_BUFFER for const_uploader

Pierre-Eric Pelloux-Prayer (1):

- ac/surface: adjust gfx9.pitch[*] based on surf->blk_w

Samuel Pitoiset (6):

- radv: only apply enable_mrt_output_nan_fixup for 32-bit float MRTs

- aco: fix load_barycentric_at_{sample,offset} on GFX6-7

- nir: fix marking XFB varyings as always active IO

- nir: mark XFB varyings as unmoveable to prevent them to be remapped

- radv: fix handling divisor == 0 with dynamic vertex input state

- radv: enable radv_disable_sinking_load_input_fs for Grid Autosport

Sviatoslav Peleshko (1):

- anv: workaround apps that assume full subgroups without specifying it

Tapani Pälli (1):

- isl: disable mcs (and mcs+ccs) for color msaa on DG2

Timothy Arceri (1):

- nir: fix sorting before assigning varying driver locations

Yevhenii Kolesnikov (1):

- nir: Remove single-source phis before opt_if_loop_last_continue