Mesa 21.2.2 Release Notes / 2021-09-21¶
Mesa 21.2.2 is a bug fix release which fixes bugs found since the 21.2.1 release.
Mesa 21.2.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 21.2.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¶
c4aaf1bf974217ed825e1c536de6ab72a4e266d44bcf69fc4ec499039f99e5c4 mesa-21.2.2.tar.xz
New features¶
None
Bug fixes¶
RADV: consistent crash in Splitgate
[RADV] The game “Aliens: Fireteam Elite” start crashing after commit 2e56e2342094e8ec90afa5265b1c43503f662939
llvmpipe doesn’t compile a shader with an inner scope in a for loop
llvmpipe doesn’t compile the increment of a for a loop
Mesa 21.2.1 implementation error: unexpected state[0] in make_state_flags()
freedreno: regression in org.skia.skqp.SkQPRunner#gles_localmatriximagefilter
[Radeonsi] VA-API Encoding no longer works on AMD PITCAIRN
turnip: Geometry flickering in Genshin Impact after 83e9a7fbcf53b90d0de66985dbbf91986fc7b05d
OSMesa problem resizing
Memory leak: si_get_shader_binary_size is missing a call to ac_rtld_close
dEQP-GLES3.stress.draw.unaligned_data.random.4 segfault
gl_DrawID is incorrect for glMultiDrawElementsBaseVertex/glMultiDrawElementsIndirect
i915: GPU hang when doing FB fetch and gl_FragDepth write in one shader
../mesa-9999/src/amd/compiler/aco_instruction_selection.cpp:10009:30: error: ‘exchange’ is not a member of ‘std’
radv: disable DCC for displayable images with storage on navi12/14
RADV: Menu static/artifacts in Doom Eternal
Crash happens when testing GL_PIXEL_PACK_BUFFER
panfrost G31 - Cathedral crash- opengl 2.1 game (I guess)
panfrost / armv7 - crash with mesa newer than 21.0.3
freedreno C++14 build error
llvmpipe doesn’t compile a valid shader with an useless switch
GetFragDataLocation(prog, “gl_FragColor”) generates INVALID_OPERATION, but specs don’t say it should
Changes¶
Adrian Bunk (1):
util/format: NEON is not available with the soft-float ABI
Alyssa Rosenzweig (24):
panfrost: Handle non-dithered clear colours
panfrost: Disable shader-assisted indirect draws
pan/bi: Don’t set td in blend shaders
pan/bi: Correct the sr_count on +ST_TILE
pan/bi: Extract load_sample_id to a helper
pan/bi: Set the sample ID for blend shader LD_TILE
pan/bi: Use CLPER_V6 on Mali G31
panfrost: Remove unneeded quirks from T760
panfrost: Use blendable check for tib read check
pan/mdg: Insert moves before writeout when needed
panfrost: Zero initialize blend_shaders
panfrost: Fix NULL dereference in allowlist code
panfrost: Protect the variants array with a lock
panfrost: Don’t use ralloc for resources
panfrost: Move bo->label assignment into the lock
panfrost: Switch resources from an array to a set
panfrost: Cache number of users of a resource
panfrost: Maintain a bitmap of active batches
panfrost: Add foreach_batch iterator
panfrost: Prefer batch->resources to rsrc->users
panfrost: Remove rsrc->track.users
panfrost: Remove writer = NULL assignments
panfrost: Replace writers pointer with hash table
panfrost: Raise maximum texture size
Bas Nieuwenhuizen (2):
util/fossilize_db: Don’t corrupt keys during entry read.
nir: Avoid visiting instructions multiple times in nir_instr_free_and_dce.
Boris Brezillon (2):
panfrost: Add explicit padding to pan_blend_shader_key
panfrost: v7 does not support RGB32_UNORM textures
Connor Abbott (4):
ir3/ra: Fix available bitset for live-through collect srcs
ir3/ra: Handle huge merge sets
ir3/lower_pcopy: Use right flags for src const/immed
ir3/lower_pcopy: Set entry->done in the swap loop
Corentin Noël (1):
glx: Prevent crashes when an extension isn’t found
Daniel Schürmann (1):
aco: fix p_insert lowering with 16bit sources
Danylo Piliaiev (1):
turnip: re-emit vertex params after they are invalidated
Dave Airlie (5):
vulkan/wsi/sw: wait for image fence before submitting to queue
crocus: copy views before adjusting
crocus: add missing line smooth bits.
crocus: add missing fs dirty on reduced prim change.
crocus/gen7: add missing IVB/GT2 geom shader workaround.
Dylan Baker (11):
docs: add SHA256 sum for mesa 21.2.1
.pick_status.json: Update to 35c3f5f08b7b11f3896412fb5778f127be329615
.pick_status.json: Update to 8e5e70bb3de7f75ab1b039e2cec2975ba59e4af7
.pick_status.json: Update to 572ed2249465acd4c5f8a229d504a48cbddf95a5
.pick_status.json: Update to 71e748ad2443c373bb090fa1da2626da367b1d20
.pick_status.json: Update to 9bc61108d73db4e614dda2a27750ff80165eedbb
.pick_status.json: Update to a6a89aaa2f2943532d99d9bc7b80106a1740f237
.pick_status.json: Update to f4b61e90617f19ca1b8a3cfe046bac5801081057
.pick_status.json: Update to 076c8f041a63c74c31d9f541684860628a8b9979
.pick_status.json: Update to b58d6eaf1174aab296c4230e3895c65cba4bd9e3
.pick_status.json: Update to 7244aa19806cec5265e1e219cac1a99b0d3c62c6
Ed Martin (1):
winsys/radeonsi: Set vce_encode = true when VCE found
Emma Anholt (2):
llvmpipe: Free CS shader images on context destroy.
llvmpipe: Fix leak of CS local memory with 0 threads.
Erik Faye-Lund (4):
gallivm: fix texture-mapping with 16-bit result
gallium/nir/tgsi: fixup indentation
gallium/nir/tgsi: initialize file_max for inputs
lavapipe: fix reported subpixel precision for lines
Filip Gawin (2):
nir: fix shadowed variable in nir_lower_bit_size.c
nir: fix ifind_msb_rev by using appropriate type
Ian Romanick (3):
util: Add and use functions to calculate min and max int for a size
nir/lower_bit_size: Support add_sat and sub_sat
nir/lower_gs_intrinsics: Return progress if append_set_vertex_and_primitive_count makes progress
Icecream95 (1):
pan/bi: Extend bi_add_nop_for_atest for tilebuffer loads
Ilia Mirkin (3):
mesa: don’t return errors for gl_* GetFragData* queries
glsl: fix explicit-location ifc matching in presence of array types
freedreno: use OUT_WFI for emit_marker
Faith Ekstrand (1):
anv: Set CONTEXT_PARAM_RECOVERABLE to false
Jordan Justen (1):
intel/isl: Enable MOCS 61 for external surfaces on TGL
Juan A. Suarez Romero (1):
broadcom/compiler: force a last thrsw for spilling
Lionel Landwerlin (2):
nir: prevent peephole from generating invalid NIR
intel/fs: fix framebuffer reads
Mao, Marc (1):
iris: declare padding for iris_vue_prog_key
Marcin Ślusarz (2):
glsl: propagate errors from *=, /=, +=, -= operators
glsl: break out early if compound assignment’s operand errored out
Marek Olšák (6):
mesa: remove unused indices parameter from validate functions
mesa: fix gl_DrawID with indirect multi draws using user indirect buffer
mesa: skip draw calls with unaligned indices
radeonsi: fix a memory leak in si_get_shader_binary_size
radeonsi: disable DCC stores on Navi12-14 for displayable DCC to fix corruption
radeonsi: strengthen the VGT_FLUSH condition in begin_new_gfx_cs
Mike Blumenkrantz (8):
nir/lower_vectorize_tess_levels: set num_components for vectorized loads
zink: fix pipeline caching
radv: use pool stride when copying single query results
zink: free local shader nirs on program free
zink: destroy shader modules on program free to avoid leaking
tgsi_to_nir: force int type for LAYER output
util/primconvert: force restart rewrites if original primtype wasn’t supported
zink: fix ZINK_MAX_DESCRIPTORS_PER_TYPE to stop exploding the stack
Nanley Chery (1):
intel/blorp: Fix Gfx7 stencil surface state valign
Neha Bhende (1):
svga/drm: use pb_usage_flags instead of pipe_map_flags in vmw_svga_winsys_buffer_map
Quantum (1):
main: allow all external textures for BindImageTexture
Rhys Perry (4):
aco: include utility in isel
aco: don’t constant propagate to DPP instructions
aco/spill: add temporary operands of exec phis to next_use_distances_end
nir: fix serialization of loop/if control
Samuel Pitoiset (5):
radv: fix fast clearing depth images with mips on GFX10+
radv: fix copying depth+stencil images on compute
radv: disable DCC image stores on Navi12-14 for displayable DCC corruption
radv: fix determining the maximum number of waves that can use scratch
radv/llvm: fix using Wave32
Simon Ser (4):
etnaviv: add stride, offset and modifier to resource_get_param
panfrost: implement resource_get_param
vc4: implement resource_get_param
v3d: implement resource_get_param
Timothy Arceri (6):
glsl: fix variable scope for instructions inside case statements
nir: move nir_block_ends_in_break() to nir.h
mesa: fix mesa_problem() call in _mesa_program_state_flags()
glsl: fix variable scope for loop-expression
glsl: handle scope correctly when inlining loop expression
glsl: fix variable scope for do-while loops
Timur Kristóf (7):
aco: Fix to_uniform_bool_instr when operands are not suitable.
aco: Emit zero for the derivatives of uniforms.
aco: Unset 16 and 24-bit flags from operands in apply_extract.
nir: Fix local_invocation_index upper bound for non-compute-like stages.
aco: Fix invalid usage of std::fill with std::array.
aco: Use Builder reference in emit_copies_block.
aco: Skip code paths to emit copies when there are no copies.
Vinson Lee (1):
freedreno: Require C++17.
Yevhenii Kharchenko (1):
iris: fix layer calculation for TEXTURE_3D ReadPixels() on mip-level>0
liuyujun (1):
gallium: fix surface->destroy use-after-free
mattvchandler (1):
gallium/osmesa: fix buffer resizing