1Mesa 20.3.5 Release Notes / 2021-03-24 2====================================== 3 4Mesa 20.3.5 is a bug fix release which fixes bugs found since the 20.3.4 release. 5 6Mesa 20.3.5 implements the OpenGL 4.6 API, but the version reported by 7glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / 8glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. 9Some drivers don't support all the features required in OpenGL 4.6. OpenGL 104.6 is **only** available if requested at context creation. 11Compatibility contexts may report a lower version depending on each driver. 12 13Mesa 20.3.5 implements the Vulkan 1.2 API, but the version reported by 14the apiVersion property of the VkPhysicalDeviceProperties struct 15depends on the particular driver being used. 16 17SHA256 checksum 18--------------- 19 20:: 21 22 909a72df63dfa3c0844ccf44a26ac028d148297ed333ab51560893923d7691ce mesa-20.3.5.tar.xz 23 24 25New features 26------------ 27 28- None 29 30 31Bug fixes 32--------- 33 34- \[RADV][BISECTED\] The Surge 2 (644830) - In-game assets do not render correctly since 20.3.4. 35- Metal Gear Solid V: The Phantom Pain: texture issues and vertex stretches 36- Rage 2: Visual corruption on in-game menu with ACO. 37- radv: Some MSAA tests fail when DCC is forced. 38- Rendering artifacts in Barn Finders specifically on Radeon Vega 39- Mafia III Demo: Artifacts around barrels 40- subgroupBallotFindMSB() broken in RADV/ACO 20.3.4 41- Texture views on blits ignore formats 42- "unknown intrinsic" assertion triggered by multiview shader in non-multiview renderpass in Vulkan on intel 43- ANV: Weird jitter in Witcher 1 44- DXVK is broken in latest master 45- mesa/st: Uniforms are not updated after lowering alpha test 46- \[RADV\] Nioh 2 - The Complete Edition: "Bloom" on lights 47- RADV: robustBufferAccessUpdateAfterBind is not exposed 48- ANV: Weird jitter in Witcher 1 49- ANV: Weird jitter in Witcher 1 50- meson: meson-built libraries have inconsistent compatability / current versions compared to older autotools-built libraries 51- device select layer breaks other layers 52- RADV: Extreme overhead in vkQueueSubmit 53- Graphical glitch of popupping missing texture on Mesa version \>18.0.5 (Padoka Stable + Unstable/Oibaf/ubuntu-x-swat PPAs) 54- occasional corruption issue with RADV in multiple games, disappears after using amdvlk 55- OpenGL on GMA4500MHD 56- \[RADV][REGRESSION][BISECTED\] radv_GetMemoryFdPropertiesKHR returns no valid memory types for vaapi drmbuf 57- anv: vkQueueSubmit with waitSemaphore value of 0 hangs CPU 58- ttn: invalid base/range triggering nir_validate assertion 59- \[RADV][ACO\] Overwatch game crash: amd/compiler/aco_insert_exec_mask.cpp: Failed Assertion 60- Use out encoding for float immediates 61- \[RADV\] Severe performance drop when exceeding VRAM compared to AMDVLK 62- RADV: Occlusion query hangs Big Navi GPU 63- miscompiled compute shader loop on llvmpipe (and Iris) 64- Graphics glitches after upgrade to mesa 20.3 on Khadas VIM3 Pro (Mali G52 GPU) 65- glthread crash in \_mesa_glthread_upload 66- Iris driver causing graphics glitch in QEMU spice egl DMA-BUF 67- \[RADV/ACO\] Death Stranding cause a GPU hung (*ERROR* Waiting for fences timed out!) 68 69 70Changes 71------- 72 73Alyssa Rosenzweig (3): 74 75- pan/bi: Fix M1/M2 decoding in disassembler 76- panfrost: Don't advertise OES_copy_image 77- panfrost/lcra: Fix constraint counting 78 79Anuj Phogat (2): 80 81- intel/anv: Fix condition to set MipModeFilter for YUV surface 82- intel/anv: Fix condition for planar yuv surface 83 84Bas Nieuwenhuizen (8): 85 86- radv: Do not hash vk_object_base in descriptor set layout. 87- radv: Improve spilling on discrete GPUs. 88- radv: Fix vram override with fully visible VRAM. 89- radv: Ignore WC flags for VRAM. 90- radv: Don't use dedicated memory info to indicate sharing. 91- vulkan/device_select: Stop using device properties 2. 92- radv: Expose robustBufferAccessUpdateAfterBind correctly. 93- radv: Use stricter HW resolve swizzle compat check. 94 95Boris Brezillon (2): 96 97- panfrost: Fix tiler job injection (again) 98- panfrost: Fix a polygon list corruption in the multi-context case 99 100Caio Marcelo de Oliveira Filho (2): 101 102- spirv: Allow variable pointers pointing to an array of blocks 103- anv: Lower ViewIndex to zero when multiview is disabled 104 105Daniel Schürmann (2): 106 107- aco: fix nir_intrinsic_ballot with wave32 108- aco: fix shared VGPR allocation on RDNA2 109 110Dave Airlie (3): 111 112- zink: don't pick a cpu device ever. 113- glsl: fix leak in gl_nir_link_uniform_blocks 114- glx: proposed fix for setSwapInterval 115 116Dylan Baker (10): 117 118- docs: Add sha256sum for 20.3.4 119- .pick_status.json: Update to e346f61a91266bde48cc0857f82ca6348e38dc03 120- .pick_status.json: Update to ea27f2bf092f462171fe14a44619565d14f43fb8 121- .pick_status.json: Update to 38b2e137665f36f1b0fe58e40971548d9eafa865 122- .pick_status.json: Update to 4fdbc22c42dd4672e1660e7598dcd7874880b2f1 123- .pick_status.json: Update to b1ab69f467b7b10e383f3b6bb957c7e6669a3772 124- .pick_status.json: Update to 5d2c9fd161eb1c6b29852e22431fa8bc804bf5af 125- .pick_status.json: Update to 2407952ec99ab1c2a16e01a9e300f799e4d53320 126- .pick_status.json: Update to 60ea60ec4deaf42c55bd8367a15cb0ab885d662e 127- ci: mark a couple of LLVMPIPE tests as expected pass 128 129Erico Nunes (1): 130 131- lima: fix max sampler views 132 133Georg Lehmann (1): 134 135- vulkan/device_select: Only call vkGetPhysicalDeviceProperties2 if the device supports it. 136 137Giovanni Mascellani (2): 138 139- disk_cache: Fail creation when cannot inizialize queue. 140- anv: Allow null handle in DestroyDescriptorUpdateTemplate. 141 142Hyunjun Ko (1): 143 144- ir3: fix has_src() to return correctly in ir3_nir_lower_tex_prefetch 145 146Ian Romanick (6): 147 148- i965: Don't parse driconf again 149- nir/algebraic: Fix a \>\> \#b \<\< \#b for sizes other than 32-bit 150- intel/compiler: Enable the ability to emit CMPN instructions 151- intel/compiler: Make the CMPN builder work like the CMP builder 152- intel/compiler: Use CMPN for min / max on Gen4 and Gen5 153- nir/algebraic: Fix some min/max of b2f replacements 154 155Icecream95 (2): 156 157- panfrost: Add the tiler heap to fragment jobs 158- st/mesa: Update constants on alpha test change if it's lowered 159 160James Park (1): 161 162- gallium/tessellator: Fix warning suppression 163 164Jason Ekstrand (4): 165 166- nir: Don't optimize bcsel-of-shuffle across blocks 167- intel/fs: Shuffle can't handle source modifiers 168- anv/formats: Advertise linear sampling on depth formats 169- intel/fs: Handle payload node interference in destinations 170 171Jeremy Huddleston (1): 172 173- Adjust dylib compatibility versions to match what was set by mesa-18.3's autotools-based builds 174 175Jordan Justen (1): 176 177- i965/gen11: Fix must-be-ones bit positions in 3D_MODE 178 179Lionel Landwerlin (7): 180 181- anv: only signal wsi fence BO on last command buffer 182- anv: discard all timeline wait/signal value=0 183- anv: don't wait for completion of work on vkQueuePresent() 184- anv: Fix wait_count missing increment 185- anv: reset binary syncobj to be signaled before submission 186- anv: fix MI_PREDICATE_RESULT write 187- intel/fs/vec4: add missing dependency in write-on-write fixed GRFs 188 189Marek Olšák (2): 190 191- glthread: fix interpreting vertex size == GL_BGRA for vertex attribs 192- mesa: flush glBegin/End before changing GL_DEPTH_STENCIL_TEXTURE_MODE 193 194Matt Turner (1): 195 196- turnip: Remove unused TU_DEBUG_IR3 flag 197 198Mauro Rossi (1): 199 200- android: pan/bi: reorder static dependencies in gallium/dri 201 202Michel Dänzer (1): 203 204- intel/tools: Use subprocess.Popen to read output directly from a pipe 205 206Mike Blumenkrantz (7): 207 208- radv: null bo list pointer for null descriptors on update 209- radv: zero the bo descriptor array when allocating a new set 210- zink: handle 1bit undef values in ntv 211- gallium/trace: add a pipe_screen::get_compiler_options method 212- mesa/st: clamp scissored clear regions to fb size 213- zink: fix streamout emission for super-enhanced layouts 214- compiler/spirv: fix image sample queries 215 216Nanley Chery (3): 217 218- gallium: Map \_DRI_IMAGE_FORMAT_NONE to NULL 219- gallium: Flush GL API resources in eglCreateImage 220- iris: Disable aux as needed in iris_flush_resource 221 222Pierre Moreau (1): 223 224- spirv: Ignore WorkgroupSize in non-compute stages 225 226Pierre-Eric Pelloux-Prayer (5): 227 228- radeonsi: properly set SPI_SHADER_PGM_HI_ES 229- frontends/va: fix protected slice data buffer read size 230- st/mesa: use the correct src format in ReadPixels 231- mesa/fbo: don't check_end_texture_render on fb read change 232- st/mesa: consider texture view format for fbo blits 233 234Rhys Perry (14): 235 236- radv: correctly enable WGP_MODE for tessellation control 237- aco: always set exec_live=false 238- aco: do not flag all blocks WQM to ensure we enter all nested loops in WQM 239- aco/lower_phis: fix all_preds_uniform with continue_or_break 240- aco: add missing usable_read2 check 241- radv: don't set sx_blend_opt_epsilon for V_028C70_COLOR_10_11_11 242- aco: set compr for fp16 exports 243- aco: implement 64-bit VGPR {u,i}find_msb 244- radv,aco: don't use MUBUF for multi-channel loads on GFX8 with robustness2 245- radv: correctly enable WGP_MODE for NGG and GS 246- radv: round-up num_records division in radv_flush_vertex_descriptors 247- aco: calculate all p_as_uniform and v_readfirstlane_b32 sources in WQM 248- nir/opt_shrink_vectors: add option to skip shrinking image stores 249- radv: don't shrink image stores for The Surge 2 250 251Samuel Pitoiset (9): 252 253- nir/algebraic: mark more optimization with fsat(NaN) as inexact 254- radv: fix centroid with VRS coarse shading 255- radv: fix waiting on the last enabled RB for occlusion queries 256- radv: set correct value for OFFCHIP_BUFFERING on GFX10+ 257- radv: make sure FMASK compression is enabled for MSAA copies 258- radv,aco: fix shifting input VGPRs for the LS VGPR init bug on GFX9 259- radv: fix separate depth/stencil layout in render pass 260- radv: fix color resolves if the dest image has DCC 261- radv: only apply the MRT output NaN fixup to non-meta shaders 262 263Simon Ser (2): 264 265- nouveau/nvc0: fix linear buffer alignment for scan-out/cursors 266- nouveau/nv50: fix linear buffer alignment for scan-out/cursors 267 268Timothy Arceri (1): 269 270- glsl: fix declarations of gl_MaxVaryingFloats 271 272Timur Kristóf (5): 273 274- tgsi_to_nir: Fix uniform ranges. 275- radv/llvm: Fix reporting LDS stats of tess control shaders. 276- aco: Disallow LSHS temp-only I/O when VS output is written indirectly. 277- aco: Fix LDS statistics of tess control shaders. 278- aco: Fix constant address offset calculation for ds_read2 instructions. 279 280Tony Wasserka (2): 281 282- aco: Fix vector::reserve() being called with the wrong size 283- aco/ra: Fix register allocation for subdword operands 284 285Vinson Lee (2): 286 287- etnaviv: Fix memory leak in etna_vertex_elements_state_create. 288- aco: Initialize ds_state.front.writeMask. 289 290Yevhenii Kharchenko (1): 291 292- st/mesa: fix PBO download for TEXTURE_1D_ARRAY textures 293 294Yevhenii Kolesnikov (1): 295 296- nir/from_ssa: consider defs in sibling blocks 297