# Mesa 22.1.2 Release Notes / 2022-06-16

Mesa 22.1.2 is a bug fix release which fixes bugs found since the 22.1.1 release.

Mesa 22.1.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 22.1.2 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

    0971226b4a6a3d10cfc255736b33e4017e18c14c9db1e53863ac1f8ae0deb9ea  mesa-22.1.2.tar.xz

## New features

- None

## Bug fixes

- Random texture flickering in Minecraft

- panfrost: Broken interaction between CRC and tile size

- [anv, bisected, regression] Pipeline statistics query segfaults

- d3d12: point coord regression due to NIR IO changes

- Gallium driver crashes due to fd double close in iris driver

- Mesa currently FTBFS on x32 architecture

- Runescape randomly crashes. malloc_consolidate(): unaligned fastbin chunk

## Changes

Alyssa Rosenzweig (7):

- panfrost: Fix XML for AFBC header on v9

- pan/bi: Fix clper_xor on Mali-G31

- pan/mdg: Scalarize with 64-bit sources

- pan/mdg: Remove uppercase write masks

- panfrost: Fix inverted indirect dispatch condition

- panfrost: Inline pan_fbd_has_zs_crc_ext

- panfrost: Disable CRC at <16x16 tile sizes

Boris Brezillon (5):

- microsoft/spirv_to_dxil: Fix push_constants type declaration

- microsoft/spirv_to_dxil: Fix the push_constant UBO size calculation

- nir: Fix flat new_var assignment in create_new_io_vars()

- vulkan/util: Fill VkPhysicalDeviceIDProperties::deviceNodeMask

- microsoft/compiler: Images are no longer reprensented by uniform vars

Dave Airlie (1):

- llvmpipe: handle timespec overflow on fence waits.

Dylan Baker (7):

- docs: Add sh256sums for 22.1.1

- .pick_status.json: Update to 1c63a0beafefccec599ddbe355ec5a8b61df6438

- .pick_status.json: Update to ad5c84999b9eb2522cdf78bb0890939450280cf3

- .pick_status.json: Update to 49234585772f49626435d3d9324ad144e27fc453

- .pick_status.json: Update to 35dd4ac886283444294238ae0be1a7edcc776c8a

- .pick_status.json: Update to 2ef6b0aab1c7b99b85f2d88ced44a63f28cfca6b

- .pick_status.json: Update to ea33e44ce4f95ce45729b75dee34be50df749f09

Emma Anholt (1):

- nouveau/nv30: Make sure fsat is lowered in the VS.

Erik Faye-Lund (6):

- nir: introduce and use nir_component_mask

- freedreno: remove stale makefile

- intel: remove stale makefile

- ci/windows: add back build-error detection

- dzn: handle stencil-attachment-optimal layout

- gallium: remove stale comment

Georg Lehmann (1):

- zink: Use VK_USE_64_BIT_PTR_DEFINES to check for 64bit platforms.

Iago Toral Quiroga (1):

- broadcom/compiler: disable flags optimization for loop conditions

Ian Romanick (1):

- anv: Remove FS executables when applying the null FS optimization

Faith Ekstrand (2):

- nir/builder: Add a nir_trim_vector helper

- compiler/types: Don’t place members in the previous substruct’s end padding

Jesse Natalie (2):

- nir: Consider PNTC to be a varying

- d3d12: Properly set HS input control point count

Juan A. Suarez Romero (1):

- v3d: save only required states in blitter

Kenneth Graunke (1):

- intel/compiler: Fix uncompaction of signed word immediates on Tigerlake

Kyle Russell (1):

- etnaviv: don’t halve max_instructions for GC400

Marek Olšák (2):

- ac/gpu_info: always retile DCC on gfx10 and newer chips

- gallium/u_threaded: fix buffer busyness tracking

Mike Blumenkrantz (31):

- st/pbo_compute: make compute download conditional in shader slightly more readable

- st/pbo_compute: fix z coords for compute pbos

- zink: remove first_frame stalling

- lavapipe: fix dynamic patchControlPoints

- zink: force queries to start/end out of renderpass

- egl/wayland: manually swap backbuffer when using zink

- egl/wayland: skip buffer creation on zink

- kopper: use get_drawable_info path for non-x11 drawables

- zink: fix dmabuf plane layout struct scoping

- format_utils: properly parenthesize macro params

- zink: always create descriptor templates

- zink: fix ntv partial stores

- zink: fix variable locations in manual xfb emission

- zink: scalarize when rewriting explicit 64bit io

- zink: use separate pointer for swapchain presents

- zink: keep a count of async presents occuring for a given swapchain

- zink: defer old swapchain destruction

- zink: fix framebuffer attachment usage asserts for dummy attachments

- zink: only update layout when doing mixed zs attachment renderpass check

- zink: add implicit sync workaround for non-mesa drivers

- zink: unset res->swapchain upon killing a swapchain

- zink: fix up KILL to a more sensible log message

- zink: fix generated tcs update path

- zink: unset generated tcs pointer from tes on deletion

- zink: fix generated tcs deletion

- zink: avoid uninit values in renderpass state

- zink: don’t print VK_EXT_shader_atomic_float warning for nir_intrinsic_image_deref_atomic_exchange

- zink: fix cubemap lowering for array samplers

- zink: fix cubemap lowering bit size

- zink: flag optimization pass after inlining uniforms

- zink: fix 32bit bo rewriting

Nagappa Koppad, Basanagouda (1):

- iris:Duplicate DRM fd internally instead of reuse.

Pierre-Eric Pelloux-Prayer (5):

- st/mesa: use mutex in st_get_texture_sampler_view_from_stobj

- gallium: add size attribute to winsys_handle

- va/surface: set the correct size in vaExportSurfaceHandle

- radeonsi: prevent recursion in si_decompress_dcc

- radeonsi: add helper to use si_screen::aux_context

Qiang Yu (1):

- mesa/program: fix nir output reg overflow

Rhys Perry (2):

- aco: fix SMEM load_global_amd with non-zero offset

- aco: fix SMEM load_global with VGPR address and non-zero offset

Samuel Pitoiset (1):

- radv: enable radv_zero_vram for Hammerting