# Mesa 20.1.1 Release Notes / 2020-06-10

Mesa 20.1.1 is a bug fix release which fixes bugs found since the 20.1.0 release.

Mesa 20.1.1 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 20.1.1 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

    3ea6e46ea7881c656f7b4724639eaa4672d4e0e0b70869651e8f955ebae3d476  mesa-20.1.1.tar.xz

## New features

- None

## Bug fixes

- i965: Rendering problems replaying a trace of “Refunct” after mesa-20.1.0-rc1 release [bisected]

- gallium/winsys/radeon/drm fails assertion on 32bit

- NIR validation failed after glsl to nir, before function inline, wrong {src,dst}->type ?

- Mesa 20.0.7 / 20.1.0-rc4 regression, extremally long shader compilation time in NIR

- Mesa-git build fails on Fedora Rawhide

- Doom Eternal 1.1 performs very poorly on RADV

- iris/i965: possible regression in 20.0.5 due to changes in buffer manager sharing across screens (firefox/mozilla#1634213)

- iris/i965: possible regression in 20.0.5 due to changes in buffer manager sharing across screens (firefox/mozilla#1634213)

- Incorrect _NetBSD__ macro inside execmem.c

- Possible invalid sizeof in device.c

- GLSL compiler assertion is_float() failed in glsl/ir_validate.cpp, visit_leave on specific WebGL shader

- [RADV] - Doom Eternal (782330) & Metro Exodus (412020) - Title requires ‘RADV_DEBUG=zerovram’ to eliminate colorful graphical aberrations.

- [RADV] - Doom Eternal (782330) & Metro Exodus (412020) - Title requires ‘RADV_DEBUG=zerovram’ to eliminate colorful graphical aberrations.

- mesa trunk master vulkan overlay-layer meson.build warning empty configuration_data() object

## Changes

Alyssa Rosenzweig (1):

- pan/bi: Fix emit_if successor assignment

Andrii Simiklit (1):

- glsl: fix crash on glsl macro redefinition

Charmaine Lee (1):

- llvmpipe: do not enable tessellation shader without llvm coroutines support

Clément Guérin (1):

- radv: Always expose non-visible local memory type on dedicated GPUs

Danylo Piliaiev (3):

- glsl: Don’t replace lrp pattern with lrp if arguments are not floats

- glsl: inline functions with unsupported return type before converting to nir

- i965: Work around incorrect usage of glDrawRangeElements in UE4

Dave Airlie (1):

- llvmpipe: move coroutines out of noopt case

Dylan Baker (1):

- vulkan-overlay/meson: use install_data instead of configure_file

Eric Engestrom (5):

- docs/relnotes add sha256 sums to 20.1.0

- docs: drop new_features.txt

- .pick_status.json: Update to 3a1a40b4431d505fa6487cd012ddb4b64387aee5

- glapi: remove deprecated .getchildren() that has been replace with an iterator

- intel: fix gen_sort_tags.py

Erik Faye-Lund (2):

- zink: Use store_dest_raw instead of storing an uint

- nir: reuse existing psiz-variable

Gert Wollny (1):

- nir: lower_tex: Don’t normalize coordinates for TXF with RECT

Ilia Mirkin (1):

- nouveau: allow invalidating coherent/persistent buffer backings

Faith Ekstrand (2):

- intel/vec4: Stomp the return type of RESINFO to UINT32

- intel/fs: Fix unused texture coordinate zeroing on Gen4-5

Jonathan Marek (1):

- freedreno/a6xx: use nonbinning VS when GS is used

Lionel Landwerlin (4):

- iris: fix BO destruction in error path

- i965: don’t forget to set screen on duped image

- i965: fix export of GEM handles

- iris: fix export of GEM handles

Marek Olšák (1):

- radeonsi: add a hack to disable TRUNC_COORD for shadow samplers

Neha Bhende (1):

- util: Initialize pipe_shader_state for passthrough and transform shaders

Peter Seiderer (3):

- vc4_bufmgr: fix time_t printf

- pan_bo.h: add time.h include for time_t

- v3d_bufmgr: fix time_t printf

Pierre-Eric Pelloux-Prayer (3):

- winsys/radeon: do not cast bo->va as void*

- ac/surface: set SCANOUT if surf->is_displayable

- ac/surface: fix epitch when modifying surf_pitch

Rhys Perry (4):

- aco: fix interaction with 3f branch workaround and p_constaddr

- aco: consider SDWA during value numbering

- aco: check instruction format before waiting for a previous SMEM store

- aco: preserve more fields when combining additions into SMEM

Rob Clark (1):

- freedreno/computerator: fix missing dependency on generated header

Samuel Pitoiset (5):

- spirv,radv,anv: implement no-op VK_GOOGLE_user_type

- aco: fix register allocation for subdword instructions on GFX10

- radv: enable zero VRAM for Doom Eternal

- radv: enable zero VRAM for all VKD3D (DX12->VK) games

- nir/lower_explicit_io: fix NON_UNIFORM access for UBO loads

Satyeshwar Singh (1):

- intel/dev: Don’t consider all TGL SKUs as GT1 only

Timothy Arceri (2):

- radv: fix regression with builtin cache

- glsl: fix potential slow compile times for GLSLOptimizeConservatively

Vinson Lee (8):

- pan/bi: Initialize struct fma_op_info member extended.

- zink: Check fopen result.

- etnaviv: Fix memory leak on error path.

- r300g: Remove extra printf format specifiers.

- vdpau: Fix wrong calloc sizeof argument.

- mesa: Fix NetBSD compiler macro.

- intel/genxml: Migrate from deprecated xml.etree.ElementTree getchildren.

- Switch from cElementTree to ElementTree.