Mesa 22.0.4 Release Notes / 2022-05-19
======================================

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

Mesa 22.0.4 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.4 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
---------------

::

   c7971f58fa826e474617cda53250c6600fce60994b9fac5b641522e21f471ed4  mesa-22.0.4.tar.xz


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

- None


Bug fixes
---------

- turnip: gfxbench mh3.1 offscreen crash with ANGLE
- [radv] DCC causes artifacts in Senran Kagura Shinovi Versus
- Radeon RX 5700XT crash when using prusa-slicer
- clover: Assertion \`NumContainedTys && "Attempting to get element type of opaque pointer"' failed


Changes
-------

Alyssa Rosenzweig (1):

- nir: Don't set writes_memory for reading XFB

Chia-I Wu (1):

- anv: advertise rectangularLines only for Gen10+

Danylo Piliaiev (3):

- tu: Fix indices of drm_msm_gem_submit_cmd when filling them
- tu: Do not flush ccu in clear/blits during renderpass
- pps: Open writable renderer node in DrmDevice::create

Dylan Baker (17):

- docs: Add sh256sum for mesa 20.0.3
- .pick_status.json: Update to 7f91e8fad94dd34f83c6a124dbbe5d210be7715f
- .pick_status.json: Update to 14b1ed1ce105d42652f70e2fd13c90fc4f2e7ffc
- .pick_status.json: Mark 69e6417e19793043e4bb3cd500cfcf377bce4c03 as denominated
- .pick_status.json: Mark c025cb9ee9d79ebfb66a577556e04deecfe012ed as denominated
- .pick_status.json: Mark 6317f88b044501354a052064478d5b43dfe41809 as denominated
- .pick_status.json: Mark 5ff3fa5912778adb8117fa26bfe4786b583e741b as denominated
- .pick_status.json: Mark 9a412c10b7a96adf71c9a2ca44a0abca75de1c49 as denominated
- .pick_status.json: Mark 0e49ef5c9f2ec34567613226ad498edca28bce88 as denominated
- .pick_status.json: Mark ae369e9f6d4f2c826f1f2a748c32a14f9d5f1f54 as denominated
- .pick_status.json: Update to 14b1ed1ce105d42652f70e2fd13c90fc4f2e7ffc
- .pick_status.json: Mark 8c1d9c7b744b2e5b40fd42cfd51256b16deea6a8 as denominated
- .pick_status.json: Mark f1d1371e512e32d03f7f54d873020e589ee67d47 as denominated
- .pick_status.json: Update to 57293dee2b11ba7e52052edc4d0437f08db19144
- .pick_status.json: Update to 5c90eb1c53f46e86717c6bf4d5253dd23c4dac1f
- .pick_status.json: Mark 5a3aee78cbb70918b413cdd40dffcae7c9e97d8c as denominated
- ci: Some panfrost tests are unexpectedly passing.

Georg Lehmann (1):

- nir/opt_algebraic: Fix mask in shift by constant combining.

Icecream95 (6):

- nir/lower_tex: Copy more fields in lower_tex_to_txd and friends
- pan/mdg: Keep min_bound at 16 when alignment requires it
- pan/mdg: Use MAX2 to set min_alignment
- pan/mdg: Fix mask usage when filling before a spill
- pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled
- pan/mdg: Fix multiple spilt writes in the same bundle

Jason Ekstrand (4):

- vulkan/wsi: Set the right stage flags for semaphore waits
- gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers
- nir/cf: Return a cursor from nir_cf_extract as well
- nir: Preserve metadata if remove_dead_derefs makes no progress

Lionel Landwerlin (4):

- nir/cf: return cursor after insertion of cf_list
- nir/lower_shader_calls: don't use nop instructions as cursors
- nir/lower_shader_calls: don't insert code after break/continue
- nir/lower_shader_calls: put inserted instructions into a dummy block

Marcin Ślusarz (2):

- anv: update task/mesh distribution with the recommended values
- anv: disable streamout before emitting mesh shading state

Marek Olšák (2):

- ac/llvm: set the correct cache policy for sparse buffer loads
- radeonsi: fix a crash when failing to create a context

Mike Blumenkrantz (14):

- util/blitter: fix sampler restore with 0 saved samplers
- st/draw_feedback: set constant buffer stride
- llvmpipe: always set ssbo data pointers for draw
- gallivm: fix oob txf swizzling
- zink: fix up sparse texture sampling for shadow samplers
- zink: clamp out min_lod operands for explicit lod ops
- zink: fix sparse binding for arrayed textures
- zink: fix sparse texture depth calcs for arrayed textures
- zink: remove refs from shader images
- zink: reuse local res pointer in set_shader_images
- zink: simplify dumb update flagging in set_shader_images
- zink: read shader image r/w usage from incoming data struct
- zink: copy incoming shader image struct after doing updates
- zink: stop leaking shader image surfaces

Pavel Ondračka (1):

- r300: guard for unsigned underflow when unrolling loops

Pierre-Eric Pelloux-Prayer (2):

- radeonsi: don't use wave32 for GE on gfx10 if culling is used
- amd: fix ac_build_mbcnt_add in wave32 mode

Rhys Perry (1):

- aco/ra: fix vgpr_limit

Samuel Pitoiset (3):

- radv: re-emit dynamic line stipple state if the primitive topology changed
- radv: disable instance packing to fix pipeline query stats
- radv: disable DCC for Senra Kagura Shinovi Versus

Thomas Debesse (1):

- gallium/clover: pass -no-opaque-pointers to Clang
