# Mesa 21.0.0 Release Notes / 2021-03-11

Mesa 21.0.0 is a new development release. People who are concerned with stability and reliability should stick with a previous release or wait for Mesa 21.0.1.

Mesa 21.0.0 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.0.0 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

    e6204e98e6a8d77cf9dc5d34f99dd8e3ef7144f3601c808ca0dd26ba522e0d84  mesa-21.0.0.tar.xz

## New features

- GL_EXT_demote_to_helper_invocation on radeonsi

- GL_NV_compute_shader_derivatives on radeonsi

- EGL_MESA_platform_xcb

- Removed GL_NV_point_sprite for classic swrast.

- driconf: remove glx_disable_oml_sync_control, glx_disable_sgi_video_sync, and glx_disable_ext_buffer_age

- Removed support for loading DRI drivers older than Mesa 8.0, including all DRI1 support

- Add support for VK_VALVE_mutable_descriptor_type on RADV

- Removed classic OSMesa in favor of the newly improved gallium OSMesa

- VK_KHR_fragment_shading_rate on RADV (RDNA2 only)

- Freedreno a6xx exposes GL 3.3

- Classic swrast dri driver removed in favor of gallium swrast (llvmpipe or softpipe)

- Panfrost g31/g52/g72 exposes ES 3.0

- Panfrost t760+ exposes GL 3.1 (including on Bifrost)

- Sparse memory support on RADV

- Rapid packed math (16bit-vectorization) on RADV

- None

## Bug fixes

- R8 texture upload / corruption bug on Radeon RX 5700 XT

- Ambient Occlusion in Two Point Hospital shows black spot artifacts

- DXVK is broken in latest master

- mesa/st: Uniforms are not updated after lowering alpha test

- Regression: Segfault in cso_destroy_context() regression in 20.2

- [RADV] Nioh 2 - The Complete Edition: “Bloom” on lights

- [RADV][BISECTED] The Surge 2 (644830) - In-game assets do not render correctly since 20.3.4.

- [iris][icl,tgl][bisected][regression] failure on piglit.spec.arb_separate_shader_objects.programuniform coverage

- “radeonsi: Check pitch and offset for validity.” is a bad commit

- RADV: robustBufferAccessUpdateAfterBind is not exposed

- [RADV/DXVK] Shadow artifacts with different games

- glxgears segfaults with classic i915

- ANV: Weird jitter in Witcher 1

- ANV: Weird jitter in Witcher 1

- ANV: Weird jitter in Witcher 1

- meson: meson-built libraries have inconsistent compatability / current versions compared to older autotools-built libraries

- RADV: Extreme overhead in vkQueueSubmit

- timespec_get used unconditionally / build fails when targeting macOS 10.14 or earlier

- Graphical glitch of popupping missing texture on Mesa version >18.0.5 (Padoka Stable + Unstable/Oibaf/ubuntu-x-swat PPAs)

- occasional corruption issue with RADV in multiple games, disappears after using amdvlk

- device select layer breaks other layers

- OpenGL on GMA4500MHD

- Rage 2: Visual corruption on in-game menu with ACO.

- GLonD3D12: Crashes and suboptimal fallback

- GLonD3D12: Crashes and suboptimal fallback

- GLonD3D12: Crashes and suboptimal fallback

- [RADV][REGRESSION][BISECTED] radv_GetMemoryFdPropertiesKHR returns no valid memory types for vaapi drmbuf

- anv: vkQueueSubmit with waitSemaphore value of 0 hangs CPU

- ttn: invalid base/range triggering nir_validate assertion

- [RADV][ACO] Overwatch game crash: amd/compiler/aco_insert_exec_mask.cpp: Failed Assertion

- Use out encoding for float immediates

- [RADV] Severe performance drop when exceeding VRAM compared to AMDVLK

- LIBGL_ALWAYS_SOFTWARE=1 picks zink over actual software rasterizers

- RADV: Occlusion query hangs Big Navi GPU

- “mesa: don’t allocate matrices with malloc” cause eglCreateContext problem on android 7.

- Metal Gear Solid V: The Phantom Pain: texture issues and vertex stretches

- miscompiled compute shader loop on llvmpipe (and Iris)

- Graphics glitches after upgrade to mesa 20.3 on Khadas VIM3 Pro (Mali G52 GPU)

- glthread crash in _mesa_glthread_upload

- Iris driver causing graphics glitch in QEMU spice egl DMA-BUF

- [RADV/ACO] Death Stranding cause a GPU hung (*ERROR* Waiting for fences timed out!)

- [TGL] Elder Scrolls Online misrenders

- [ANV] System hang with GRVK demos

- Rendering artifacts in Barn Finders specifically on Radeon Vega

- regression in !8152

- [bdw][icl][iris] fails new test `clearbuffer-depth-cs-probe`

- ci: new traces runner needs dashboard links in the job log and junit

- zink: car model corruption with game TORCS

- Windows: 32-bit build is broken hard

- ANV: Not handling separate stencil layouts properly

- [Regression][Intel][OpenGL][Bisected] Copying whole 2D array texture failed on latest driver

- i915 regressions bisected to “vbo/dlist: use a shared index buffer”

- radv: dEQP-VK.sparse_resources.* failures on GFX9

- radv: dEQP-VK.sparse_resources.* failures on GFX9

- Mesa 20.3.x crashes pidgin on AMD RX480

- libunwind not located / used on macOS

- Some games using FNA framework show blank screen

- Intel Vulkan regression of angle_end2end_tests

- Defer lavapipe warning to queue / command / swapchain buffer creation

- aco_tests failure with clang build

- BUG: After issues playing World of Warcraft with RADV

- Texture views on blits ignore formats

- mesa-git hangs weston

- radv: Some MSAA tests fail when DCC is forced.

- [RADV/ACO/SIENNA_CICHLID] Into the game Shadow of the Tomb Raider the flickering artifacts are present on brushes.

- Memory leak - alloc_prim_store in vbo_save_NewList

- radv/aco: “Failed to allocate registers” in AC:Valhalla

- Enable “radeonsi_clamp_div_by_zero” to fix graphical bug in CSGO, “mesa_glthread” for performance

- master fails to build with “ac_sqtt.h:139:15: error: expected parameter declarator”

- Conditional rendering implementation conflicts with aux-state tracking

- regression since !7720

- regression after !8196

- Use up to 4 images for IMMEDIATE flip

- piglit gl-1.0-rendermode-feedback TGSI_FILE_NULL assert on Iris

- Use LDC and constant buffer state for UBO loads.

- DOOM crashes on startup with OpenGL on RX 6800

- Regression with Minecraft/Optifine performance with all VRAM mapped

- Space Engineers rendering regression after 5f79e4e6 which triggers incorrect optimizations from 053be9f0

- star conflict crashes on iris, but loads fine on i965, on HD 5500

- radv: blit/copy tests with A2B10G10R10 SNORM fail when DCC is forced on GFX9

- freedreno: regression of gl-3.2-layered-rendering-gl-layer-render after e49748521ec9182e8d2eec823182cc463709123f

- `gl_FragColor’ undeclared (AMDGPU) - tested stable Mesa 20.1 and latest git for 20.3 (Game/Wine/Proton)

- Mafia III Demo: Artifacts around barrels

- android: webview crashes after a2fb87eea6d4

- anv: dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec3_requiredsubgroupsize32 fail

- Mesa considers the framebuffer with mixed 3D and 2D array attachments to be incomplete.

- Multiple buffer definitions bound to single OpDecorate::Binding break SPIR-V module.

- Intel driver segfaults on SPIR-V with OpArrayLength

- [g33][bisected][regression] multiple piglit failures

- [v3d][bisected][regression] Piglit failures on gl-1.0-rendermode-feedback and select

- Update Mesa CI CTS to latest version

- Rendering artifacts in Enter The Gungeon on Both RX 590 and Radeon 7

- No way to turn off “Device” and “Swapchain format” in Vulkan overlay

- Frames count doesn’t turn off in vulkan overlay with frame=0

- [bdw][iris][bisected][regression] failing test on multiple test suites

- osmesa classic: build failure with Meson and MinGW-W64

- Crash and slowness in FreeCAD

- ci: Missing needs: in radeonsi-stoney-*?

- Triangles appear from the center of the field on PES2021 with Mesa 20.2.x

- [gen9][iris][regression][bisected] flaky piglit tests

- [Intel][OpenGL] Fail to get correct value when sampling from a texture in depth formats.

- MESA_VK_DEVICE_SELECT only parses 16-bit vendorID, but in Vulkan is uint32_t

- lp_test_format test fail on 32-bit mingw builds

- RADV: Strange clear behavior with multisample arrays

- Mesa 20.3.0 and older ATi/Radeon cards fails

- Android building error after commit f08d8c849e

- OSMesa SEGV in OSMesaGetDepthBuffer

- osmesa gallium state tracker: Leak of screens and buffers on exit/shared library unload

- Gallium OSMesa driver is far from being thread-safe

- OSMesa UAF in OSMesaDestroyContext

- OSMesaGetDepthBuffer flipped vertically

- radv,aco: CTS image robustness tests fail to compile

- 32-bit mesa failing to build inside a chroot due to f88347cd

- Storing pointer to temporary value inside the Iris driver.

- [radeonsi] DESPERADOS III poor performance when there’s lots of animations going on

- ci: arm64_test build broken (likely by ci-templates bump)

- New build option to specify default value for shader disk cache size

- commit f86668f487b32c185388a39e2200c17c298b877a fatal error: util/macros.h: No such file or directory

- zink: ubo loading problems

- !7138 broke the D3D12 driver

- [icl,tgl][iris][i965][regression][bisected] piglit failures

- 15% perf drop in GfxBench Manhattan 3.1 performance

- [Intel][OpenGL] Fail to get correct stencil data from the stencil attachment with glReadPixels()

- shader-db valgrind error

- [AMDGPU NAVI 5700xt] Large parts of the Blender viewport does not render correctly if an object with hair is moved.

- [aco] problem compiling compute pipeline

- build failures after simple_mtx helgrind annotations

- teach helgrind about simple_mtx

- zink: regression after !7606

- Chromium browser with VA-API video acceleration got corruption

- glcpp test 084-unbalanced-parentheses fails with bison 3.6.y

- [Intel][OpenGL] glDepthFunc(GL_EQUAL) doesn’t work correctly on Intel Linux Mesa OpenGL drivers

- d3d12: GPU based validation issue on fbo-clear-formats piglit

- [tgl,icl,gen9][bisected] crucible/vulkancts failures on multiple platforms

- zink+radv: corruption on pre-game menu in quake3

- Memory leak in minecraft (many dri/renderD128 regions in /proc/[id]/maps)

- freedreno: Use nir_opt_large_constants

- android: amd/common: building error after 0833dd7d1

- panfrost massive glitches apitrace opengl 2.1

- freedreno/nir: nir_validate failure after nir_lower_tex

- [i965,iris][bisected] piglit and glcts failures on multiple platforms

- [i965,iris][bisected] piglit and glcts failures on multiple platforms

- db410c ethernet no longer working

- Add KHR_display extension to v3dv

- [radeonsi] After 549ae5f84375dfadb86cfd465f0103acfae3249f commit Firefox Nightly Asan begins crashes

## Changes

Adam Jackson (36):

- docs: Update Mesa GL enum allocations for EGL_MESA_platform_xcb

- glx, egl: Add LIBGL_DRI2_DISABLE environment variable

- glx: Eliminate some stub functions for !GLX_DIRECT_RENDERING

- glx: Remove unused __GLXDRIscreen::createContext

- glx: Check share ctx compatibility in ::create_context_attribs

- glx: Handle create_context in terms of create_context_attribs

- glx: Remove DRI1

- glx: Simplify error handling in glXImportContextEXT

- glx: Fix the generated error when indirect contexts are not supported

- glx/indirect: Validate the context version in CreateContextAttribs

- glx: Claim to support more GL versions in __glX_send_client_info

- meson: Make the glvnd vendor name configurable

- zink: factor out GET_PROC_ADDR and friends to zink_screen.h

- mesa: Remove silly “dummy_false” extension support

- zink: Fix indentation in zink_create_instance

- zink: Factor out winsys awareness from zink_internal_create_screen

- zink: Factor out zink_get_loader_version()

- zink: Factor out zink_create_logical_device

- zink: Simplify MoltenVK support a bit

- glx/xlib: Build fix

- swrast: Remove the classic swrast DRI driver

- treewide: Disambiguate various variables named “debug_options”

- mesa: Cosmetic cleanups to GL_EXT_texture_sRGB_R8

- mesa: Implement GL_EXT_texture_sRGB_RG8 for softpipe and llvmpipe

- zink: Enable GL_EXT_texture_sRGB_R8

- zink: Enable GL_EXT_texture_sRGB_RG8

- virgl: Enable GL_EXT_texture_sRGB_RG8

- drisw: Use debug_screen_wrap like everybody else

- tests: Fix memory leaks in DispatchSanity

- mesa: Fix array-format-to-format table on big-endian

- mesa: Don’t make building tests conditional on building DRI drivers

- nouveau: pacify gcc on ILP32

- zink: Fix VK_FORMAT_A8B8G8R8_SRGB_PACK32 mapping on big-endian

- ci: Add a few more drivers to the cross builds

- osmesa: Pacify MSVC in the test code

- zink: Fix a thinko in instance setup

Alejandro Piñeiro (12):

- nir/lower_tex: clarify nir_lower_tex_options indexing

- v3dv: cleanup/remove support for pre-generated variants

- broadcom/compiler: separate texture/sampler info from v3d_key

- v3dv: remove combined_idx support

- v3dv/pipeline: take into account precision for the output_type

- v3dv: use the common base object type and struct

- v3dv: implement VK_EXT_private_data

- turnip: minor tu_queue fixes related to vk_base_object

- v3dv/cmd_buffer: missing (uint8_t *) casting when calling memcmp

- docs/features: update list of v3dv supported features

- v3dv: remove non-conformant warning

- v3dv/pipeline: avoid unused warning on release build

Alexander Kanavin (1):

- anv: fix a build race between generating a header and using it

Alexander von Gluck IV (2):

- meson: Add _GNU_SOURCE for Haiku to activate non-posix functions

- glsl/builtin_functions: Rename int64 function to int64_avail

Alistair Popple (2):

- gv100/ir: Make emitATOM consistent with emitRED

- gv100/ir: Use system wide atomics

Alyssa Rosenzweig (170):

- pan/bi: Model writemasks correctly

- panfrost: Implement linear Z/S for SFBD

- panfrost: Remove panfrost_can_linear

- panfrost: Fix out-of-bounds read on SFBD

- panfrost: Add PAN_GPU_ID debug option

- panfrost: Enable indirect uniform indexing

- pan/mdg: Fix shader-db counter

- pan/bi: Implement sampler1D

- pan/bi: Fix varying writemask handling

- pan/bi: Fix off-by-one in RA

- pan/bi: Ensure TEXC src0 is not marked SSA

- pan/bi: Implement shader-db stats

- panfrost: Account for sample count in tib offsets

- panfrost: Fix RAW8/16/32 component replication

- docs: Add a stub page for Panfrost

- docs/panfrost: Fix comment about Lima

- docs: Update Panfrost in the source tree

- docs/systems: Update Panfrost link

- docs/panfrost: Document building Panfrost

- docs/panfrost: Mention the IRC channel

- pan/bi: Allow toggling disassembly verbosity

- pan/bi: Space out disassembly

- pan/bi: Remove all-0’s termination condition

- pan/bi: Minor styling cleanup in disasm

- panfrost: Fix LOD mode field on Bifrost

- pan/bi: Drop on-board packing tests

- pan/bi: Label shader-db shaders

- pan/bi: Remove bi_is_live_after

- pan/bi: Add unused instruction mechanism

- pan/bi: Add pseudo-instruction mechanism

- pan/bi: Mark some instructions as unused

- pan/bi: Defer newline printing in disassembler

- pan/bi: Use consistent negX/absX naming

- pan/bi: Use consistent wls naming

- pan/bi: Use consistent naming of lane/lane0

- pan/bi: Don’t treat extend as per-source

- pan/bi: Use canonical names for clamps

- pan/bi: Use canonical names for rounding modes

- pan/bi: Use canonical varying names

- pan/bi: Use canonical sample names

- pan/bi: Use canonical update modes

- pan/bi: Use canonical min/max semantics

- pan/bi: Use canonical name for segments

- pan/bi: Use canonical lane ops

- pan/bi: Use canonical subgroup size

- pan/bi: Use canonical inactive result

- pan/bi: Use consistent neg naming

- pan/bi: Mark message types in ISA.xml

- pan/bi: Fix rounding name for HADD in XML

- pan/bi: Add staging register counts to ISA.xml

- pan/bi: Add pseudo register formats to XML

- pan/bi: Rename isa_parse to bifrost_isa

- pan/bi: Add explicit meson dependency on the ISA helpers

- pan/bi: Move copyright notice to common code

- pan/bi: Add helpers for manipulating the ISA

- pan/bi: Remove reference to 64-bit RA

- pan/bi: Move modifier prints out of common code

- pan/bi: Generate bi_opcodes.h

- pan/bi: Use autogenerated modifiers

- pan/bi: Generate bi_opcodes.c

- pan/bi: Merge BIR_INDEX_FAU and BIR_INDEX_BLEND

- pan/bi: Remove BIR_INDEX_UNIFORM

- pan/bi: Make BIR_INDEX_ZERO less special

- pan/bi: Add bi_swizzle enum

- pan/bi: Add bi_index data structure

- pan/bi: Add bi_index constructors

- pan/bi: Add nullity/equality helpers for bi_index

- pan/bi: Add helper to extract a word from an index

- pan/bi: Add bi_temp{_reg} for new-style bi_index

- pan/bi: Add helpers to generate bi_index from NIR

- pan/bi: Add a helper to convert to old-style nodes

- pan/bi: Add node_to_index helper

- pan/bi: Add bi_half and bi_byte selectors

- pan/bi: Add imm_f32 helper

- pan/bi: Add bi_imm_u{8, 16} helpers

- pan/bi: Add bi_{abs, neg} helpers

- pan/bi: Add new bi_instr data structure

- pan/bi: Add cursor data structures

- pan/bi: Add builder data structure

- ci/panfrost: Skip test with 4096 byte shader

- pan/bi: Ensure fneg of a constant isn’t reached

- pan/bi: Rename bi_pack_{fma, add} to free up symbols

- pan/bi: Rename bi_load

- pan/bi: Add bi_not alias of bi_neg

- pan/bi: Generate instruction printer

- pan/bi: Generate builder routines

- pan/bi: Generate instruction packer for new IR

- pan/bi: Add bi_count_staging_registers helper

- pan/bi: Add new style read/writemask helpers

- pan/bi: Add builder initialization helper

- pan/bi: Add bi_is_intr_immediate helper

- pan/bi: Add bi_make_vec_to helper

- pan/bi: Implement bi_emit_ld_tile via the builder

- pan/bi: Implement bi_load_sysval via the builder

- pan/bi: Implement bi_emit_load_const via the builder

- pan/bi: Implement load_blend_input via the builder

- pan/bi: Implement bi_reg_fmt_for_nir helper

- pan/bi: Implement load_vary via the builder

- pan/bi: Implement BLEND by builder

- pan/bi: Implement fragment_out by builder

- pan/bi: Implement store_vary with the builder

- pan/bi: Implement load_ubo with the builder

- pan/bi: Implement frag coord with the builder

- pan/bi: Implement load attribute with the builder

- pan/bi: Add intrinsic emits for builder

- pan/bi: Add bi_alu_src_index helper

- pan/bi: Add bi_nir_round helper

- pan/bi: Add bi_cmpf_nir helper

- pan/bi: Implement ALU with the builder

- pan/bi: Implement jumps with the builder

- pan/bi: Add TEXS emit with builder

- pan/bi: Add builder-using helpers for TEXC structs

- pan/bi: Emit TEXC with builder

- pan/bi: Fix TEXS/TEXC check prototype

- pan/bi: Add emit tex for builder

- pan/bi: Add instruction emit for builder

- pan/bi: Add bi_message_type_for_instr helper

- pan/bi: Schedule new instructions singletons

- pan/bi: Add bi_branch, bi_jump helpers

- pan/bi: Stub FAU lowering pass

- pan/bi: Switch to new IR

- pan/bi: Remove combine lowering

- pan/bi: Remove old IR packs

- pan/bi: Remove packing helpers

- pan/bi: Remove old IR prints

- pan/bi: Remove old IR spill code

- pan/bi: Remove old IR scheduling

- pan/bi: Remove NIR->old IR

- pan/bi: Remove old IR helpers

- pan/bi: Remove old IR opcode table

- pan/bi: Remove old IR instruction emit

- pan/bi: Use new instruction types

- pan/bi: Remove old IR

- pan/mdg: Fix bound setting in RA for sources

- panfrost: Import render condition check from fd

- panfrost: Respect the render condition

- docs: Document extensions exposing GL3.0

- pan/bi: Fix TEXS register counts

- pan/bi: Workaround BLEND precolour with explicit moves

- pan/bi: Pull out bi_dontcare helper

- pan/bi: Fix ATEST with pure integers

- pan/bi: Don’t suppress Inf/NaN

- pan/bi: Allow passing thorugh 8-bit scalars

- pan/bi: Implement scalar i2i8/u2u8

- pan/bi: Use TEXC for indices >= 8

- pan/bi: Parametrize intrinsic immediate limits

- pan/bi: Assert immediate indices fit

- panfrost: Disable AFBC of 3D, 2D arrays

- panfrost: Advertise ES3.0 on Bifrost

- docs: Add release note for Bifrost GL3.1

- docs/panfrost: Update GL/ES versions for v5+

- docs/features: Mark GL3.1 as done on Panfrost

- docs/features: Fix missing close paranthesis

- pan/bi: Implement TEXS for cube maps

- panfrost: Handle explicit primitive restart

- panfrost: Add alpha reference to XML

- panfrost: Implement alpha testing natively

- pan/bi: Fix assertion

- pan/bi: Fix 64-bit SSBO addresses

- pan/bi: Fix RA of node 0

- pan/bi: Fix printing of node 0

- pan/bi: Fix M1/M2 decoding in disassembler

- pan/bi: Fix FLOG_TABLE modifier handling

- pan/bi: Fix empty shader handling

- panfrost: Add panfrost_sample_pattern helper

- panfrost: Set tiler descriptor sampler pattern

- pan/bi: Use explicit move even for RT#0 of MRT

- panfrost: Raise TEXTURE_BUFFER_OFFSET_ALIGNMENT

- panfrost: Don’t advertise OES_copy_image

- panfrost/lcra: Fix constraint counting

Andres Gomez (23):

- ci: update some radv trace checksums

- ci: update some radv trace checksums

- .mailmap: add and update aliases for Danylo Piliaiev

- ci: Bump deqp to current vulkan-cts-1.2.5.0 also in the Lava jobs

- ci: specify source and build directories with CMake

- ci: use ephemeral packages when building the build-base image

- ci: install ci-fairy in the testing images

- ci: spread the usage of the FDO_UPSTREAM_REPO variable

- ci: update piglit’s version so it features replayer

- ci: build piglit in the Vulkan testing image

- ci: specify MinIO’s host URL in a global variable

- ci: add piglit replay jobs and remove tracie ones

- ci: only modify LD_LIBRARY_PATH when running the piglit cmd

- ci: add Vulkan piglit traces jobs and remove tracie ones

- ci: move general build commands to their own section

- ci: move API specification to driver instead of test suite

- ci: build piglit inside baremetal and LAVA’s rootfs

- ci: add piglit jobs to LAVA and remove tracie ones

- ci: refactor arm64 jobs in preparation for piglit addition

- ci: add piglit job to baremetal and remove tracie ones

- ci: remove all tracie remains

- ci: recover tracie dashboard URLs for failing traces

- ci: correct the trace image URLs in the piglit summary

Andrii Simiklit (6):

- glsl: avoid an out-of-bound access while setting up a location for variable

- iris: update depth value for stages after fast clear depth

- glx: lets compare drawing command sizes using MIN3

- glx: fix spelling issues

- st/mesa: don’t affect original st_CompressedTexSubImage parameters

- st/mesa: fix pbo upload/download for arrays of textures with only 1 layer

Anuj Phogat (2):

- intel/anv: Fix condition to set MipModeFilter for YUV surface

- intel/anv: Fix condition for planar yuv surface

Bas Nieuwenhuizen (57):

- radv: Do the sample check for tiling earlier.

- amd/addrlib: Use signed char for INT_8.

- radeonsi: Add displayable DCC flushing without explicit flushes.

- drm-uapi: Add AMD modifiers.

- amd/common: Add support for modifiers.

- amd/common: Add modifier tests.

- radeonsi: Check pitch and offset for validity.

- radeonsi: Add modifier support.

- radeonsi: Do not disable DCC when we have it as a modifier.

- radeonsi: Do not try to disable displayable DCC with modifiers.

- radeonsi: Add auxiliary plane support.

- drm/uapi: Fix modifier field mask for AMD modifiers.

- radv: Use internal drm_fourcc.h

- gallium/vl: Set modifier field for winsys handle.

- radv: Dump BO VA ranges on hang.

- radv: Fix RB+ blending for VK_FORMAT_E5B9G9R9_UFLOAT_PACK32.

- radv: Fix a hang on CB change by adding flushes.

- radv: Deal with unused attachments in mip flush

- radv: Don’t invalidate the SCACHE for image barriers.

- radv: Don’t skip layout transitions that only differ in render loop.

- radv: Never allow fast clears on DCC images that are not compressed.

- radv: Add option to disable DCC in renderpasses without layout.

- radv: Disable DCC explicitly for incompatible copies.

- radv: Enable DCC in the GENERAL layout on GFX10+.

- radv: Use VRAM for upload buffers if entire VRAM is CPU-visible.

- radv: Put commandbuffers in VRAM if all VRAM is CPU visible.

- radv: Use VRAM for the initial gfx cmdbuffer.

- ac/surf: Prepare for 64-bit flags.

- ac/surf: Implement PRT layout.

- ac/surf: Add sparse texture info to radeon_surf.

- ac/surf: Use correct tilemodes on GFX8 for PRT.

- radv/winsys: Fix inequality for sparse buffer remapping.

- radv/winsys: Fix offset in range merging.

- radv: Create sparse images.

- radv: Add image sparse memory update implementation.

- radv: Add sparse image queries.

- radv: Enable sparse buffer and image support.

- radv: Add Android module info to linker script.

- radeonsi: Only set modifier creation function for GFX9+ & with kernel support.

- radv: Remove redundant WB_L2 flush.

- radv: Invalidate CB on SHADER_WRITE for meta operations.

- radv: Do dst invalidations for write accesses.

- radv: Use access helpers for flushing with meta operations.

- radv: Use L2 for CP DMA on GFX9+.

- radv: Use L2 coherency on GFX9+.

- ac/surface: Fix GFX9 sparse mip info.

- radv: Do not use a pipe offset for aliased sparse images.

- radv: Use stricter HW resolve swizzle compat check.

- radv: Do not hash vk_object_base in descriptor set layout.

- radv: Improve spilling on discrete GPUs.

- radv: Fix vram override with fully visible VRAM.

- radv: Ignore WC flags for VRAM.

- radv: Do pipe misalignment check per plane.

- vulkan/device_select: Stop using device properties 2.

- radv: Don’t use dedicated memory info to indicate sharing.

- radv: Expose robustBufferAccessUpdateAfterBind correctly.

- frontends/va: Use correct size for secondary planes.

BillKristiansen (1):

- microsoft: add resource state manager utility code

Boris Brezillon (119):

- panfrost: Fix Bifrost blend descriptor emission

- panfrost: Fix ->reads_frag_coord assignment

- pan/bi: Extract shadowmap comparator

- pan/bi: Force BLEND src0 to r0

- panfrost: Fix panfrost_format_to_bifrost_blend()

- panfrost: Get rid of the Pixel Format descriptor

- pan/bi: Store the architecture in the compiler context

- pan/bi: Expose FAU slots

- pan/bi: Rename CLPER into CLPER_V7 and add CLPER_V6

- pan/bi: Add support for the CLPER instructions

- pan/bi: Add support for derivative instructions

- pan/bi: Allow vec16 in bi_print_swizzle()

- pan/bi: Allow lane selections on component 4 and above

- pan/bi: Add support for tex offsets

- pan/bi: Don’t use TEXS for tex operations with a src that’s not lod or coord

- pan/bi: Support txs operations

- pan/bi: Support automatic register format

- pan/bi: Let the GPU pick the right format based on the varying descriptor

- pan/bi: Set roundmode to RTZ for f2u operations

- pan/bi: Move LD_VAR packing out of bi_pack_add()

- pan/bi: Pass LD_VAR update mode explicitly

- pan/bi: Stop passing special varying names through src0

- pan/bi: Fix LD_VAR with non-constant index

- pan/bi: Add a varying_index field to bi_texture

- pan/bi: Stop extracting the immediate attribute index from src0

- panfrost: Don’t expose fp16 support on Bifrost unless explicitly requested

- nir: Fix nextafter() for hardware that don’t support denorms

- compiler/spirv: Handle the LocalSizeHint execution modes

- nir: Make nir_build_deref_offset() support ptr_as_array

- pan/bi: Emit a combine even if we only pass one staging reg to TEXC

- nir: Fix LOD source type for txf_ms instructions

- panfrost: Stop forcing depth to nr_samples

- panfrost: Get rid of the Sample Count enum

- panfrost: Fix decoding of texture payloads

- panfrost: Set depth for 3D textures on Bifrost

- panfrost: Set sample_count when packing bifrost texture descriptors

- pan/bi: Only update LOD mode on TEX operations

- pan/bi: Always emit a LOD/CUBE word for FETCH instructions

- pan/bi: LOD is a 8.8 fixed point

- panfrost: Increase blit shader BO size on Bifrost

- panfrost: Add a minus(1) modifier to the Levels field

- panfrost: Clarify bit 2:28 meaning in the Midgard texture descriptor

- panfrost: Add two helpers to calculate the surface pointer and strides

- panfrost: Set the layer stride

- panfrost: Unconditionally align strides on 64 bytes for linear resources

- panfrost: Enable MSAA on bifrost when deqp debug option is set

- panfrost: Expose panfrost_block_dim()

- panfrost: Fix panfrost_needs_explicit_stride() for block-based formats

- panfrost: Calculate the row stride at resource creation time

- panfrost: Fix stride calculation for Z32_S8X24/X32_S8X24 formats

- panfrost: Update the resource layout when doing a tile -> linear conversion

- panfrost: Update the resource layout before calling util_copy_rect()

- panfrost: Fix texture payload decoding

- panfrost: Fix draw descriptor definition

- panfrost: Only set varyings and varying_buffers when varying_count \> 0

- panfrost: Make sure we always add a reader -> write dependency when needed

- panfrost: Fix fencing

- pan/mdg: Add support for multi sample iteration writeout

- panfrost: Take the number of samples into account in blend shaders

- panfrost: Preload SampleID when reloading multisample FBs

- panfrost: Fix provoking vertex selection for lines

- pan/mdg: Fix texture handling for 2DMS arrays

- panfrost: Allow 2DMS arrays

- panfost: Fix depth/stencil writeback on Bifrost v7

- panfrost: Force ->s_writeback_base to ->zs_writeback_base for Z24S8 buffers

- panfrost: Reload depth/stencil when they are read

- gallium/util: Fix depth/stencil blit shaders

- panfrost: Fix several depth/stencil format mappings

- pan/bi: Fix ATEST emission

- panfrost: Move checksum_bo to panfrost_resource

- panfrost: Group CRC fields in a struct

- panfrost: Pass a device object to panfrost_new_texture()

- panfrost: Merge emit_texture_payload() and emit_texture_payload_v7()

- panfrost: Pass a dev object to panfrost_needs_explicit_stride()

- panfrost: Define AFBC surface flags

- panfrost: Adjust the compression tag creation for Bifrost

- panfrost: Merge panfrost_new_texture() and panfrost_new_texture_bifrost()

- panfrost: s/panfrost_slice.size0/panfrost_slice.surface_stride/

- panfrost: Use PAN_V6_SWIZZLE() in pan_blit.c

- panfrost: Stop mixing depth and number of samples

- panfrost: Add a pan_image_layout object

- panfrost: Move AFBC header_size to a sub-struct

- panfrost: Fix AFBC header_size and slice size calculation

- panfrost: Add AFBC slice.body_size and slice.{row,surface}_stride fields

- panfrost: Adjust surface stride calculation to take AFBC into account

- panfrost: Add R5G6B5_UNORM entries to the format tables

- panfrost: Pass a pipe-like swizzle to panfrost_new_texture()

- panfrost: Adjust the format for AFBC textures on Bifrost v7

- panfrost: Fix ZS block format v7 definition

- panfrost: Use proper format for Z16_UNORM

- panfrost: Fix AFBC support on Bifrost

- panfrost: Enable AFBC support on Bifrost

- panfrost: Use panfrost_get_layer_stride() instead of open-coding it

- panfrost: Initialize AFBC headers to zero

- panfrost: Fix panfrost_should_linear_convert()

- panfrost: Allow AFBC on 2D arrays

- panfrost: Fix calculation of body/header pointers for 3D AFBC

- panfrost: Allow 3D AFBC on Bifrost v7

- panfrost: Fix AFBC on Bifrost v6

- panfrost: Fix UBO count calculation on Bifrost

- pan/bi: Fix constant slot selection

- panfrost: Set the RT index when emitting a Bifrost blend descriptor

- pan/bi: Pass bundle pointers to bi_pack_tuple()

- pan/bi: Port bi_collect_blend_ret_addr() to the new compiler infra

- pan/bi: Restrict registers to r0-r15 when compiling blend shaders

- pan/bi: Use the interference mechanism to describe blend shader reg use

- pan/bi: Allow non-terminal BLEND operations

- pan/bi: Lower 8bit fragment outputs to 16bit

- panfrost: Promote 8b to 16b for blend descriptors

- panfrost: Test GLES3 on Bifrost

- panfrost: Get layer stride of level 0 on staging resources

- panfrost: Pass the resource dimension to panfrost_compression_tag()

- panfrost: Fix estimate_texture_payload_size() on Bifrost

- panfrost: Re-enable AFBC on 3D, 2D arrays

- panfrost: Skip an XFB test that’s passing/failing randomly

- panfrost: Fix panfrost_afbc_format_needs_fixup()

- pan/bi: Fix the !immediate case in bi_emit_store_vary()

- panfrost: Fix tiler job injection (again)

- panfrost: Fix a polygon list corruption in the multi-context case

Boyuan Zhang (2):

- radeon: fix license in header

- radeon/vcn: use cdw to calculate slice header index

Brendan Dougherty (1):

- mesa: Fix vertex_format_to_pipe_format index.

Caio Marcelo de Oliveira Filho (13):

- intel/fs: Add assert on the brw_STAGE_prog_data downcasts

- intel/disasm: Don’t rely on FALLTHROUGHTs to print unsupported SFID

- anv: Avoid a couple of warnings related to vk_error macros

- spirv: Implement OpArrayLength for OpenGL

- nir: Fix outdated name in comment

- nir: Remove unused parameter in remove_dead_var_writes

- nir: Consider pointer initializers in nir_remove_dead_variables

- spirv: Remove more dead variables

- spirv2nir: Add –opengl (-g) argument for OpenGL SPIR-V

- spirv: Don’t remove variables used by resource indexing intrinsics

- nir: Add a data pointer to the callback in nir_remove_dead_variables

- compiler: Use util/bitset.h for system_values_read

- spirv: Allow variable pointers pointing to an array of blocks

Chad Versace (24):

- anv/image: Check DISJOINT in vkGetPhysicalDeviceImageFormatProperties2 (v2)

- anv/image: Fix isl_surf_usage_flags for stencil images

- isl: Define isl_drm_modifier_get_score() [v3]

- anv/image: Use isl_drm_modifier_get_score()

- isl: Add isl_format_layout::uniform_channel_type

- anv/image: Teach anv_get_image_format_features() about modifiers (v3)

- anv/image: Fill drmFormatModifierTilingFeatures (v2)

- isl: Make public the list of modifiers

- anv/image: Refactor iteration over modifiers

- anv/image: Delete the list of modifier-compatible formats

- anv/image: Fix VkExternalMemoryProperties for images (v5)

- anv/image: Rename get_wsi_format_modifier_properties_list()

- anv/image: Minor refactor of VkImageFormatProperties::sampleCounts

- anv/image: Fail earlier in anv_get_image_format_properties

- anv/image: Respect VkImageFormatListCreateInfo for VkImageFormatProperties (v2)

- anv/image: Drop redundant rejection of YCbCr formats with modifiers

- anv/image: Emit error message for non-2D DRM images

- anv/image: Move some DRM code in anv_get_image_format_properties()

- anv/image: Add more asserts to choose_isl_tiling_flags

- anv/image: Define add_all_surfaces()

- anv/image: Further split add_*_surface funcs (v2)

- anv/image: Rewrite check_surfaces() [v2]

- anv/image: Check surface offsets after adding each surface

- anv/image: Define anv_image_get_aux_addr (v3)

Chia-I Wu (1):

- virgl: fix modifier truncation

Christian Gmeiner (37):

- ci: sort packages installed via apt-get

- etnaviv: nir: do not run opt loop after nir_lower_bool_xxx(..)

- etnaviv: drop nir_print_shader(..) call

- etnaviv/drm: fix evil-twin etna_drm_table_lock

- etnaviv/drm: convert to simple_mtx

- etnaviv/drm: add some locking asserts

- etnaviv: update fallthrough comments

- nir: change return type to void

- etnaviv: rename from immedaite to uniform in some places

- etnaviv: remove imm_ prefix from etna_shader_uniform_info members

- ci: build ARM mesa with X11 OpenGL support

- ci: build mesa with gbm

- ci/bare-metal: build full piglit for baremetal ARM targets.

- ci/fastboot: exclude either deqp or piglit

- ci/bare-metal: pass thorugh PIGLIT env vars

- mesa/prog_to_nir: use intrinsic builders

- tgsi_to_nir: use intrinsic builders

- nir: use intrinsic builders

- v3d: use intrinsic builders

- v3dv: use intrinsic builders

- ir3: use intrinsic builders

- st: use intrinsic builders

- zink: use intrinsic builders

- tu: use intrinsic builders

- d3d12: use intrinsic builders

- iris: use intrinsic builders

- vc4: use intrinsic builders

- intel/blorp: use intrinsic builders

- intel/compiler: use intrinsic builders

- anv: use intrinsic builders

- microsoft/compiler: use intrinsic builders

- pan: use intrinsic builders

- etnaviv: add set_stream_output_targets(..) stub

- v3d: drop not use function parameter

- v3d: update fallthrough comments

- v3d: mark some variables static const

- etnaviv: handle NULL views in set_sampler_views

Connor Abbott (17):

- freedreno/ci: Strip location from asserts

- freedreno/a6xx: Document private memory registers

- ir3: Expand cat6 a6xx opcode field

- ir3: Add more a6xx-specific cat6 opcodes

- ir3: Support assembling & disassembling getspid/getwid

- ir3: Fix STP/LDP assembly

- ir3/parser: Fix st{l,lw,g,p} and ld{l,lw,g,p} assembly

- ir3: Initial support for private memory

- ir3: Properly validate cat6 half-ness

- freedreno: Add per-device parameters for private memory

- tu: Support private memory

- freedreno/a6xx: Implement private memory

- ir3: Enable nir_lower_vars_to_scratch on a6xx

- ir3/ra: Fix array reg liveness in scalar pass

- ir3: Rename high registers to shared registers

- ir3: Better rules for shared src copy propagation

- ir3: Support MOVMSK

Daniel Schürmann (53):

- nir: add strength reduction pattern for imod/irem with pow2 divisor.

- nir: allow for cheap intrinsics in nir_opt_peephole_select()

- nir: add nir_phi_get_src_from_block() helper

- nir/opt_peephole_select: collapse nested IFs if applicable

- nir/opt_peephole_select: respect selection_control when collapsing ifs

- nir: don’t sink instructions into loops

- nir/opt_sink: return early when trying to sink unused instructions

- aco/ra: use get_reg_specified() for p_extract_vector

- aco: don’t create dead exec mask phis on merge blocks

- aco: fix DCE of rematerializable phi operands

- aco/spill: only prevent rematerializable vars from being DCE’d if they haven’t been renamed

- aco/ra: fix phi operand renaming

- nir/opt_if: split ALU from Phi more aggressively

- aco: don’t emit parallelcopy when switching to WQM.

- aco: make pred_by_exec_mask() accessible in other files

- aco: allow to schedule SALU/SMEM through exec changes

- aco: fix def-use distance calculation when scheduling.

- aco: schedule position exports in the same pass as memory operations

- aco: create VMEM clauses slightly more aggressive

- nir/opt_vectorize: use a single instruction per hash entry instead of a vector

- nir/opt_vectorize: don’t hash instructions which are already vectorized

- nir/opt_vectorize: don’t hash filtered instructions

- nir/opt_vectorize: rehash users of vectorized instructions

- nir/opt_vectorize: hash whether a swizzle accesses elements beyond the maximum vectorization factor

- nir/opt_vectorize: fix call to filter function

- nir,vc4: Lower fneg to fmul(x, -1.0)

- nir: replace .lower_sub with .has_fsub and .has_isub

- nir/divergence_analysis: mark load_push_constant as uniform

- radv: optimize idiv_const for small bitsizes

- radv: call nir_opt_algebraic_late() after lowering idiv for small bitsizes

- radv: don’t lower_pack() after load-store-vectorization

- radv: enable .lower_ineg

- aco: simplify and fix operand/definition sizes

- aco/ra: fix infinite recursion in get_reg_simple() with subdword registers

- aco: fix VOP3P assembly, VN and validation

- aco/RA: fix subdword operands on VOP3P instructions

- aco: allow constants/literals on every src position for VOP3P

- aco: allow SGPRs on every src position for VOP3P

- aco: change usesModifiers() considering opsel_hi on packed instructions

- aco: create helpers to emit vop3p instructions

- aco: emit packed 16bit instructions

- radv: vectorize 16bit instructions

- aco: simplify multiply-add combining

- aco: optimize packed mul+add to v_pk_fma_f16

- aco: optimize packed clamp

- aco: optimize packed fneg

- aco: optimize v_pk_fma_f16 -> v_pk_fmac_f16 on GFX10

- aco: propagate swizzles when optimizing packed clamp & fma

- aco: remove divergent branches which only jump over very few instructions

- aco/optimizer: don’t propagate subdword temps of different size

- aco/optimizer: don’t copy-prop logical phis

- aco: fix nir_intrinsic_ballot with wave32

- aco: fix shared VGPR allocation on RDNA2

Daniel Stone (17):

- microsoft/clc: Allow building with Clang git

- microsoft/clc: Disable broken f32 -> i64/u64 test

- CI: Add Windows libclc and SPIRV-LLVM-Translator builds

- CI: Windows: Use 32 vCPUs for Mesa build

- CI: Remove ludicrous Windows container build timeout

- CI: Update Windows build for current Meson options

- CI: Build d3d12 Gallium driver and CLC framework on MSVC

- CI: Re-enable MSVC build

- freedreno: Add missing dependency to build

- CI: Collapse SCons & meson-misc stages into one

- CI: Collapse llvmpipe & softpipe stages into one

- CI: Collapse radv & radeonsi stages into one

- CI: Collapse virgl & d3d12 stages into one

- CI: Collapse lima & panfrost stages into one

- CI: Reorder non-hardware stages last

- CI: Add llvmpipe- prefix to Piglit jobs

- CI: Add Windows source dependency map

Danylo Piliaiev (22):

- freedreno/a6xx: add support for dual-source blending

- freedreno/a6xx: Fix typo in height alignment calculation in a6xx layout

- freedreno/a6xx: add support for ARB_shader_stencil_export

- tu: Ignore pTessellationState if there is no tesselation shaders

- tu: pCounterBuffers can be NULL in vkCmd*TransformFeedbackEXT()

- freedreno/a6xx: Fix assert which checks the count of shader outputs

- ir3: Allow tesselation to use all 32 varying slots

- freedreno/a6xx: Fix SP_HS_UNKNOWN_A831 value and document it

- freedreno/a6xx: bump varyings limit

- freedreno: Fix FD_MESA_DEBUG=flush debug option

- freedreno/ir3: remap FRAG_RESULT_COLOR to _DATA* for dual-src blending

- nir/lower_fragcolor: handle dual source blending

- freedreno/a6xx: fix array pitch for layer-first layouts

- freedreno/a6xx: add support for gl_Layer in vertex shader

- freedreno/a6xx: support layered framebuffers in blitter_clear

- nir: account for point-coord origin when lowering it

- nir: fix missing nir_lower_pntc_ytransform.c in the makefile

- freedreno/a6xx: fix transform feedback resuming

- freedreno/a5xx: implement transform feedback resuming

- freedreno: Enable GLSL 3.30, updating us to GL 3.3 contexts

- turnip: remove unused IR3_DP_LOCAL_GROUP_SIZE_* from cs params

- turnip: implement indirect dispatch

Dave Airlie (69):

- util: add a env getter for versions

- clover/device: store version in device at constructor.

- clover: add CL 3.0 CL_DEVICE_NUMERIC_VERSION support

- clover/platform: move versioning to core object.

- clover: add CL_PLATFORM_NUMERIC_VERSION support

- clover: report device CLC versions for 3.0

- clover: add support for versioned device extensions

- clover: add platform supported extensions with version

- clover: add support for opencl C features

- gallium: handle empty cbuf slots in framebuffer samples helper

- u_blitter: port radv 3D blit coords logic.

- lavapipe: enable alpha to one.

- lavapipe: disable SNORM blending for now

- llvmpipe: just use draw_regions in draw/line setup.

- draw: fix tess eval pipeline statistics.

- gallivm: add float to 8/16 int

- gallivm/nir: add fsum support

- gallivm/nir: lower dot products.

- gallivm: lower vector compares

- gallivm: fix float atomic exchange.

- clover: handle memory object properties properly.

- clover: add support command queue properties

- clover: add all CL 3.0 API with invalid functions

- clover: add cl 3.0 SVM invalid support

- clover: add device/platform info for CL 3.0

- clover: add 3.0 program properties

- clover: add CL 3.0 event/queue queries

- clover/image: handle MEM_KERNEL_READ_AND_WRITE flag.

- spirv/cl: add enqueued workgroup size.

- lavapipe: fixup device allocate + enable private data

- lavapipe: fix wsi acquire fences

- llvmpipe/setup: move point stats collection earlier.

- llvmpipe: fix multisample point rendering.

- llvmpipe: fix multisample lines.

- lavapipe: fixup mipmap precsion bits

- lavapipe: enable pipeline stats queries

- gallium: fix missing bit field in p_state.h

- zink: allow the backend to optimise shaders.

- lavapipe: enable VK_EXT_shader_stencil_export

- lavapipe: enable post depth coverage

- lavapipe: add support for VK_KHR_indirect_draw_count

- radeonsi: fix regression on gpus using the radeon winsys.

- lavapipe: use ralloc for pipeline copies.

- lavapipe: split out pipeline struct duplication to a macro.

- lavapipe: don’t copy pNext

- CI: add lavapipe vulkan testing

- lavapipe: refactor descriptor set binding to support push later.

- lavapipe: add support for VK_KHR_push_descriptor

- lavapipe: add support for VK_KHR_descriptor_update_template

- zink: add some 64-bit conversion ALUs

- gallium: add an api to retrieve pipe offsets

- llvmpipe: add support for vulkan streamout offset hook

- llvmpipe: handle SO statistics multi value query copy. (v2)

- lavapipe: add transform feedback support

- gallium: add grid base to dispatch info

- llvmpipe: add support for grid base

- llvmpipe: enable lower device id to zero

- lavapipe: add basic vulkan device group support.

- util: add printf specifier shared helper code.

- clover/module: add a printf support to module (v5)

- clover/nir: hookup printf (v3)

- intel/isl: move get_tile dims/masks to common isl header

- device-select-layer: update for vulkan 1.2

- lavapipe: fix missing piece of VK_KHR_get_physical_device_properties2

- radv: move queue object to a common base object

- zink: don’t pick a cpu device ever.

- glsl: fix leak in gl_nir_link_uniform_blocks

- glx: proposed fix for setSwapInterval

- lavapipe: fix pipeline vp/scissor mixup.

David McFarland (1):

- radv: fix divide by zero with no tesselation params

David Stevens (6):

- egl/android: don’t pass loaderPriv in get_front_bo

- dri: add image cleanup callback to loader extensions

- frontend/dri: plumb loader image cleanup callback

- i965: plumb loader image cleanup callback

- egl/android: implement image cleanup callback

- egl/dri2: fix image loaderPrivate type mixup

Duncan Hopkins (4):

- zink: setup version dependent VkPhysicalDeviceVulkan*Features and VkPhysicalDeviceVulkan*Properties.

- mesa: Undefine ALIGN macro before it is used as a function name. Issues on MacOS.

- zink: moved vkEnumerateInstanceVersion to create_instance

- zink. Fixing vkGetPhysicalDeviceProperties2 and vkGetPhysicalDeviceFeatures2 for Vk 1.1 and VK_KHR_get_physical_device_properties2.

Dylan Baker (70):

- Bump version for 21.0 devel

- Reset new features for 21.0 development cycle

- meson: Don’t add extra values to shader-cache

- meson: use a feature option for microsoft-clc

- docs: add release notes for 20.2.3

- docs: Add relnotes for 20.2.3

- docs: update calendar and link releases notes for 20.2.3

- release-calender: Update 20.3

- docs: add release notes for 20.3.0

- docs: Add sha256 sums for 20.3.0

- docs: update calendar and link releases notes for 20.3.0

- docs: add release schedule for 20.3

- docs: add release notes for 20.2.4

- relnotes: Add sha256sums for 20.2.4

- docs: update calendar and link releases notes for 20.2.4

- docs: add release notes for 20.2.5

- docs: add sha256 sums for 20.2.5

- docs: update calendar and link releases notes for 20.2.5

- docs: add release notes for 20.3.1

- docs: Add sha256 sums for 20.3.1

- docs: update calendar and link releases notes for 20.3.1

- docs: add release notes for 20.2.6

- docs: Add sha256 sums for 20.2.6

- docs: update calendar and link releases notes for 20.2.6

- docs: add release notes for 20.3.2

- docs: Add sha256 sum for 20.3.2

- docs: update calendar and link releases notes for 20.3.2

- pick-ui: don’t handle the mouse

- bin/remove get-pick-list.sh files

- docs: store the release-calendar information in csv (and fix tests)

- bin: Add script for manipulating the release calendar

- bin/gen_calendar_entries: Add support for extending a release

- bin/gen_calendar_entries: Add support for making a release

- docs: Add calendar entries for 21.0 release candidates.

- docs/release-calendar.rsv: Remove spaces

- VERSION: bump for 21.0.0-rc1

- .pick_status.json: Update to dfe429eb414511170f3dfc960d247c4aa295f924

- .pick_status.json: Update to 184bbef33d1fff3520958c130f2b8e4fce17379c

- .pick_status.json: Update to c27347b2e1883a30e023347a36bdcf86cdec4a7c

- .pick_status.json: Update to 3e13c1f8dfef4a4c0fd5e79bbc364f9e5f998856

- VERSION: bump for 21.0.0-rc2

- .pick_status.json: Update to af9977a3d5f3378c297965e21389e36491f47e1b

- .pick_status.json: Update to c3dbc4df194a15aa1cf09493a3100b59e37e48fe

- .pick_status.json: Update to 64f55b82c7f1652e4fae478c0af325fc38b9b53b

- .pick_status.json: Update to 3ef89b245e3e1ac4e67fea9c1b13ebeda75769d0

- .pick_status.json: Update to d37124b065c2b6c99c042fb402c6a23ce16b034e

- .pick_status.json: Mark 8c7d9716669a74159d2eec86490c756c274f663c as backported

- .pick_status.json: Mark 45bebc7a9c73f3add08c2290fa1eac237edf5a34 as backported

- .pick_status.json: Update to 9052819ebbff07d82c3eb9adf414144df4868644

- .pick_status.json: Update to f01ea0aef8a50d2732eb0c64153903e52ed2a757

- VERSION: bump for 21.0.0-rc3

- .pick_status.json: Update to 86ff78e8fe55b424c6b853ead6979bcd46820d81

- .pick_status.json: Update to 9003735b9141fb156d3b2e1133b94cdf14f63424

- .pick_status.json: Update to e8707961134daa9b91599840ad5698366a6229b7

- .pick_status.json: Update to b609d4677d3f910c546c1d94d8ddfe4511e2f065

- bump version for 21.0-rc4

- .pick_status.json: Update to 8ed874d73fafcfbcb54730dc5c20e58f24d55f5e

- .pick_status.json: Update to 03d3294e35befc2be6ed0ed66ed92fab991c166d

- Revert “vulkan: Make vk_debug_report_callback derive from vk_object_base”

- VERSION: bump for 21.0.0-rc5

- .pick_status.json: Update to 4ded99f99ddbd1103ffddfd9935638fc12e0ecfd

- .pick_status.json: Mark 38ce8d4d00c2b0e567b6dd36876cf171acb1dbc7 as backported

- .pick_status.json: Update to 9f8a0b797ed9b8ad9bf49af8269a337b1152a744

- .pick_status.json: Update to 6ceb6b509e64c54812a5f6a208e7d93cc61119f4

- .pick_status.json: Update to ea27f2bf092f462171fe14a44619565d14f43fb8

- .pick_status.json: Update to c22267262ee1b6817df368a51168fa82bd17293c

- .pick_status.json: Mark 04df0cb4ae7055b0a4a6dc9875aa5926131fe5f4 as backported

- .pick_status.json: Mark 942ba4e34124d1058492f544dc8fd42f4012fd12 as backported

- .pick_status.json: Mark ea27f2bf092f462171fe14a44619565d14f43fb8 as backported

- .pick_status.json: Mark 5f1b3544729178715a1ed0714bd1029737089824 as backported

Ella-0 (1):

- v3dv: Wayland WSI support

Eric Anholt (156):

- util/hash_table: Handle NULL ht in _mesa_hash_table_clear().

- util/hash_table: Clean up the _mesa_hash_table_clear() implementation.

- util/set: Fix the _mesa_set_clear function to not leave tombstones.

- nir/validate: Size the set of blocks to avoid rehashing.

- nir_builder: Return a new builder from nir_builder_init_simple_shader().

- nir/builder_tests: Drop unused lin_ctx.

- nir/tests: Simplify the mem_ctx setup in our unit tests.

- intel: Drop the last uses of a mem_ctx in nir_builder_init_simple_shader().

- nir/builder: Drop the mem_ctx arg from nir_builder_init_simple_shader().

- nir/builder: Add a name format arg to nir_builder_init_simple_shader().

- ci: Move the rust cleanup in lava_build out of the middle of kernel build.

- ci: Only install kernel modules for LAVA devices.

- ci/freedreno: Group the short a630 dEQP runs into one test job.

- ci/deqp: Allow specifying the caselist fraction separate from CI_NODE_INDEX.

- ci: Bump deqp to current vulkan-cts-1.2.4

- ci: Re-enable the clip_three test on non-freedreno ARMs.

- ci/db410c: Fix networking so we get artifacts from our jobs.

- gallium/draw: Fix rasterizer_discard for wide points/lines.

- freedreno: Fix leak of shader binary on disk cache hits.

- nir: Add a size_align helper function for aligning elements to 16 bytes.

- freedreno/ir3: Include at least 4 NOPs so that cffdump doesn’t disasm junk.

- freedreno/ir3: Switch emit_const_ptrs() to take BOs instead of prscs.

- freedreno/ir3: Fix incorrect optimization of usage of 16-bit constbuf vals.

- freedreno+turnip: Upload large shader constants as a UBO.

- freedreno: Disable PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF.

- turnip: Assert about the storage buffer offset alignment.

- ci: Enable -Werror in more clover builds.

- freedreno: Fix release build warnings for asserted temp vars.

- freedreno/a6xx: Fix use of uninitialized img->level in the SSBO/image path.

- freedreno: Fix warning about uninit size for the size==0 special case.

- freedreno: Fix uninitialized var warning in afuc using unreachable().

- freedreno: Suppress uninit var warnings from shader stage switch.

- ci: Bring freedreno into the “warnings clean release build” fold.

- freedreno/afuc: Fix up some sprintf format security warnings.

- gallium: Fix leak of the merged driconf options.

- freedreno: Fix leak of u_transfer_helper.

- egl: Skip closing drivers when building with AddressSanitizer.

- meson: Remove old todo comment about pthread stubs.

- gallium: Fix leak of bound SSBOs at CSO context destruction.

- gallivm: Fix max const buffer count.

- gallium: Fix leak of currently bound UBOs at CSO context destruction.

- freedreno: Break out of “should we free the entry” loop once we’ve freed.

- xmlconfig: Add unit tests for recent bugs in the driconf rewrite.

- xmlconfig: Warn if parsing the engine/app versions fails.

- gallium/osmesa: Fix flushing and Y-flipping of the depth buffer.

- gallium/osmesa: Remove the broken buffer-reuse scheme.

- gallium/osmesa: Fix data race on setting up the ST API.

- gallium/osmesa: Fix leak of the ST manager/api on library unload.

- gallium/osmesa: Return cleanly for OSMesaGetDepthBuffer() with no depth.

- ci/freedreno: Detect the cheza power management bus error and restart.

- ci/vc4: Skip VS dynamic loops tests that cause GPU hangs.

- softpipe: Fix swizzled texture gather of int textures.

- osmesa/test: Clear the stencil bits in the depth test.

- docs: Fix the documentation of the OSMesa path.

- mesa: Retire classic OSMesa.

- ci: Make sure that osmesa stays warnings-clean in release builds.

- st/mesa: Replace mesa_to_tgsi() with prog_to_nir() and nir_to_tgsi().

- gallium/ntt: Don’t manually reindex instrs.

- gallium/ntt: Drop reindexing of SSA defs and regs.

- nir: Redefine start/end_ip of blocks to fix NIR-to-TGSI liveness bugs.

- etnaviv, v3d: Fix valgrind include paths.

- util: Fix memory leak in a hash table unit test.

- util/vma: Fix leak of the heap in the unit test.

- glx/tests: Remove unused teardown function.

- glx/tests: Fix leaks in the unit tests.

- freedreno/ir3: Free the compiler at the end of the unit tests.

- disk_cache: Fix memory leaks in the unit test.

- glsl/general_ir_test: Fix leaks.

- glsl/uniform_initializer_tests: Fix memory leak

- mapi: Fix symbols check with ASan enabled.

- glsl/standalone: Fix memory leaks

- driconf: Fix memory leak in the unit test.

- amd: Fix leak in ac_surface_modifier_test.

- ci: Add an ASan build on x86.

- ci/freedreno: Treat all freedreno deqp runs as saving results.

- ci/freedreno: Stop specifying the number of deqp threads

- mesa/st: Finalize the texture before BlitFramebuffer from it.

- freedreno/a6xx: Flush depth at the end of bypass rendering, too.

- ci/deqp: Make sure that we pull in all board-specific xfail/skip/flake files.

- lvp: Fix vtn warnings about unsupported image read/write without format.

- softpipe: count CS invocations for pipeline stats queries.

- mesa/st: Fix use-after-free of the draw VS.

- ci: Disable the now flaky Portals.trace on a630.

- ci/deqp: Move .shader_cache artifacts exclusion to the yml.

- ci/deqp: Upgrade the runner, enable junit output.

- ci/deqp: Move the load reporting to a quiet block.

- mesa/st: Update FP state when textures change with an ATI_fs bound.

- mesa/prog_to_nir: Factor out the texture-target-to-sampler-dim helper.

- mesa/ati_fs: Clean up writemask handling.

- st/mesa: Generate NIR for ATI_fragment_shader instead of TGSI.

- gallivm: Use the proper enum for the texture target bitfield.

- softpipe: Enable GLSL 400 for compat contexts too.

- ci/piglit: Include the updated piglit results list in the job results.

- ci/softpipe: Include a piglit run.

- gallium/ntt: Fix check for “is there anything in the else block?”

- ci/deqp: Fix inverted meaning of DEQP_NO_SAVE_RESULTS.

- freedreno: Enable GLSL 1.50, updating us to GL 3.2 contexts.

- ci/panfrost: Disable the flaky gimark trace.

- gallium/draw: Fix intermittent failure to bind new geometry shaders.

- ci/softpipe: Re-enable GS tests that had been banned for being flaky.

- gallium/tgsi_exec: Fix shared memory atomic ops.

- gallium/tgsi_exec: Reuse the atomic helper for SSBO atomics.

- gallium/tgsi_exec: Use the new SSBO lookup interface for SSBO loads.

- gallium/tgsi_exec: Move the SSBO store path to tgsi_exec, too.

- gallium/tgsi_exec: Replace the SSBO RESQ-specific interface with lookup.

- softpipe: Sanity check that the SSBO view offset is within the BO.

- ci/softpipe: Skip flaky triangle-rasterization-overdraw.

- ci/softpipe: Ban glx-multithread-texture, too.

- ci/softpipe: Update the comment about the rasterpos flake.

- ci/bare-metal: Drop extra DEQP_PARALLEL settings.

- ci/bare-metal: Pass through FDO_CI_CONCURRENT on bare-metal runners.

- ci: Add a530 and a630 piglit runs.

- gallium/tgsi_exec: Simplify GS output vertex count tracking.

- gallium/tgsi_exec: Stop doing the weird allocation of the Addrs array.

- gallium/tgsi_exec: Drop the unused scratch temp regs.

- gallium/tgsi_exec: Clean up storage of the pixel kill mask.

- gallium/tgsi_exec: Remove unused MaxGeometryShaderOutputs.

- freedreno/ir3: Deduplicate link_stream_out.

- freedreno/a5xx: Drop redundant stream output linking check.

- freedreno/a5xx: Move link_stream_out after VPC_VAR_DISABLE like on a6xx.

- gallium/tgsi_exec: Fix assertion failure about missing constbufs.

- gallium/tgsi_exec: Refactor to fix CS local memory overflow checks.

- gallium/tgsi_exec: Add support for PIPE_CAP_LOAD_CONSTBUF.

- gallium/ntt: Fix emitting UBO declarations.

- gallium/ntt: Fix dynamic indirect indexing of per_vertex_input.

- gallium/ntt: Fix load_ubo_vec4 buffer index setup.

- gallium/ntt: Add support for PIPE_CAP_LOAD_CONSTBUF.

- turnip: Move the limited_z24s8 flag to the shared device info.

- freedreno/a6xx: Move the IBO pipe2tex down to where it’s used.

- freedreno/a6xx: Fix z24s8 non-ubwc blits on a630.

- freedreno: Disable UBWC on z24s8 on a630.

- freedreno: Mark a615/a618 as also lacking Z24_UINT_S8_UINT support.

- freedreno: Add missing dep on u_tracepoints.

- ci: Disable the freedreno farm, which went down last night.

- gallium/ntt: Drop XXX comment about supporting carry opcodes.

- gallium/ntt: Emit SSBO buffer declarations.

- gallium/ntt: Emit sample index when necessary for image load/store.

- gallium/ntt: Add support for emitting TXF_LZ.

- gallium/ntt: Drop comment about needing loop label setup.

- gallium/ntt: Drop comment about needing array_id for svga tess.

- gallium/ntt: Work around virglrenderer UIF handling bug.

- nir/lower_locals_to_regs: Use the imul_imm helper instead of forcing it.

- gallium/ntt: Fix leak of the per-instr liveness information.

- mesa/st: Free the NIR builtins TGSI tokens after passing to the driver.

- mesa/st: Free the ARB_vp/fp nir-to-tgsi temporary tokens.

- gallium/ntt: Take ownership of the NIR shader we’re passed.

- Revert “ci: Disable the freedreno farm, which went down last night.”

- util/format: Fix pack/unpack of A1R5G5B5_UINT.

- swr: Don’t report support for shader images.

- panfrost: Stub out set_shader_images().

- gallium: Fix leak of shader images on context destruction.

- mesa/st: Allocate the gl_context with 16-byte alignment.

- vc4: Remove vestiges of alpha test lowering.

- v3d: Clean up vestiges of alpha test lowering.

- freedreno: Add missing dep on freedreno tracepoints.

- r300,i915g: Report no shader buffers or images on non-TCL HW.

Eric Engestrom (3):

- gitlab-ci: drop deprecated platforms that snuck in when nobody was watching

- meson: drop deprecated EGL platform build options

- docs: use a single cell for the branch number

Erico Nunes (6):

- lima: define set_clip_state implementation

- mesa: allow half float textures based on ARB_half_float_pixel

- lima: add support for half float textures

- lima: adjust pp and gp max const buffer size

- nir/lower_vec_to_movs: don’t vectorize unsupports ops

- lima: fix max sampler views

Erik Faye-Lund (133):

- softpipe: correct signature of get_compiler_options

- util/slab: allow usage from c++ code

- compiler: add SYSTEM_BIT_FRONT_FACE

- microsoft/compiler: add dxil-util code

- microsoft/compiler: translate nir to dxil

- d3d12: introduce d3d12 gallium driver

- d3d12: ensure all compoents of clip-distances are written

- d3d12: avoid searching twice for bos

- util/u_process: implement util_get_process_name for Windows

- d3d12: fix code after simple-shader helper changes

- microsoft/compiler: remove unused struct

- microsoft/compiler: move c++ higher up

- microsoft/compiler: inline some struct-declarations

- microsoft/compiler: correct typo

- meson: verify that d3d12.h exists when building the d3d12 driver

- util: fix unknown pragma warning on msvc

- mesa/main: add missing include in glformats.h

- docs/features: document d3d12 features

- zink: mark general layout as transfer-read/write

- zink: always insert barriers for general-layout

- zink: more accurately track supported blits

- mesa/st: Introduce WINSYS_HANDLE_TYPE_D3D12_RES

- d3d12: Support WINSYS_HANDLE_TYPE_D3D12_RES

- d3d12: also reject GDI-supporting pixel-formats

- llvmpipe: fix arith-test build on msvc

- d3d12: transition the right planes

- docs: add basic docs for d3d12 driver

- zink: fix layered resolves

- zink: fall back to util_blitter for scaled resolves

- Revert “zink: update shader modules in gfx program when flagged dirty”

- Revert “zink: put those shader keys to work fixing up fragment shaders”

- Revert “zink: fill in params for fs shader keys and flag shader for rebuild”

- Revert “zink: move shader key structs into their own header”

- Revert “zink: refcount the shader cache”

- Revert “zink: initial implementation of shader keys”

- Revert “tgsi: Fix helgrind complaint about one-time init”

- Revert “gallium/trace: Fix helgrind complaint about one-time init”

- Revert “mesa: Fix helgrind complaint about one-time init”

- Revert “util: Fix helgrind complaint about one-time init”

- Revert “mesa/st: Use do_once for one-time init”

- Revert “gallium/hud: Use do_once for one-time init”

- Revert “freedreno/ir3: Use get_once() for one-time init”

- Revert “nir: Use get_once() helper for one-time init’s”

- Revert “util: Add helpers for various one-time-init patters”

- docs: document new zink-flag

- d3d12: lower bitfield_extract to shifts

- d3d12: do not inspect NULL samplers

- util/slab: do not dereference NULL-pointer

- zink: revert to old load_ubo implementation

- docs: break project history out of front-page

- docs: move major versions history out of front-page

- docs: use external link-references

- docs: do not explicitly call out es-versions

- docs: mention egl in api-list

- docs: inline contents.rst into index.rst

- gitlab-ci: store build-artifacts from building mesa

- gitlab-ci: build zlib statically on windows

- gitlab-ci: build piglit in mesa_deps.ps1

- gitlab-ci: run piglit on windows

- gitlab-ci: ignore nv_copy_depth_to_color

- gitlab-ci: do not clone git-repo for test-job

- microsoft/clc: use files-function for source-list

- microsoft/clc: add missing dependency

- microsoft/clc: increase test-timeout

- zink: do not require VK_KHR_external_memory

- lavapipe: set some basic usage-flags

- gallium/targets/libgl-gdi: prefer d3d12 driver

- lavapipe: fix logic-op support

- gallium: do not reset buffers for unsupported stages

- zink: fix channel ordering in format-mapping

- lavapipe: interpret inputRate as an enum-value

- lavapipe: implement VK_EXT_vertex_attribute_divisor (v2)

- zink: fail if set failed to create

- zink: use _mesa_pointer_set_create for simplicity

- gitlab-ci: copy piglit expected results to artifacts

- .gitlab-ci: verify that Get-Content worked

- mesa: do not allow es2-extension enums for es1

- mesa: check for extension instead of desktop GL

- gallium/util: make bitcast-helpers explicitly sized

- gallium/util: add bitcast helpers for double and uint

- zink: force display-targets to be linear

- Revert “st/dri: make sure software color-buffers are linear”

- zink: use shader-read-only-optimal for samplers

- zink: use emit_bitcast helper

- zink: ralloc spirv_shader

- zink: fix 8 bit index handling code

- zink: convert x8-formats in zink_get_format

- zink: make zink_format all about raw format-translation

- zink: fix format-mapping

- zink: add format test

- zink: map some more formats

- lavapipe: implement VK_EXT_index_type_uint8

- zink: nir_op_b2f64 implementation

- zink: more conversion ALUs

- docs/features: update list of zink features

- zink: document some more features for higher GL versions

- zink: only emit each cap once

- zink: do not open-code CALLOC_STRUCT

- zink: factor out zink_batch_release-helper

- zink: destroy blitter before destroying batches

- zink: release batch memory

- zink: do not leak vertex element state

- zink: dot leak dummy_buffer

- zink: free sets and hash-tables in context

- zink: destroy transfer-helper

- zink: destroy device and instance

- zink: do not use reservations for stream-out

- zink: do not reserve or pack fragment outputs

- zink: use ConstOffset for nir_tex_src_offset

- zink: use lower_scmp instead of open-coding

- zink: also lower scmp for soft-fp

- zink: remove support for fcsel

- gallium/util: do not perform n^2 stencil blits

- gallium/ntt: lower uniforms to ubo

- zink: disable render_condition_enable during blit

- microsoft/compiler: correct dxil fma opcode

- microsoft/compiler: do not lower away 64-bit ffma

- zink: rename zink vs pipe variables

- zink: setup compiler options during init

- zink: add missing opcodes

- zink: add missing 64-bit integer ops

- zink: use hardware int64 when supported

- mesa/st: fix regression for basic drivers

- zink: handle NULL views in zink_set_sampler_views

- zink: fix vertex-stride wrangling

- zink: respect feature-cap for independent blending

- zink: respect feature-cap for sample-shading

- zink: respect feature-cap for multi-draw indirect

- zink: make all xfb caps depend on extension

- zink: require vulkan memory model for tesselation

- zink: respect fragment-shader depth-layout

- zink: clone shader before lowering clip_halfz

- mesa/main: remove leftover bumpmap code

Francisco Jerez (1):

- intel/gen12: Fix memory corruption issues in fused Gen12 parts.

Georg Lehmann (3):

- vulkan/device-select: fix vkGetInstanceProcAddr self-resolving

- vulkan/overlay: fix vkGetInstanceProcAddr self-resolving

- vulkan/device_select: Only call vkGetPhysicalDeviceProperties2 if the device supports it.

Gert Wollny (36):

- util/format_zs: Add C++ include handling

- nir/print: print GS extra info

- r600/sfn: lower bool to int32 only after common optimizations

- r600/sfn: use a per stream index register in GS

- r600/sfn: Correctly lower all int64

- r600/sfn: fix component loading from fixed buffer ID

- r600/sfn: Add lowering pass to convert load_interpolated to load for POS

- r600/sfn: Add simplified constructors for FS shader inputs.

- r600/sfn: lower IO for FS inputs and handle interpolation accordingly

- r600/sfn: remove unused FS input deref code

- r600/sfn: Fix vertex stage export to accomodate IO lowering

- r600/sfn: lower VS output IO

- r600/sfn: Lower tess-eval IO

- r600/sfn: drop store_deref handling for VS and TES

- r600/sfn: lower GS IO

- r600/sfn: simplify IO lowering and fix TESS IO lowering

- r600/sfn: lower all IO in one pass

- r600/sfn: correct error signalling in switch default case

- r600/sfn: fix definition of priority queue

- r600/sfn: Fix a few warnings in release builds

- r600/sfn: remove unused file

- r600/sfn: remove leftover debug message

- r600/sfn: Fix dest-swizzle for GS vertex loads

- r600/sfn: Add support for shader_clock

- mesa/st: lower 64 bit ops to scalar before lowering to soft-float

- r600/sfn: merge SpecialValue and InlineConstValue

- doc: virgl supports ARB_texture_filter_anisotropic already

- r600: Support TGSI_OPCODE_I64NEG

- r600/sfn: C++ lower-instruct implementation

- r600/sfn: Add number for source components for split_y

- r600/sfn: add lowering passes to get 64 bit ops lowered to 32 bit vec2

- r600/sfn: tie in 64 lowering code

- r600: enable support for 64 bit DIVMOD when NIR is used

- r600: enable fp64 lowering to softemu with NIR

- r600/nir: use “unreachable” instead of “assert”

- r600/sfn: fix use of b32all/and

Giovanni Mascellani (2):

- disk_cache: Fail creation when cannot inizialize queue.

- anv: Allow null handle in DestroyDescriptorUpdateTemplate.

Hans-Kristian Arntzen (2):

- vulkan: Update to 1.2.164.

- radv: Implement VK_VALVE_mutable_descriptor_type.

Hoe Hao Cheng (11):

- zink: define and use <%guard> helper in zink_device_info

- zink: decouple features and enabling conditions in zink_device_info.py

- zink: move blend_operation_advanced conditions to zink_device_info.py

- zink: remove useless import in zink_device_info.py

- zink: allow Extension/Version to be shared across files

- zink: generate instance creation code with a python script

- zink: hook zink_instance to build

- zink: replace old code with generated zink_instance

- zink: fix property detection

- zink: add support for VK_EXT_4444_formats

- zink: VK_KHR_draw_indirect_count is a device extension

Hyunjun Ko (6):

- vulkan: Enable VK_KHR_performance_query on android

- turnip: Implement VK_KHR_performance_query

- turnip: support multipass for performance query.

- turnip: enable VK_KHR_performance_query with new debug flag

- turnip/kgsl: support VK_KHR_performance_query

- turnip: use ir3_compiler_destroy instead of ralloc_free

Iago Toral Quiroga (33):

- zink: only add MESA WSI structs for specific devices

- v3dv: fix typo

- v3dv: move authenticated display fd acquisition to swapchain creation time

- v3dv: fix width for buffer view texture state

- v3dv: add a buffer to image copy path using a texel buffer

- v3dv: initialize pipeline layouts for meta operations at driver initialization

- v3dv: blit shader clean-ups

- v3dv: rename playout and dslayout fields to use underscores.

- v3dv: use VkSurface to retrieve an authenticated display fd

- v3dv: remove box check from texel buffer copy fragment shader

- v3dv: remove redundant free of default pipeline attributes BO

- v3dv: only write new uniforms when needed

- v3dv: remove obsolete comment

- v3dv: fix allocation size for BO handles

- v3dv: fix leak in the buffer to image copy via texel buffer

- v3dv: batch buffer to image copies with the texel buffer path if possible

- v3dv: extend the list of formats supported by the TFU unit

- v3dv: remove obsolete disabled code

- v3dv: support compressed formats with TFU unit

- v3dv: add a format parameter to emit_tfu_job

- v3dv: add a TFU path for image copies

- v3dv: fix base layer for 3D blits in the TFU path

- v3dv: expand format coverage in TFU path for buffer to image copies

- v3dv: check return value of drmGetMagic

- v3dv: expand the formats that can be handled in the TFU blit path

- v3dv: handle Z mirroring in the TFU blit path

- v3dv: add a helper to choose a compatible TFU format

- v3dv: ignore filter in TFU blit path

- v3dv: move error string definition to debug path

- v3dv: don’t log out of pool memory errors for internal driver pools

- v3dv: fix early return from failed drmGetMagic

- v3dv: fix incorrect slice selection for TFU jobs

- v3dv: fix BO list for TFU jobs

Ian Romanick (23):

- intel/compiler: Rotate instructions ROR and ROL cannot have source modifiers

- intel/compiler: Delete redundant MAC declaration

- intel/fs: Silence unused parameter warning in filter_simd

- intel/fs: Add support for printing half-float immediate values

- util: Add cnd_monotonic to Makefile.sources

- nir: Make some notes about fsign versus NaN

- nir/algebraic: Make some notes about comparison rearrangements versus infinity

- Revert “nir: Replace an odd comparison involving fmin of -b2f”

- nir/algebraic: Don’t add reordered version of patterns for commutative instructions

- nir: Correctly constant fold fsign(NaN) and fsign(-0)

- nir/algebraic: Mark some logic-joined comparison reductions as exact

- nir/algebraic: Add some compare-with-zero optimizations that are exact

- spir-v: Mark floating point comparisons exact

- nir/algebraic: Fix broken NaN and -0.0 behavior

- nir/algebraic: Mark comparisons generated from lowered fsign precise

- nir/algebraic: Move the flrp -> bcsel rule earlier

- i965: Don’t parse driconf again

- nir/algebraic: Fix a >> #b << #b for sizes other than 32-bit

- intel/compiler: Properly handle shift count for 8-bit sources

- intel/compiler: Enable the ability to emit CMPN instructions

- intel/compiler: Make the CMPN builder work like the CMP builder

- intel/compiler: Use CMPN for min / max on Gen4 and Gen5

- nir/algebraic: Fix some min/max of b2f replacements

Icecream95 (54):

- rbug: Forward get_compiler_options to pipe driver

- rbug: Handle non-TGSI shaders

- panfrost: Fix AFBC blits of resources with faked RGTC

- panfrost: Fix stack shift calculation

- pan/mdg: Try demoting uniforms instead of spilling to TLS

- panfrost: Split up batches with many jobs

- pan/gen_pack: Fix signed integer packing

- panfrost: Fix negative LOD bias support on Bifrost

- pan/decode: Fix “Access to unknown memory” message formatting

- panfrost: Fix precise occlusion queries on Bifrost

- panfrost: Fix CLAMP wrap mode

- panfrost: Fix the Maximum anisotropy field in the XML

- panfrost: Set the anisotropy level when cso->max_anisotropy is set

- panfrost: Add a gpu_revision argument to panfrost_get_quirks

- panfrost: Expose ARB_texture_filter_anisotropic on supported GPUs

- panfrost: Fix panfrost_small_padded_vertex_count for 17 vertices

- panfrost: Fix discard behaviour on Bifrost

- nir: Handle load_kernel_input in nir_get_io_offset_src

- pan/mdg: Fix promoted uniform moves with 64-bit types

- pan/mdg: Add load_kernel_input support

- pan/mdg: Implement load_global_invocation_id

- pan/mdg: Set compute lowering options

- panfrost: Stop lowering cs derived sysvals in glsl

- panfrost: Add a NIR pass to lower 64-bit vec3 intrinsic loads

- pan/mdg: Use the pan_nir_lower_64bit_intrin NIR pass

- pan/mdg: Support nir_intrinsic_load_global_constant

- pan/mdg: Support nir_intrinsic_group_memory_barrier

- panfrost: Allow NULL for some binding functions

- pan/mdg: Replace zext with a type enum

- pan/mdg: Return false instead of asserting in mir_args_ssa

- pan/mdg: Add i2i64 to mir_match_offset

- pan/mdg: Pass the memory type to mir_set_offset directly

- pan/mdg: Invert the type conditional for load intrinsics

- pan/mdg: Support loads and stores to scratch memory

- panfrost: Stub out panfrost_render_condition

- panfrost: Set conditional render cap

- gallium: Add new cap PIPE_CAP_TEXTURE_BUFFER_SAMPLER

- docs: Mention PIPE_CAP_TEXTURE_BUFFER_SAMPLER

- st/mesa: Use samplers for buffer textures if requested

- panfrost: Make the width argument to panfrost_new_texture 32 bits

- panfrost: Support buffer sampler views

- panfrost: Fix textureSize for buffer textures

- panfrost: Enable ARB_texture_buffer_object

- panfrost: Dual-source blending on Bifrost

- pan/bi: Add a define for the Bifrost shader prefetch size

- pan/bi: Add some zero bytes after shaders on Bifrost

- panfrost: Fix size assertion in bi_alu_src_index

- pan/mdg: Fix spilling when scratch memory is used

- pan/bi: Iterate from zero when setting RA interference

- pan/decode: Free mapped memory objects on BO unreference

- panfrost: Use normal malloc/free instead of ralloc for surfaces

- panfrost: Add the tiler heap to fragment jobs

- pan/bi: Use the correct size for UBO loads

- st/mesa: Update constants on alpha test change if it’s lowered

Ilia Mirkin (18):

- nv50: only support 4 components in separate xfb mode

- nv50: fake enough resume support pre-nva0 to pass gles3 requirements

- mesa/teximage: show internal format when printing verbose api log

- nv50/ir: allow a mov to emit directly to a shader output

- nv50: fix instancing of client-side vertex buffers

- nv50,nvc0: serialize between before/after using a zeta surface as color

- nv50: use 2d blit when m2mf doesn’t support the copy

- nouveau: change fence destruction logic on screen destroy

- nouveau: add drm-shim support

- ci: include nouveau in shader-db runs

- nouveau: trigger the current fence’s work on destroy explicitly

- glsl: only expose int64 atomics when extension is enabled

- cso: set index_bounds_valid = true for arrays draws

- nvc0: index_bias is now only set for indexed draws

- st/mesa: fix broken moves for u2i64 and related ops

- nv50/ir: clear dnz flag when converting mul/mad to simpler ops

- nvc0/ir: add fixup to deal with interpolateAtSample with non-MSAA

- nouveau: reinstate fencing on screen destroy

Indrajit Kumar Das (3):

- radeonsi/gfx10: fix overflow and primitive queries

- radeonsi/gfx10: added support for gfx10 conditional rendering

- radeonsi/gfx10: fix issue with multiple overflow queries on the same context

James Jones (4):

- gallium: Add pipe_screen::is_dmabuf_modifier_supported

- gallium: Add format modifier plane count query

- gallium/dri: Factor out DRI extension setup code

- gallium/dri: Use per-screen DRI extension list

James Park (54):

- radv: Fix radv_queue_init failure handling

- c11/threads: Fix Win32 timed functions

- c11/threads: Remove Win32 null checks

- c11/threads: Remove Windows XP support

- util/os_time: Safe os_time_get_nano for Windows

- util,radv: Cross-platform monotonic condition variable

- radv: Const aco_compiler_statistic_info usage

- amd: Simplify ac_addrlib_create

- amd: Cast to int for %d snprintf argument

- amd: Remove bitfield sizes from enum values

- amd: Stub sections that don’t have _WIN32 support

- amd: Replace vasprintf with vfprintf

- amd: Work around MSVC limit for string literals

- amd: Fix signature mismatch

- amd: Fix declaration mismatch

- amd/common: Check with_tests before adding test

- vulkan: Remove GCC pragmas by fixing warnings

- vulkan: Replace pthread mutex with mtx_t

- vulkan: Portable wsi_common_get_current_time()

- util: Add os_localtime

- vulkan/util: Consolidate typed_memcpy

- aco: Define NOMINMAX in Meson build file

- aco: Fix warnings about unsafe integer/bool mix

- aco: Add missing C++ includes

- aco: Remove nonstandard parentheses

- aco: Declare num_reduce_ops for array size

- aco: Const correct aco_compiler_statistics

- aco: Replace indexed array initialization

- aco: Use u_memstream instead of POSIX memstream

- aco: Initialize union within Operand for MSVC

- aco: Fix warnings for bools in bitwise logic

- aco: Stub sections that don’t have _WIN32 support

- aco: Avoid extra bitfield padding

- radv: Exclude amdgpu driver files for Windows

- radv: Update build defines for Windows

- radv: Replace VLAs with alloca

- radv: Wrap pragmas with __GNUC__ to fix MSVC

- radv: Use os_localtime instead of localtime_r

- radv: Don’t return value in void function

- radv: Ignore radv_printflike on Windows

- radv: Update radv_assert for MSVC

- radv: Fix callback signatures

- radv: Fix leak in radv_amdgpu_winsys_destroy()

- radv: Fix function parameter types

- radv: Use standard __VA_ARGS__ macro

- radv: Create shader cache if ENABLE_SHADER_CACHE

- radv: Use unsigned with u_bit_scan for MSVC

- radv: Replace pthread mutex with mtx_t

- radv: Replace pthread thread with thrd_t

- radv: Use portable ffs and util_bitcount macros

- util: Disable [[fallthrough]] for C17

- xmlconfig: Disable WITH_XMLCONFIG on Windows

- util: Disable memstream for Apple builds

- gallium/tessellator: Fix warning suppression

Jan Beich (1):

- util: unbreak on BSDs after MSVC changes

Faith Ekstrand (63):

- intel/fs: Fix use of undefined value in fixup_nomask_control_flow

- nir/lower_io: Add data OOB asserts to write_constant

- nir: Add a more generic helper for gathering constant initializers

- nir,clover: Drop nir_lower_mem_constant_vars

- nir: Rewrite lower_undef_to_zero

- Revert “anv/image: Define anv_image_get_aux_addr (v3)”

- vulkan: Update XML and headers to 1.2.162

- spirv: Rename some ray-tracing intrinsics to NV

- spirv: Update JSON and headers from Khronos main

- spirv: Implement OpTraceRayKHR and OpExecuteCallableKHR

- spirv: Call repair SSA for OpTerminateInvocation

- spirv: Implement OpTerminateRayKHR and OpIgnoreIntersectionKHR

- spirv: Implement SpvOpConvertUToAccelerationStructureKHR

- nir: Add a halt instruction type

- spirv: Emit nir_jump_halt after TerminateRay or IgnoreIntersection

- intel/dev: Add a gen_device_info::has_ray_tracing bit

- intel/genxml: Add the BINDLESS_SHADER_RECORD data structure

- intel/genxml/pack: Stash the cloned address field

- intel/genxml: Support truncated addresses

- intel/genxml: Add RT_DISPATCH_GLOBALS and RT_*_SBT_HANDLE structs

- intel/genxml: Add BVH data structures

- nir: Add a helper to get the live set at a cursor

- nir/lower_io: Allow ray_hit_attrib in lower_vars_to_explicit_types

- nir/lower_io: Support shader_call_data in vars_to_explicit_types

- intel/debug: Add a debug flag for ray-tracing shaders

- intel/compiler: Add support for bindless shaders

- intel/rt: Add a brw_rt.h header with #defines for basic RT data structures

- intel/fs: Add and implement a load_global_const_block intrinsic

- intel/rt: Add builder helpers for accessing RT data structures

- intel/rt: Add a pass to lower the new ray-tracing intrinsics

- intel/rt: Add lowering functions for each ray-tracing stage

- intel/rt: Add support for scratch in ray-tracing shaders

- intel/rt: Add return instructions at the end of ray-tracing shaders

- intel/rt: Add a pass to lower shader call instructions

- intel/rt: Add a helper to create a trivial return shader

- intel/rt: Implement support for shader call payloads

- intel/fs: Add and implement intel-specific ray-tracing intrinsics

- intel/rt: Implement traceRay()

- intel/rt: Implement the new ray-tracing system values

- intel/rt: Add support for shader buffer record memory

- intel/rt: Add lowering for ray-walk intrinsics in any-hit shaders

- intel/rt: Add lowering for combined intersection/any-hit shaders

- intel/rt: Add a helper to create the raygen trampoline shader

- intel/rt: Add support for hit attributes

- intel/rt: Implement push constants as global memory reads

- nir: Use the right argument order for load_scratch_base_ptr

- intel/fs: DISCARD_JUMP does not have side-effects

- intel/fs: Rename PLACEHOLDER_HALT to HALT_TARGET

- intel/fs: Use BRW_OPCODE_HALT for discards

- intel/fs: Remove unnecessary HALT_TARGET in opt_redundant_halt()

- intel/fs: Emit HALT_TARGET in emit_nir_code()

- intel/fs: Implement nir_jump_halt

- nir/lower_non_uniform: Refactor for better code organization

- nir/lower_non_uniform: Better handle non-derefs

- anv: Bump maxGeometryInputComponents to 128 on Gen8+

- intel/compiler: Return 1 for immediates in regs_read

- intel/fs: QUAD_SWIZZLE requires packed data

- nir: Drop the lower_mem_constant_vars declaration

- vulkan: Make vk_debug_report_callback derive from vk_object_base

- nir: Don’t optimize bcsel-of-shuffle across blocks

- nir: Fix parameter order in the bcsel-of-shuffle optimization

- intel/fs: Shuffle can’t handle source modifiers

- anv/formats: Advertise linear sampling on depth formats

Jeremy Huddleston (3):

- util: Fix pointer to integer conversion error when using libunwind

- Fall back on clock_gettime when timespec_get() is unavailable

- Adjust dylib compatibility versions to match what was set by mesa-18.3’s autotools-based builds

Jesse Natalie (105):

- microsoft/compiler: Fix reference to renamed intrinsic getter

- panfrost/util: Move nir_undef_to_zero into core nir and add ‘lower’

- nir: Add nir_alu_type -> glsl_base_type conversion helper

- vtn/opencl: Fix alignment for half vload/vstore

- nir_load_libclc: Mark libclc shader as internal

- spirv: Allow spirv_to_nir callers to provide a float execution mode

- microsoft: Add CLC frontend and kernel/compute support to DXIL converter

- d3d12: Add glon12 target which only includes d3d12 driver

- d3d12: Pipe adapter LUID from callbacks to D3D12 screen init

- wgl: Marshal HDC into screen creation and LUID querying

- wgl: Implement get_adapter_luid callback

- wgl: Add stw_winsys callback to check which PFD flags should be added

- wgl: Add PFD flags based on stw_winsys callback response

- wgl: Add winsys framebuffer object

- wgl: Use winsys framebuffer interface if present

- d3d12: Implement winsys framebuffer

- winsys/d3d12: Use MakeWindowAssociation to remove DXGI’s alt+enter handling

- d3d12: Delete unused local variables

- microsoft/compiler: Remove dead code/variables

- d3d12: Fix brace-initialization issues

- d3d12: Fix signed-unsigned comparison warnings

- d3d12: Remove Windows-specific macros

- d3d12: Clean up d3d12_compiler.h

- d3d12: Fix unhandled switch case warnings

- microsoft/compiler: Fix unhandled switch case warnings

- d3d12: Misc fixes caught by GCC warnings / code inspection

- microsoft/compiler: Misc fixes caught by GCC

- d3d12: Fix use of incorrect clear color variable

- microsoft/compiler: Add missing ‘return’ to switch case

- d3d12: Fix GCC warnings for missing function prototypes

- windows: Always set NOMINMAX to remove min/max macros

- util: Add os_get_page_size query

- driconf: Avoid empty macro resulting in empty initializer braces

- gallium: Include winsock lib as a dependency for Windows

- gallium: Remove unnecessary forward declaration of swrast_driver_descriptor

- clover: Add opencl-native build flag

- clover: Support LLVM coming from CMake instead of config-tool

- clover: Add version.lib dependency for Clang on Windows

- meson: Adjust Clover’s required LLVM modules

- clover: Fix property_element::as for MSVC

- clover/llvm: Work around MSVC quirks

- clover/core: Support MSVC

- clover/api: Support MSVC

- clover: Use .def files for exports on Windows

- clover/core: Fix x86 build

- gallium: Add optional pipe_context to flush_frontbuffer

- d3d12: Fix incorrect fence timeout calculation

- CI: Add repeat-wait to Windows Piglit skip

- d3d12: Use DirectX-Headers wrap for d3d12.h

- d3d12: Refactor screen to abstract DXGI details

- d3d12: Add DXCore screen variation

- microsoft/compiler: Pick up new dxcapi.h

- winsys_handle: Change D3D12 resource handle type to void*

- d3d12: Include wsl/winadapter.h when not compiling for Windows

- d3d12: Include dxguids/dxguids.h in files that need __uuidof

- d3d12: Use IID_PPV_ARGS instead of __uuidof

- d3d12: Scope down wrl includes to just client.h

- d3d12: Add forward declaration for LUID

- d3d12: Use u_dl instead of Windows DLL APIs

- d3d12: Only play DLL path tricks on Windows

- d3d12: Only support DXGI and GDI APIs on Windows

- d3d12: Support Linux eventfds for fences

- d3d12: Don’t require DXIL for WSL

- gallium/dri: Add D3D12 software driver option

- d3d12: Flush and wait in flush_frontbuffer

- drisw: Add fallback logic for choosing a driver to use

- drisw: Prefer hardware-layered sw-winsys drivers over pure sw

- nir: Add intrinsic and string ptrs

- nir/vtn: Implement printf opcode in terms of intrinsic (v9)

- nir: Add a printf lowering pass (v5)

- nir: Add an algebraic optimization for float->double->float

- microsoft/clc: Hook up printf

- microsoft/compiler: Fix warnings produced by GCC in release mode

- microsoft/compiler: Fix incorrect size passed to strncpy

- d3d12: Unused variable warning indicated bug in bo_unmap

- d3d12: Signed/unsigned comparison warning fixes

- d3d12: Fix unused local variable warning in release build

- d3d12: Fix implicit fallthrough warnings

- microsoft/resoure_state_manager: Silence GCC invalid offsetof warning

- d3d12: Fix clang warnings from {0} in C++ code

- d3d12: Fix uninitialized variable referenced in error case

- d3d12: Remove copy/pasted line of array initialization

- microsoft/compile: Fix incorrect enum type in function signature

- microsoft/compiler: Fix tautological comparison

- microsoft/resource_state_manager: Remove unused private variable

- microsoft/compiler: Fix clang fallthrough warnings

- microsoft/clc: Fix const violations from ralloc_steal

- CI: Install DirectX-Headers package for x86 container

- CI: Enable d3d12 driver for Linux CI builds

- nir: Update saturated float->int/uint conversion algorithm

- d3d12: Add a path for mapping of not-directly-mappable buffers

- d3d12: Add a slab bufmgr for readback buffers

- d3d12: Use buffer pipe usage to inform allocation

- d3d12: Use an appropriate pipe resource usage for map intermediates

- d3d12: Don’t allocate mappable textures

- nir: Work around MSVC x86 internal compiler error

- drisw: Disable automatic use of layered drivers with LIBGL_ALWAYS_SOFTWARE

- wgl: Refactor screen creation to a function

- wgl: Add a loop for screen creation with an ordered list of fallbacks

- d3d12: Fail screen creation if a shader validator is needed and can’t be created

- wgl: Disable automatic use of layered drivers with LIBGL_ALWAYS_SOFTWARE

- microsoft/clc: Let lower_vars_to_explicit_types fill kernel input driver_location

- microsoft/clc: Fix wrap modes for inline samplers for integer textures

- microsoft/clc: Move inline samplers to the end of the variable list

- microsoft/clc: Use driver_location for metadata instead of re-computing offsets

Jonathan Gray (1):

- aco: use UINT64_C on 64 bit constant arguments

Jonathan Marek (9):

- turnip: implement z-scaling and z-mirroring BlitImage

- turnip: no linear_to_srgb for alpha channel for gmem clear value packing

- turnip: do not include compute stage in pipeline_builder

- turnip: always emit LRZ draw state in DIRTY_DRAW_STATE path

- turnip: correctly disable draw states outside of renderpasses

- turnip: do not emit draw states in draw_cs outside of renderpass

- turnip: move up LRZ invalidate in CmdClearAttachments

- turnip: always set LRZ registers to zero for 3d clear/blit

- turnip: don’t always use 3d ops for blit_image

Jordan Justen (10):

- intel/dev: Use GEN_GEN if defined for gen_device_info_is_9lp

- intel/dev: Add gen_device_info_is_12hp

- intel/genxml: Copy gen12.xml to gen125.xml

- intel/genxml: Build gen 12.5

- intel/isl: Build gen 12.5

- intel/anv: Build gen 12.5

- intel/iris: Build gen 12.5

- intel/compiler: Add GEN125 to enum gen

- intel/common: Build mi_builder_test for gen 12.5

- iris: Fix android build due to missing link to libmesa_iris_gen125

Juan A. Suarez Romero (19):

- ci: add testing for VC4 drivers (Raspberry Pi 3)

- util: function to check for rgbX format

- v3d: force alpha to 1 when rendering RGBX formats

- v3d: make set tile buffer size function public

- v3d: store number of color buffers in job

- v3d: split binning start from draw

- v3d: add helper to check if format supports TLB resolve

- v3d: implement tile buffer blits

- v3d: refactor set tile buffer size function

- v3d: implement tile-based blit operation

- v3d: remove old tile blit code

- v3d: use job’s nr_cbufs field

- v3d: extend the list of formats supported by the TFU unit

- ci: Bump deqp to current vulkan-cts-1.2.5.0

- doc/features: add VC4 driver

- v3d: reinterpret stencil data as uint texture in stencil blit path

- v3d: check blit mask inside blit subpaths

- v3d: add fast-path tile-based blit for depth/stencil buffers

- v3d: fix dest offset in TFU setup

Karol Herbst (3):

- clover/queue: Flush automatically if applications do not flush themselves

- tegra/context: fix regression in tegra_draw_vbo

- tegra/context: unwrap indirect_draw_count as well

Keith Packard (1):

- glx: Provide glvnd wrapper for glXSwapIntervalEXT

Kenneth Graunke (16):

- intel/compiler: Fix passthrough TCS regressions from program rename

- prog_to_nir: Revert name initialization change

- intel/compiler: Do interpolateAtOffset coordinate scaling in NIR

- intel/fs: Fix sampler message headers on Gen11+ when using scratch

- nir/algebraic: Avoid creating new fp64 ops when using softfp64

- asm: Fix x86 assembly for inverse matrix operations

- asm: Try to fix sparc assembly for inverse matrix operations

- nir/lower_non_uniform: Use nir_read_first_invocation helper.

- vbo: Don’t set node->min_index = max_index = indices_offset when merging

- vbo: Only mark merged line strips as lines when actually converting them

- tnl: Try not to botch index buffer munging when start \> 0.

- tnl: Respect `start` when converting indices to GLuint

- tnl: Reset nr_bos to 0 between map/unmap cycles.

- Revert “mesa: allow half float textures based on ARB_half_float_pixel”

- iris: Consider resolves after changing a resource’s aux state

- glsl/float64: Bump #version to 400

Krunal Patel (1):

- radeon/vce: Bitrate not updated when changing framerate

Leo Liu (17):

- vl: add AV1 codec picture support

- radeon/vcn: add AV1 codec driver firmware interfaces

- radeon/vcn: add AV1 support to the decoder

- radeon/vcn: add AV1 dpb buffer size

- radeon/vcn: add AV1 default tables for the context

- radeon/vcn: add AV1 context buffer

- radeon/vcn: fill up the context buffer

- radeon/vcn: get AV1 message buffer

- radeon/vcn: fill up the probs buffer

- radeonsi: cap AV1 codec configuration

- radeonsi: cap AV1 support to SIENNA CICHLID

- frontends/omx/bellagio: add AV1 initial support to omx dec

- frontends/omx/av1: add AV1 OBU header parsers

- frontends/omx/av1: add AV1 tasks management

- frontends/omx/av1: enable AV1 OMX Bellagio support

- mesa/st_vdpau: set surface winsys handle modifier

- frontends/omx: fix build warning

Lionel Landwerlin (21):

- intel/dump_gpu: add support for MMAP_OFFSET ioctl

- nir: don’t consider txf_ms_mcs a query instruction

- st: trigger noop if the default value is not true

- mesa: add an environment variable to default enable INTEL_blackhole

- anv: fix descriptor pool leak in VMA object

- nir: wire shading rate variables

- compiler/nir: introduce a new helper to get varying name

- spirv: add support for KHR_fragment_shading_rate

- isl: Fix android build

- vulkan/overlay: don’t display frame numbers unless required

- vulkan/overlay: add new options to display device/swapchain-format

- gallium/dri2: Don’t forget protected content flag

- anv: add transfer usage for color/depth/stencil attachments

- intel/mi_builder: fix self modifying batches

- anv: Fix stencil layout in render passes

- anv: fix invalid programming of BLEND_STATE

- anv: only signal wsi fence BO on last command buffer

- anv: discard all timeline wait/signal value=0

- anv: reset binary syncobj to be signaled before submission

- anv: don’t wait for completion of work on vkQueuePresent()

- anv: Fix wait_count missing increment

Louis-Francis Ratté-Boulianne (11):

- gallium/nir: Wrap tgsi_to_nir header in extern C

- gallium/util: Wrap suballoc.h into extern C

- gallium: Wrap some header files into “extern C”

- d3d12: Add D3D12 WGL winsys

- wgl: Flush in-between resolving buffer and presenting

- wgl: Call flush_resource() before presenting

- wgl: Wait for fence when not using winsys framebuffer

- wgl: Create third buffer when drawing to front buffer

- wgl: Wrap stw_pixelformat.h into extern C

- d3d12: Release swapchain buffers before resizing them

- wgl: Don’t crash in stw_make_current if current framebuffer is NULL

Lucas Stach (2):

- etnaviv: fix disabling of INT filter for real

- etnaviv: tex_state: fix miplevel selection

Marcin Ślusarz (16):

- nir: handle float atomics in copy propagation pass

- intel/tools/aubinator_error_decode: exit with an error on unknown option

- intel/tools/aubinator_error_decode: allow “-” as an input file

- intel/tools/aubinator_error_decode: allow 0 arguments

- iris: store copy of the border color in the border color hash table

- intel/tools/aubinator_error_decode: cleanup path/file handling

- intel/tools/aubinator_error_decode: fix small memory leaks

- svga: remove duplicated code

- iris: remove redundant check

- util/list: add list_is_linked

- nine: use list_is_linked

- gallium: use list_is_linked

- iris: use list_is_linked

- r600: use list_is_linked

- omx: use list_is_linked

- util/list: use helper function in list_is_singular

Marek Olšák (278):

- st/mesa: fix use-after-free when updating shader info in st_link_nir

- nir: optionally shuffle local invocation IDs for compute quad derivatives

- nir: rename needs_helper_invocations to needs_quad_helper_invocations

- nir: gather shader_info::needs_all_helper_invocations

- nir: optimize nir_lower_discard_to_demote to lower discard/demote both ways

- ac/llvm: fix demote inside conditional branches

- radeonsi: enable GL_EXT_demote_to_helper_invocation

- amd: add register enums for VRS

- radeonsi: add an option to enable 2x2 coarse shading for non-GUI elements

- mesa: add Driver.DrawTransformFeedback

- gallium: move count_from_stream_output into pipe_draw_indirect_info

- gallium: make pipe_draw_indirect_info \* a draw_vbo parameter

- gallium/u_threaded: lift DIV_ROUND_UP to eliminate it for constant expressions

- gallium/u_threaded: clean up direct vs indirect draws

- gallium: add pipe_draw_info::index_bounds_valid

- gallium/u_threaded: improve draw merging by clearing pipe_draw_info fields

- gallium: add missing bits of the direct multi draw interface

- gallium: extend draw_vbo to support multi draws

- gallium/u_threaded: store start/count in min/max_index for better packing

- gallium/u_threaded: add support for multi draws

- mesa: clean up Driver.Draw parameter types

- mesa: clean up GLboolean types in draw.c

- mesa: remove constant drawID parameter from _mesa_draw_arrays

- mesa: move primitive restart enablement determination from st/mesa to main

- mesa: index _RestartIndex with index_size_shift

- mesa: add primitive restart state to Driver.Draw parameters

- mesa: don’t FLUSH_VERTICES from primitive restart changes

- radeonsi: don’t load DrawID for indirect draws if it’s unused

- radeonsi: swap DrawId and StartInstance SGPR locations

- radeonsi: handle pipe_draw_info::increment_draw_id

- radeonsi: fix min_direct_count value

- radeonsi: do VGT_FLUSH when switching NGG -> legacy on Sienna Cichlid

- radeonsi: only do VGT_FLUSH for fast launch if previous draw was normal launch

- radeonsi: determine correctly if switching from normal launch to fast launch

- radeonsi: don’t subtract max_verts_per_prim from hw_max_esverts on gfx10.3

- radeonsi: read vs_state_bits in vs_prolog correctly

- radeonsi: tweak triangle list culling performance for GS fast launch

- radeonsi: remove VS input loads when culling with rasterizer discard

- radeonsi: add options.inline_uniforms to the shader cache key

- ac: add build_alloca with an initializer

- ac: fix detection of Pro graphics

- ac: fix min/max_good_num_cu_per_sa on gfx10.3 with disabled SEs

- ac: rename num_render_backends -> max_render_backends

- ac: rename num_sh_per_se -> num_sa_per_se

- radeonsi: don’t do VGT_FLUSH before fast launch on gfx10.3

- radeonsi: don’t add num_vbos_in_user_sgprs to the shader cache key for non-VS

- radeonsi: fix NGG streamout regression

- radeonsi: fix scan_instruction for bindless inc_wrap/dec_wrap atomics

- winsys/amdgpu: remove amdgpu_winsys_bo::u::sparse::flags

- winsys/amdgpu: remove amdgpu_winsys_bo::sparse

- winsys/amdgpu: replace amdgpu_winsys_bo::flags with pb_buffer::usage

- winsys/amdgpu: replace amdgpu_winsys_bo::initial_domain with pb_buffer::placement

- winsys/amdgpu: move amdgpu_winsys_bo::lock for better packing

- mesa: add glInternalSetError for glthread

- mesa: make error handling for glGetActiveUniform glthread-safe

- glthread: make glGetActiveUniform return without syncing

- mesa: lock Shared->BufferObjects only once for a glthread batch

- mesa: lock Shared->TexMutex only once for a glthread batch

- nir: fix gathering TCS cross invocation access with lowered IO

- nir: fix gathering patch IO usage with lowered IO

- ac/nir: fix a typo in ac_are_tessfactors_def_in_all_invocs

- radeonsi: adjust tess SGPRs to allow fully occupied 3 HS waves of triangles

- radeonsi: don’t leave more than 8 unoccupied lanes in HS

- radeonsi: don’t allocate LDS for TCS outputs if they are not read

- radeonsi: limit HS LDS usage per workgroup to 16K to allow at least 2 WGs/CU

- radeonsi: don’t generate a dead conditional in si_write_tess_factors on gfx9+

- radeonsi: merge TCS and TCS epilog conditional blocks

- radeonsi: always return void from si_build_wrapper_function

- radeonsi: if VS and TCS have the same number of threads, merge the conditonals

- radeonsi: remove unnecessary NULL checking in NIR tess functions

- ac/llvm: prepare for passing VS->TCS IO via VGPRs

- radeonsi: pass VS->TCS IO via VGPRs if VS and TCS have the same thread count

- radeonsi: don’t insert barrier between VS/TCS if all TCS inputs come from VGPRs

- radeonsi: don’t allocate LDS for TCS inputs if it’s not used

- radeonsi: implement GS fast launch for indexed triangle strips

- mesa: don’t duplicate allocation code in _mesa_new_parameter_list_sized

- mesa: track ParameterValues size separately

- mesa: properly disallow param list reallocation

- mesa: don’t print GL errors in release builds if MESA_DEBUG=silent

- mesa: call FLUSH_VERTICES before changing sampler uniforms

- mesa: move sampler condition for flushing into mesa_flush_vertices_for_uniforms

- mesa: skip redundant uniform updates for glUniform

- mesa: skip redundant uniform updates for glUniformMatrix

- mesa: skip redundant uniform updates for glUniformHandle

- mesa: don’t read from destination memory when computing state parameter values

- mesa: replace _mesa_problem with unreachable in fetch_state

- util: add a common ALIGN16 macro for m_matrix and u_threaded_context

- mesa: don’t allocate matrices with malloc

- mesa: rework matrix statevar enums to remove excessive branching in fetch_state

- mesa: remove redundant _math_matrix_analyse calls in fetch_state

- mesa: fix printing state parameters

- mesa: allow multi-slot program parameters

- mesa: demystify material_attrib()

- mesa: optimize setting gl_Light state parameters

- mesa: restructure gl_light vars to match the layout of gl_LightSource uniforms

- mesa: put constants before state vars for ffvp

- mesa: put constants before state vars for ARB programs

- mesa: take advantage of sorted parameters in _mesa_load_state_parameters

- mesa: merge matrix state parameters for faster uploads (disabled)

- mesa: merge light state parameters for faster uploads (disabled)

- mesa: add helpers for drivers to load state parameters into buffers

- gallium: add PIPE_CAP_PREFER_REAL_BUFFER_IN_CONSTBUF0

- st/mesa: add a faster path for uploading state parameters into constant buffers

- st/mesa: replace st_context::state::constants with a mask

- mesa: fix crashes in the no_error case of invalid glUniform calls

- mesa: skip glMultMatrix if the matrix is identity

- mesa: consider glPushMatrix a no-op change from the driver perspective

- mesa: canonicalize matrix in glPushMatrix to make glPopMatrix possibly a no-op

- mesa: memset matrices at initialization to enable memcpy on it

- mesa: treat glPopMatrix as a no-op state change if it doesn’t change the matrix

- mesa: rewrite glPushAttrib/glPopAttrib to get rid of malloc

- mesa: add a fast path for restoring fixed-func tex state in glPopAttrib

- mesa: add a fast path for restoring light attributes in glPopAttrib

- mesa: reorganize gl_texture and sampler structures for glPush/PopAttrib

- mesa: optimize saving/restoring bound textures for glPush/PopAttrib

- mesa: reduce the size of gl_texture_attrib_node::Texture by about 90%

- mesa: skip _mesa_set_enable in glPopAttrib if there are no changes

- mesa: optimize out no-op calls in glPopAttrib

- mesa: more optimizations in glPopAttrib (colormask, drawbuffers, coord replace)

- mesa: remove gl_texture_object references from glPush/PopAttrib stack

- mesa: allocate the attribute stack on demand

- st/mesa: fix uninitialized/random clip plane state vars in lower_ucp

- compiler: decrease STATE_LENGTH from 5 to 4

- mesa: replace ParameterValueOffset[i] with Parameters[i].ValueOffset

- radeonsi: print more fields in si_dump_shader_key

- radeonsi: always use a staging texture for linear 1D textures in VRAM

- radeonsi: correct the MAD/FMA support table

- radeonsi: use util_logbase2 instead of division by index_size

- radeonsi: fix a memory leak in si_create_dcc_retile_cs

- radeonsi: fix line stippling with LINES_ADJACENCY without GS

- radeonsi: fix max_lds_size warning in release builds

- winsys/radeon: don’t use debug_get_option_noop in a hot path

- winsys/amdgpu: don’t use debug_get_option_noop in a hot path

- radeonsi: unduplicate code setting MIN_COMPRESSED_BLOCK_SIZE

- radeonsi: enable NGG and NGG culling on gfx10.3 APUs by default

- radeonsi: add AMD_DEBUG=nofastlaunch for debugging

- radeonsi: eliminate shader code for disabled or masked color outputs

- radeonsi: fix a nasty bug in si_pm4.c

- radeonsi: only mask 1 CU for GS/VS waves on gfx10.3

- ac,radeonsi: fix load_first_vertex

- radeonsi: don’t update indexed flag in SGPR if it’s unused

- radeonsi: don’t update provoking vertex and outprim states in SGPR if unused

- ac: enable late allocation on VanGogh to increase perf

- radeonsi: disable WGP mode on gfx10.3 to prevent hangs

- radeonsi: don’t invalidate emitted NUM_INSTANCES for u_blitter

- radeonsi: don’t set DrawID and StartInstance if they are unused

- radeonsi: don’t check for GS fast launch for NOT_EOP in the indexed case

- Revert “radeonsi: always return void from si_build_wrapper_function”

- vbo: remove gl_context dereferences when we can just subtract the pointer

- cso: remove unused code

- gallium: inline struct u_suballocator to remove dereferences

- cso: inline struct cso_cache to remove dereferences

- st/mesa: put pipe_screen \* into st_context and use it

- st/mesa: move cso_context next to the other pointers

- r300,r600,radeonsi: inline struct radeon_cmdbuf to remove dereferences

- draw: add NIR support to draw_create_vertex_shader

- st/mesa: don’t generate TGSI for the draw VS because it now supports NIR too

- st/mesa: remove less useful debug options in hot paths

- gallium: fix the PIPE_SHADER_CAP_SUPPORTED_IRS value for all drivers

- glthread: use glthread->used instead of glthread->next_batch->used

- glthread: use uint64_t to declare the batch buffer instead of align(8)

- glthread: change sizes to unsigned or size_t where needed

- glthread: count batch space in units of uint64_t elements

- gallium/u_threaded: don’t pass index bounds to the driver to decrease overhead

- gallium/u_threaded: set has_user_indices = false in the driver thread

- gallium/u_threaded: don’t copy the indexbuf pointer if we overwrite it

- gallium/u_threaded: don’t make a local copy of pipe_draw_start_count

- gallium/u_threaded: optimize set_constant_buffer

- mesa: fix glPopAttrib for GL_COORD_REPLACE for r200

- mesa: remove code for old (mostly unsupported) GL_NV_point_sprite

- mesa: remove MAX_3D_TEXTURE_LEVELS, MAX_CUBE_TEXTURE_LEVELS

- radeonsi: move si_screen_clear_buffer into si_compute_blit.c w/o SDMA option

- radeonsi: rename buffer functions so as not to reference rings

- radeonsi: remove SDMA support

- radeonsi: rename SI_TEST_DMA to SI_TEST_BLIT

- radeonsi: fix the blit test for SW_64KB_R_X

- radeonsi: initialize ctx and gfx_cs first, then allocators

- ac: add radeon_info::all_vram_visible for Smart Access Memory

- radeons: only force staging uploads for VRAM when all VRAM is not visible

- radeonsi: only use staging for linear textures when all VRAM is not visible

- radeonsi: unify uploaders and upload to VRAM if all VRAM is visible

- radeonsi: map PIPE_USAGE_STREAM to VRAM if all VRAM is visible

- winsys/amdgpu: use VRAM for command buffers if all VRAM is visible

- ac,radeonsi: implement GL_NV_compute_shader_derivatives

- st/mesa: enable compute shader derivatives in SPIR-V

- radeonsi: fix a crash in si_fence_server_sync

- ac: correct ac_shader_args types, remove sgpr_count

- ac: add shader return values into ac_shader_args

- radeonsi: split ac_shader_args initialization from LLVM code

- radeonsi: move si_create_function into si_shader_llvm.c

- radeonsi: move si_build_main_function into si_shader_llvm.c

- radeonsi: move si_llvm_compiler_shader and deps into si_shader_llvm.c

- ac: unify shader arguments that are duplicated

- ac/llvm: handle no_(un)signed_wrap NIR flags

- compiler: fix glsl_types.h compile failures when including as C++ in drivers

- gallium/util: allow including a few files in C++

- amd/llvm: fix C++ compile failures

- radeonsi: allow including a few files from C++

- radeonsi: fix future C++ compile failures and warnings

- radeonsi: resolve a tricky C++ failure with goto jumping over initializations

- radeonsi: rename si_state_draw.c to .cpp

- radeonsi: use a C++ template to decrease draw_vbo overhead by 13 %

- radeonsi: fix small primitive culling with MSAA force-disabled and smoothing

- radeonsi: disable NGG fast launch with indexed triangle strips to fix a hang

- radeonsi: improve a comment about an MSAA bug workaround

- nir_to_tgsi: fix NIR options instead of asserting

- draw: fix incorrect NIR support code

- mesa: fix assertion paramList->LastUniformIndex \< paramList->FirstStateVarIndex

- mesa: remove unused LastUniformIndex

- mesa: overallocate program parameter values

- mesa: don’t restore texture state into unbound textures in glPopAttrib

- mesa: call Driver.TexParameter in glPopAttrib to fix r100, r200, old nouveau

- gallium: pass pipe_stencil_ref by value (it has only 2 bytes)

- gallium: inline pipe_alpha_state to enable better DSA bitfield packing

- gallium: inline pipe_depth_state to decrease DSA state size by 4 bytes

- cso: don’t pass blend_color through cso_context

- st/mesa: don’t make a local copy of blend color

- cso: remove context and delete_state pointers from all CSOs

- cso: inline cso_construct_key

- gallium/util: fix util_can_blit_via_copy_region for conditional rendering

- st/mesa: don’t do glCopyPixels via blit if depth bounds test is enabled

- st/mesa: relax requirements for doing glCopyPixels via blit

- st/mesa: skip glDrawPixels if it’s totally clipped for all codepaths

- mesa: fix an overflow check for MultiDrawElements

- vbo: only set count and end when closing _mesa_prim

- vbo: change the parameters of vbo_get_minmax_index to get rid of _mesa_prim

- mesa: add Driver.DrawGallium* functions to be used by main/draw.c

- gallium: add pipe_draw_info::index::gl_bo

- mesa: add a fallback for drivers not implementing Driver.DrawGallium*

- vbo: add vbo_get_minmax_indices_gallium

- mesa: switch (Multi)DrawArrays to DrawGallium

- mesa: switch Draw(Range)Elements(BaseVertex) calls to DrawGallium

- mesa: switch MultiDrawElements(BaseVertex) to DrawGallium*

- vbo: remove _mesa_prim parameter from vbo_try_prim_conversion

- vbo: remove _mesa_prim parameter from vbo_merge_draws

- vbo: remove _mesa_prim parameter from vbo_copy_vertices

- vbo: switch immediate Begin/End to DrawGallium

- gallium/u_threaded: clear vertices_per_patch if prim type != PATCHES

- gallium: remove and emulate PIPE_CAP_MULTI_DRAW

- gallium: fix draw info setup in draw and utilities

- freedreno: fixes handling draw info

- iris: don’t use index_bias if not indexed

- nouveau: fix handling draw info

- panfrost: don’t use index_bias if not indexed

- r600: fix handling draw info

- swr: fix handling draw info

- svga: fix handling draw info

- vc4: don’t use index_bias if indexed

- v3d: don’t use index_bias if not indexed

- virgl: fix handling draw info

- st/mesa: implement Driver.DrawGallium callbacks

- gallium: remove PIPE_CAP_INFO_START_WITH_USER_INDICES and fix all drivers

- util: add AMD CPU family enums and enable L3 cache pinning on Zen3

- ac,radeonsi: limit Smart Access Memory to Zen 3 and GFX10.3 due to perf issues

- radeonsi: add driconf options to enable/disable Smart Access Memory

- radeonsi: take color interpolation into account for shader variants

- util: replace UTIL_MAX_CPUS by util_cpu_caps.num_cpu_mask_bits

- st/mesa: simplify checking whether to pin threads to L3

- st/mesa: fix a defect when st_validate_state was invoked for unused states

- mesa: add STATIC_ASSERTs to the STATE_LIGHT_ATTRIBS case

- mesa: fix a bug in merging light state parameters with unpacked uniforms

- mesa: fix a second bug in merging light state parameters with unpacked uniforms

- radeonsi: fix hang caused by for loop with exec=0 in LS and ES

- radeonsi: remove si_gs_prolog_bits::gfx9_prev_is_vs

- gallium: skip draws with count == 0 or instance_count == 0 in drivers

- mesa: skip draws w/ count == 0 and instance_count == 0 in draw_gallium_fallback

- vbo: fix a index buffer map failure with size = 0 in get_minmax_indices_gallium

- gallium/u_threaded: skip draws if user index buffer size has size == 0

- mesa: always set valid index bounds for non-indexed draws for classic drivers

- mesa: fix alpha channel of ETC2_SRGB8 decompression for !bgra

- radeonsi: fix centroid with VRS coarse shading

- glthread: fix interpreting vertex size == GL_BGRA for vertex attribs

- mesa: flush glBegin/End before changing GL_DEPTH_STENCIL_TEXTURE_MODE

- i915: use align_calloc for the context to fix m32 crashes

- radeon,r200: use align_calloc for the context to fix m32 crashes

- nouveau_vieux: use align_calloc for the context to fix m32 crashes

- Revert “gallium/u_upload_mgr: allow use of FLUSH_EXPLICIT with persistent mappings”

- radeonsi: don’t crash on NULL images in si_check_needs_implicit_sync

Marek Vasut (1):

- etnaviv: Fix rework ZSA into a derived state

Marijn Suijten (3):

- util: Do not insert uninitialized data if Android property is not set

- android: util: Add libcutils to Android.mk shared libs

- mesa/math: Fix address of array always returning true

Mark Janes (1):

- meson: add idep_mesautil to components using simple_mtx.h

Martin Peres (1):

- driconf: remove the redundant glx-extension-disabling options

Matt Turner (2):

- glcpp: Handle bison-3.6 error message changes

- turnip: Remove unused TU_DEBUG_IR3 flag

Mauro Rossi (19):

- android: gallium/aux: update old generated sources rules

- android: gallium/aux: Add GPU tracepoint mechanism

- android: freedreno: Add GPU tracepoints

- android: freedreno: Remove fd_log()

- android: freedreno/ir3: use python3 in gen rules

- android: radv: add libcutils shared dependency

- android: spirv: fix ‘::’ typo in gen rules

- android: pan/bi: Add explicit dependency on the ISA helpers

- android: pan/bi: Generate bi_opcodes.{c,h}

- android: pan/bi: Generate instruction printer

- android: pan/bi: Generate builder routines

- android: pan/bi: Generate instruction packer for new IR

- android: pan/bi: Remove combine lowering

- android: pan/bi: Remove old IR packs

- android: pan/bi: Remove NIR->old IR

- android: pan/bi: Remove old IR opcode table

- android: ac/radv: fix typo in ac_rgp.h listed in Makefile.sources

- android: r600/sfn: add sfn_nir_lower_64bit.cpp to Makefile.sources

- android: pan/bi: reorder static dependencies in gallium/dri

Michael Forney (1):

- meson: add missing dependency on generated git_sha1.h

Michael Tang (3):

- microsoft/compiler: Add dedicated spirv_to_dxil libraries

- util: Implement os_read_file for Windows

- microsoft/compiler: Add spirv2dxil executable

Michel Dänzer (33):

- ac: Don’t negate strstr return values in ac_query_gpu_info

- ci: Drop ci-templates-sha anchor

- ci: Update to current ci-templates

- ci: Use ci-fairy docker image instead of local git_archive one

- ci: Move sanity stage to the beginning of the pipeline

- ci: Squash “check mr/commits” jobs into a single sanity job

- ci: Make test-docs job depend on sanity job

- ci: Go back to previous ci-templates commit for debian.yml

- ci: Run git gc before creating Git cache tarball

- ci: Define global variable MESA_TEMPLATES_COMMIT for ci-templates commit

- ci: Append $MESA_TEMPLATES_COMMIT to image tags

- ci: Drop x86_build_old image

- ci: sanity job doesn’t need the Git tree

- ci: Manual test jobs don’t need the Git tree

- ci: Run sanity job automatically for forked branches as well

- ci: Move BASE_TAG expansion to FDO_BASE_IMAGE assignment

- ci: Add .use-base-image template

- ci: Adapt armhf_test job to MESA_TEMPLATES_COMMIT related changes

- docs: Adapt to FDO_DISTRIBUTION_TAG → MESA_IMAGE_TAG rename

- ci: .lava-test:amd64 template needs arm_build

- ci: Run sanity job only in pre-merge pipelines

- ci: Move deploy stage to the end of the pipeline

- wsi/x11: Set recognizable name for WSI swapchain queue thread

- wsi/x11: Always link against xcb-xrandr

- wsi/x11: Detect Xwayland

- wsi/x11: Use PresentOptionAsync for MAILBOX present mode with Xwayland

- wsi/x11: Treat IMMEDIATE present mode the same as MAILBOX for Xwayland

- ci: Rule out scheduled pipelines in .windows-build-rules

- ci: Add *ignore_scheduled_pipelines to mesa/gallium rules templates

- wsi/x11: Use wsi_x11_get_connection in x11_present_to_x11_dri3

- wsi/x11: Always free randr_reply in wsi_x11_connection_create

- wsi/x11: Make sure wsi_x11_connection::is_xwayland is always initialized

- wsi/x11: Use get_screen_resources_current in wsi_x11_detect_xwayland

Michel Zou (16):

- zink: fix build on windows

- util: fix -Wshift-count-overflow warning

- zink: fix unused variable warning

- libgl-gdi: add zink support

- spirv: workaround setjmp/longjmp crash on MinGW

- glsl: Drop mingw -O1 workaround for GCC>=7.3

- util: fix mingw format-extra-args warning

- glapi: fix unused-function warning

- glsl: fix redefinition warning on win32

- wgl: fix maybe-uninitialized warning

- softpipe: fix maybe-uninitialized warning

- gallium/tests: fix unused-but-set-variable warning

- llvmpipe: work around mingw compiler optimization bug

- meson: fix multiline string warning

- llvmpipe: fix unused variables warnings

- drisw: fix unused variables warnings

Mike Blumenkrantz (113):

- util/threaded_context: use driver’s ubo alignment for constant buffer uploads

- zink: initial implementation of shader keys

- zink: refcount the shader cache

- zink: move shader key structs into their own header

- zink: fill in params for fs shader keys and flag shader for rebuild

- zink: put those shader keys to work fixing up fragment shaders

- zink: update shader modules in gfx program when flagged dirty

- zink: handle arbitrary border colors using VK_EXT_custom_border_color

- zink: track custom border color samplers and verify against device limits

- zink: add alternate ubo loader in ntv

- zink: assert all index values in ntv OpAccessChain constructor

- zink: initial shader key implementation

- zink: change a memcmp==0 to !memcmp

- zink: use shader keys for samplemask

- mesa/st: set reserved storage for params+values to 16

- zink: fix direct image mapping offset

- zink: really fix direct image mapping offset (I mean it this time)

- st/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT

- st/mesa: set drawpixels swizzle before creating sampler view

- glsl/float64: make this compatible with glsl 330

- zink: support frem shader op

- zink: add nir pass for splitting 64bit vertex attribs which cross slot boundaries

- zink: be more paranoid about array strides in ntv

- zink: add get_storage_class() ntv util

- zink: handle struct derefs in ntv

- zink: ntv formatting

- zink: add struct type support for ntv

- zink: add handling for 64bit values in spirv_builder

- zink: support nir_op_f2f32

- zink: add handlers for some bitfield ops in ntv

- zink: set 64bit shader caps in ntv

- zink: change function params and asserts to permit 64bit types in ntv

- zink: add 64bit glsl basetype handling in ntv

- zink: handle 64bit constant loading in ntv

- zink: split ubo loading for 64bit types into 2x32bit loads

- zink: set nir options for 64bit handling based on feature presence

- zink: enable 64bit pipe caps

- mesa/st: run nir_lower_point_size_mov on geometry shaders based on cap

- mesa/st: do not run lower_psiz_mov on vertex shader if geometry shader is present

- mesa/st: tabs -> spaces in st_program

- mesa/st: handle running nir lower passes for ucp and psiz in tess stage

- mesa/st: flag ST_NEW_CONSTANTS upon running nir_lower_point_size_mov

- mesa/st: set lower_point_size for tes/gs during program update

- zink: force stencil format for stencil-only samplers and swizzle the right component

- zink: add nir_op_bit_count to ntv

- zink: handle nir_op_ibitfield_extract: in ntv

- zink: handle nir_op_find_lsb and nir_op_ifind_msb in ntv

- zink: move rp hash functions further up in file

- zink: fix rp hash table

- zink: fix gl_SampleMaskIn handling

- zink: don’t always run nir_lower_io_arrays_to_elements_no_indirects

- zink: add ntv handling for tess shader i/o variables

- zink: add handling for tess shader intrinsics

- zink: set up ntv init for tess shaders

- zink: set scoped barrier flag in nir options

- zink: pull xfb info from tess shader when applicable

- zink: set tess info in pipeline creation

- zink: support PIPE_PRIM_PATCHES

- zink: add handling for tcs and tes shader states

- zink: only run nir_lower_clip_halfz for last vertex processing stage

- zink: add push constant handling to get_storage_class()

- zink: add stubs for tess outer/inner level handling

- zink: implement passthrough tcs shader injection

- zink: handle partial writes to shader outputs

- zink: export tess shader pipe caps

- doc/features: mark off tessellation for zink

- zink: zero VkMemoryRequirements on init

- zink: fix debug utils init

- zink: handle null ubos

- zink: handle 0 as valid pipeline hash value

- zink: fix more instance detection stuff

- st/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT and skip gs

- zink: avoid replacing valid tcs with injected one

- zink: require KHR_maintenance2 for tessellation and set bottom-left origin

- zink: fix tess shader i/o variables

- zink: add KHR_draw_indirect_count detection

- zink: hook up IndirectCount draw commands

- zink: enable PIPE_CAP_MULTI_DRAW_INDIRECT(_PARAMS) caps

- features: mark off multidraw for zink

- radv: avoid oob read during clear

- zink: handle dynamic sampler array indexing for arb_gpu_shader5

- zink: run nir_lower_tex for offsets if shaderImageGatherExtended is missing

- zink: use Offset param for txf ops

- zink: implement ARB_texture_gather

- zink: handle textureGather with Shadow-type samplers

- zink: enable PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS

- features: mark off textureGather for zink

- zink: handle fs interpolation functions in ntv

- zink: set PIPE_CAP_MAX_VIEWPORTS

- zink: handle gl_SampleMaskIn loading in ntv

- zink: always load (gl_InstanceID - gl_BaseInstance) when loading gl_InstanceID

- zink: enable PIPE_CAP_START_INSTANCE

- zink: handle vertex streams

- zink: run nir_lower_dynamic_bo_access

- zink: handle arrays of ubos

- zink: GLSL 4.00

- features: mark off GL 4.0 for zink

- zink: GLSL 410

- features: mark off GL 4.1 for zink

- zink: handle non-const offsets for txf/tg4 ops

- nir: preserve explicit_binding in lower_atomics_to_ssbo

- zink: clamp shader input/output max values

- glcpp: disable ‘windows’ tests

- zink: flag gfx pipeline dirty using newer mechanism

- radv: null bo list pointer for null descriptors on update

- radv: zero the bo descriptor array when allocating a new set

- zink: fix streamout for tess stage

- zink: fix slot mapping for legacy gl io with tess stages

- zink: handle 1bit undef values in ntv

- gallium/trace: add a pipe_screen::get_compiler_options method

- mesa/st: clamp scissored clear regions to fb size

- zink: unset generated TCS if its parent TESS is unset

- zink: fix streamout emission for super-enhanced layouts

Nanley Chery (32):

- mesa: Add and use _mesa_has_depth_float_channel

- mesa: Clamp some depth values in glClearBufferfv

- mesa: Clamp some depth values in glClearBufferfi

- iris: Add and use convert_depth_value

- iris: Use converted depth in clear_depth_stencil

- iris: Disable color fast-clears in iris_copy_region

- i965: Disable color fast-clears for miptree copy

- intel/blorp: Delete clear color conversions during copies

- iris: Stop quantizing the depth clear value

- iris: Fix resource ptr in resolve_sampler_views

- iris: Drop res variable in resolve_sampler_views

- iris: Stop using blorp_hiz_stencil_op

- intel/blorp: Drop support for STC_CCS resolves

- iris: Move STC case in get_copy_region_aux_settings

- iris: Support clears in more GPU-based copies

- iris: Don’t prepare depth for stencil-aspect blits

- iris: Move depth-format assertion out of iris_blit

- iris: Use texture preparation helper in iris_blit

- iris: Increase use of pipe_resources in iris_blit

- iris: Loop through an aspect mask in iris_blit

- iris: Blit non-stencil according to aspect_mask

- iris: Use single-aspect formats more in iris_blit

- iris: Blit stencil according to aspect_mask

- iris: Explain how conditional aux accesses work

- iris: Make can_fast_clear_depth return constants

- iris: Disable conditional fast clears

- iris: Delete iris_resolve_conditional_render

- iris: Drop fast_clear_color’s blorp_flags param

- dri: Restrict glthread for CS:GO to radeonsi

- gallium: Map _DRI_IMAGE_FORMAT_NONE to NULL

- gallium: Flush GL API resources in eglCreateImage

- iris: Disable aux as needed in iris_flush_resource

Neha Bhende (3):

- meson: Don’t build svgadrm on windows

- meson.build: Use SSE math for MinGW X86 build as per sse2 option

- meson.build: Disable zlib as per -Dzlib option

Neil Armstrong (1):

- kmsro: sync Android.mk GALLIUM_TARGET_DRIVERS

Pavel Asyutchenko (1):

- vulkan/overay: fix violation of VUID-VkDeviceCreateInfo-pNext-00373

Pierre Moreau (17):

- clover: rename platform/device apis using strings

- clover/llvm: don’t use strings for version handling.

- clover/spirv: avoid strings for version handling

- clover/api: Add extended versioning query for built-in kernels

- clover/api: Add extended versioning query for OpenCL C

- clover/spirv: Add version conversion utilities

- clover/spirv: Add function checking whether a binary contains SPIR-V

- clover/spirv: Change API to use std::string binaries

- clover/spirv: Add function checking the SPIR-V version

- clover/spirv: Use cl_version for SPIR-V versions (v2)

- clover: List supported ILs versions

- clover: Implement clCreateProgramWithILKHR

- clover: Handle CL_PROGRAM_IL in clGetProgramInfo

- clover/api: Implement CL_DEVICE_IL_VERSION

- clover: Advertise cl_khr_il_program

- clover: Implement clCreateProgramWithIL from OpenCL 2.1

- clover: Expose cl_khr_extended_versioning

Pierre-Eric Pelloux-Prayer (74):

- radeonsi: remove unused NO_RB_PLUS flag

- radeonsi: remove AMD_DEBUG=zerovram flag

- mesa/gallium: add MESA_MAP_ONCE / PIPE_MAP_ONCE

- winsys/amdgpu: make RADEON_ALL_BOS a debug only feature

- amdgpu_bo: make cache_entry a extensible array

- radeonsi/gfx10: flush gfx cs on ngg -> legacy transition

- ac: use bigger storage for ac_arg::arg_index / ac_shader_args::arg_count

- util: add a FALLTROUGH macro

- nir: update fallthrough comments

- gallium: update fallthrough comments

- xxhash: update fallthrough comments

- src/mesa: update fallthrough comments

- compiler/spirv: update fallthrough comments

- radeonsi: update fallthrough comments

- gallium/winsys: update fallthrough comments

- vbo: update fallthrough comments

- gallium/util: update fallthrough comments

- softpipe: update fallthrough comments

- gallium: update fallthrough comments

- radeon: update fallthrough comments

- llvmpipe: update fallthrough comments

- gallivm: update fallthrough comments

- nir/ntt: update fallthrough comments

- amd/ac: update fallthrough comments

- egl: update fallthrough comments

- tgsi: update fallthrough comments

- glx: update fallthrough comments

- Revert “Revert “radeonsi: use staging buffer uploads for most VRAM buffers””

- gallium/u_threaded: fix staging and non-staging conflicts

- gallium/u_threaded: disable forced staging upload at runtime

- dlist: do not call _mesa_lookup_list twice

- vbo/dlist: create an index buffer in compile_vertex_list

- vbo/dlist: convert LINE_STRIPS to LINES

- vbo/dlist: implement primitive merging

- util/hash_table: add _mesa_hash_data_with_seed function

- mesa: optimize _mesa_program_resource_location

- vbo/dlist: refactor prim_store/vertex_store allocations

- vbo/dlist: avoid splitting draw commands in multiple draws

- vbo/dlist: only use merged primitives when it’s ok to do so

- driconf: add allow_incorrect_primitive_id option

- radeonsi: fix si_get_draw_start_count count value

- gallium/u_threaded: set has_user_indices = false for merged draws

- gallium/u_threaded: fix pipe_resource leak for staging transfer

- st/mesa: disable line stippling if pattern is all 1’s

- driconf: add workaround for Enter The Gungeon

- egl: fix EGL_EXT_protected_content/surface mixup

- vbo/dlist: use a shared index buffer

- vdpau: fix -Wabsolute-value warning

- vdpau: fix invalid enum usage

- amd/addrlib: use cpp.has_argument() to filter compiler arguments

- tesselator: remove unused variable

- gallium/vl: merge identical h264/h265 enums

- radeonsi: fix redundant initializations

- mesa/st: fix redundant initialization

- radeonsi: pass radeon_cmdbuf to emit_cache_flush

- radeonsi: pass radeon_cmdbuf to si_cp_dma_wait_for_idle

- ac/sqtt: add ac_thread_trace_data

- ac/radv: move sqtt structs and helpers to amd/common

- ac/radv: move radv_rgp.c to ac

- ac/sqtt: move rgp/sqtt def to ac

- ac/sqtt: move ac_is_thread_trace_complete to ac

- ac/sqtt: move radv_get_expected_buffer_size to ac

- radeonsi: add radeon_set_uconfig_reg_seq_perfctr

- radeonsi: implement SQTT support

- ac/rgp: add missing include

- dri: enable glthread + radeonsi workaround for CS:GO

- st/mesa: consider texture view format for fbo blits

- mesa/fbo: don’t check_end_texture_render on fb read change

- st/mesa: use the correct src format in ReadPixels

- radeonsi: invalidate compute sgprs in si_rebind_buffer

- radeonsi: inhibit clockgating when using SQTT

- radeonsi: properly set SPI_SHADER_PGM_HI_ES

- radeonsi: fix read from compute / write from draw sync

- radeonsi: fix si_check_render_feedback

Rhys Perry (148):

- radv/winsys: set has_dedicated_vram in the null winsys

- aco: don’t combine precise max(min()) to med3

- aco: fix combine_constant_comparison_ordering() NaN check with 16/64-bit

- aco: disallow various v_add_u32 opts if modifiers are used

- aco/tests: initialize debug function

- aco/tests: expand optimize.const_comparison_ordering tests

- aco/tests: add some more clamp combining tests

- nir: add nir_var_mem_ubo to nir_var_read_only_modes

- nir: allow reordering of loads from read-only modes

- aco: disable omod if the sign of zeros should be preserved

- aco: fix fp16 *0.5 omod

- aco/tests: add output modifier tests

- aco: don’t use SMEM for SSBO stores

- aco: create v_mad_u32_u24

- nir: add nir_var_vec_indexable_modes

- nir/copy_prop_vars,nir/dead_write_vars: ignore read-only loads

- nir/loop_analyze: initialize loop variables on demand

- nir/search: check instr type before adding to worklist

- nir/search: check for changes before adding uses to worklist

- nir/deref: add helpers to lazily create paths

- nir/copy_prop_vars: use nir_deref_and_path

- nir/copy_prop_vars: avoid a duplicate lookup if src == vec_src

- aco: don’t create v_mov_b32 in v_mul_imm()

- aco: count v_mul_lo_u32 as 16 cycles

- aco: create vgpr constant copies using v_bfrev_b32

- aco: copy constant to sgpr in Builder::v_mul_imm()

- aco: try harder to not create v_mul_lo_u32

- aco: use v_mul_imm() for some nir_op_imul

- aco/tests: add Builder::v_mul_imm() tests

- aco: fix v_mul_hi_u32_u24 format

- nir/unsigned_upper_bound: fix buffer overflow in search_phi_bcsel

- nir/unsigned_upper_bound: decrement num_sources_left before recursing

- radv/llvm,aco/ngg: fix large shift exponent in ngg_gs_vertex_lds_addr

- aco: fix GS with no outputs

- aco/ngg: fix division-by-zero in assertion

- nir/lower_non_uniform: improve code with the same texture, sampler indices

- nir: fix sampler_lod_parameters_pan indices

- nir: use a single canonical list of intrinsic indices

- nir: add bit_size_src for when the destination bit size matches a source

- nir: add destination bit-size information to more intrinsics

- nir: remove useless nir_builder_opcodes.h include

- nir: move nir_load_system_value() to nir_builder.h

- nir: add generated intrinsic builders

- spirv: use intrinsic builders

- glsl_to_nir: use intrinsic builders

- nir: use intrinsic builders

- radv: use intrinsic builders

- nir: make intrinsic order in nir_print consistent

- nir: fix intrinsic builders on MSVC C++

- nir: fix nir_builder.h on MSVC C++ and GCC7.

- d3d12: remove hand-written intrinsic builders

- nir: add helpers for chasing resource bindings

- nir/opt_load_store_vectorize: use resource binding chasing helpers

- ac/nir: use binding chasing helpers

- aco: use binding chasing helpers

- radv: use FALLTHROUGH macro

- aco: use FALLTHROUGH macro

- nir/opt_sink: use common instruction removal/insertion helpers

- aco: don’t assume src=lower when splitting self-intersecting copies

- aco: test self-intersecting copies when src=higher

- aco: remove sign-extension in constantValue64()

- aco: allow 64-bit literals if they can be sign/zero-extended from 32-bit

- aco: add get_const/is_constant_representable helpers

- aco: use v_lshrrev_b64 for 64-bit VGPR copies on GFX10+

- aco: coalesce constant copies

- aco: clear operands in update_renames()

- aco: don’t fill killed operands in update_renames()

- aco: remove rollback code in get_reg_create_vector()

- aco: repeat get_reg_create_vector() with increased register demand if fail

- aco: use clear() helper instead of writing reg file directly

- aco: simplify get_reg_impl()

- aco: remove rollback code around parallelcopy creation

- aco: remove rollback code for blocked fixed definitions

- aco: move update_renames() out of get_reg()

- aco: remove rollback code when making an instruction vop3

- nir/lower_non_uniform: remove non_uniform flags after lowering

- nir: improve divergence analysis for loads with non-uniform resources

- nir/opt_access: don’t ignore image arrays in process_variable()

- nir/opt_access: ignore barriers and coherent qualifier

- nir/opt_access: check restrict before marking a variable as readonly

- nir/opt_access: don’t check restrict in can_reorder()

- nir/opt_access: rename can_reorder() and set ACCESS_NON_WRITEABLE in it

- nir/opt_access: add basic Vulkan support

- nir/opt_access: handle variable pointers

- nir/opt_access: consider global stores

- nir/opt_access: infer writeonly

- compiler: update gl_access_qualifier comments

- aco: fix various s_subb_u32 operands to SCC

- aco: rename s_subb_u32 operands to borrow

- nir/opt_access: don’t ignore infer_non_readable

- aco: fix mbcnt_amd with wave32

- aco: allow divergent mbcnt_amd masks

- aco: add block to worklist in mark_block_wqm()

- ac/llvm: insert phis before demote kill

- aco: fix incorrect address calculation for load_barycentric_at_sample

- ac/nir: use llvm.readcyclecounter for LLVM9+

- nir/tests: fix callback for load/store vectorizer tests

- nir: allow 5 component vectors

- nir,spirv: add sparse texture fetches

- nir,spirv: add sparse image loads

- nir,spirv: implement SpvOpImageSparseTexelsResident

- nir: add sparse_residency_code_and

- nir/lower_tex: fix lower_tg4_offsets with sparse fetches

- vtn: support SpvCapabilitySparseResidency

- radv: implement CREATE_REQUIRE_FULL_SUBGROUPS_BIT with cswave32

- nir: gather whether a compute shader uses non-quad subgroup intrinsics

- radv: workaround games which assume full subgroups if cswave32 is enabled

- nir/load_store_vectorize: don’t ignore subgroup memory barriers

- nir: add nir_load_store_vectorize_options

- nir/load_store_vectorize: add data as callback args

- radv: vectorize shader I/O

- nir,radv: add and use nir_vectorize_tess_levels()

- aco: fix unreachable() for uniform 8/16-bit nir_op_mov from VGPR

- aco: fix MIMG_instruction::lwe comment

- aco: move MIMG VDATA to its own operand

- aco: implement nir_op_vec5

- aco: implement sparse texture fetches

- aco: implement sparse image loads

- aco: form sparse load clauses

- ac/nir: implement nir_op_vec5

- ac/nir: implement sparse image/texture loads

- radv: implement is_sparse_texels_resident and sparse_residency_code_and

- radv: support SpvCapabilitySparseResidency

- radv/winsys: set has_packed_math_16bit in null winsys

- nir/opt_vectorize: fix typo in instr_can_rewrite()

- nir/opt_vectorize: fix srcs_equal() with two different non-const

- aco: try to better align 8+ dword SGPR vectors

- aco: remove can_reorder semantic in get_sync_info_with_hack

- radv: add RADV_DEBUG=invariantgeom

- radv: set invariantgeom for Shadow of the Tomb Raider

- aco: improve nir_op_vec with constant operands

- aco/tests: don’t rely on argument evaluation order

- nir/loop_unroll: unroll more aggressively if it can improve load scheduling

- aco: fix convert_to_SDWA() check in add_subdword_definition()

- radv,aco: don’t use MUBUF for multi-channel loads on GFX8 with robustness2

- aco: don’t consider a phi trivial if same’s register doesn’t match the def

- radv: round-up num_records division in radv_flush_vertex_descriptors

- radv: correctly enable WGP_MODE for NGG and GS

- radv: correctly enable WGP_MODE for tessellation control

- aco: always set exec_live=false

- aco: do not flag all blocks WQM to ensure we enter all nested loops in WQM

- aco: add fallback algorithm in get_reg()

- aco/lower_phis: fix all_preds_uniform with continue_or_break

- aco: add missing usable_read2 check

- nir/opt_shrink_vectors: add option to skip shrinking image stores

- radv: don’t shrink image stores for The Surge 2

- radv: don’t set sx_blend_opt_epsilon for V_028C70_COLOR_10_11_11

- aco: calculate all p_as_uniform and v_readfirstlane_b32 sources in WQM

Rob Clark (93):

- freedreno: Drop fd_context_lock() and friends

- freedreno/drm: Convert to simple_mtx

- freedreno: debug cleanup

- freedreno: Convert to mesa_log*()

- freedreno: Fix spurious flush

- freedreno: batch-cache locking

- freedreno/a6xx: Texture cache locking

- freedreno: Use ctx seqno in batch cache key

- freedreno/drm: Make ring refcnt atomic again

- freedreno/batch: Move fd_batch_get_prologue()

- freedreno: Make fd_context_batch() return a reference

- freedreno: Add submit lock

- freedreno/drm: Drop growable submit_bos table

- freedreno/batch: Cleanup submit immediately after flush

- freedreno/drm: Rework APPEND() macro

- freedreno: Protect gmem_cache ralloc allocations

- mesa/fbo: Fix valgrind complaints

- mesa/bufferobj: Fix valgrind complaints

- nir: Fix nir_validate fail after nir_lower_tex

- freedreno/drm: Add some locking asserts

- freedreno/ir3: Add pass to deal with load_uniform base offsets

- freedreno/ir3: Fix crash in shader compile fail path

- freedreno: emit_marker() cleanup

- freedreno: Convert one last mtx_t -> simple_mtx_t

- freedreno/a6xx: Clear control mem at context create

- freedreno/drm: Quiet timedout error msg

- freedreno/ir3: Fix valgrind complaint about streamout state

- util: Add helgrind support for simple_mtx

- util: Add helpers for various one-time-init patters

- nir: Use get_once() helper for one-time init’s

- freedreno/ir3: Use get_once() for one-time init

- gallium/hud: Use do_once for one-time init

- mesa/st: Use do_once for one-time init

- util: Fix helgrind complaint about one-time init

- mesa: Fix helgrind complaint about one-time init

- gallium/trace: Fix helgrind complaint about one-time init

- tgsi: Fix helgrind complaint about one-time init

- mesa: Synchronize get_gl_override()

- util: Add property_get() fallback for android

- mesa: Use os_get_option() for MESA_*_OVERRIDE

- egl/surfaceless: glthread support

- egl/dri2: Drop some pointless ifdeffery

- util: Add helper to get FILE* options

- gallium/aux: Add GPU tracepoint mechanism

- freedreno: Small log-parser.py cleanup

- freedreno: Remove unused fxn

- freedreno: Don’t emit log/trace points in gmem for nondraw

- freedreno: Add GPU tracepoints

- freedreno: Add trace-parser.py

- freedreno: Remove fd_log()

- gallium/aux: Avoid creating queue when traces not enabled

- gallium/aux: Split u_tracepoints.[ch] generation

- gallium/aux: Update scons build for u_tracepoints.[ch]

- util: Promote __builtin_types_compatible_p compat

- util: Allow STATIC_ASSERT() everywhere

- util+treewide: container_of() cleanup

- freedreno/ir3: Fix half-immed decoding issues

- freedreno/ir3: Fix mova1 disasm

- freedreno/ir3: Add some more disasm test vectors

- freedreno/ir3: Move assembler error handling

- freedreno/ir3/parser: Reset lexer when input changes

- freedreno/ir3: Various cat0 updates

- freedreno/ir3/parser: Add new cat0 instructions

- freedreno/ir3/parser: cat1 instructions can write relative GPR

- freedreno/ir3/parser: cat1 updates (mova1, movmsk)

- freedreno/ir3/parser: Handle half-immed

- freedreno/ir3: Clean up instruction creation

- freedreno/ir3: Cleanup cat6 load instructions

- freedreno/ir3/parser: Fix cat6 store encoding

- freedreno/ir3/parser: Fix dsxpp/dsypp encoding

- freedreno/ir3/parser: Fixup cat5 s2en instructions

- freedreno/ir3: Don’t set bit for dest conversion for p0.c

- freedreno/ir3/parser: Add missing (sat) modifier

- freedreno/ir3/parser: Relative gpr/const can have modifiers too

- freedreno/ir3/parser: Add initial cat6 IBO instructions

- freedreno/ir3: Tweak ldib/resinfo encoding

- freedreno/ir3: Add parsing and assembler testing

- freedreno/ir3: Don’t leak disk_cache

- freedreno/ir3: Disambiguate a6xx+ “bindless” instructions

- freedreno/ir3: Add cat5/cat6 nonuniform flag

- freedreno/ir3/parser: Add ldc support

- freedreno/ir3/parser: Fix atomic support

- freedreno/ir3/parser: Fix pre-a6xx resinfo

- freedreno/ir3/parser: Add ldgb support

- freedreno/ir3/parser: Add stgb support

- freedreno/ir3/parser: Fixup stg parsing and add more tests

- freedreno/ir3: Fix ldg decoding/parsing

- freedreno/ir3: Explicitly flag disasm test vectors that don’t parse

- freedreno/ir3: Fix pre-a6xx ldgb/stib parsing

- freedreno/ir3/parser: a6xx ldib/stib parsing

- freedreno/ir3/parser: Fix pre-a6xx stib parsing

- mesa: Remove _mesa_destroy_context()

- util/u_queue: Ensure num_cpu_mask_bits is valid

Robin Ole Heinemann (1):

- anv: Add DRM_RDWR flag in anv_gem_handle_to_fd

Ruijing Dong (4):

- radeon/vcn: hevc main10 profile decoding pitch fix

- radeon/vcn: add 0x02 to enc emulation prevention

- radeon/vcn: support hevc SAO enc for VCN2+

- radeon/vcn: fix hevc 10bit profile error

Ryan Neph (2):

- virgl: fix BGRA emulation artifacts during window resize

- Revert “virgl: fix BGRA emulation artifacts during window resize”

Sagar Ghuge (2):

- anv: Invalidate the correct AUX-TT entry

- anv: Skip CCS ambiguate which preceed fast-clears

Samuel Iglesias Gonsálvez (3):

- turnip: implement VK_KHR_depth_stencil_resolve support

- turnip: pCounterBufferOffsets can be NULL on vkCmd*TransformFeedbackEXT()

- turnip: fix cube map array image size calculation

Samuel Pitoiset (155):

- aco: fix combining add/sub to b2i if a new dest needs to be allocated

- nir/algebraic: optimize bitfield_select(a, iand(a, b), c)

- aco/tests: add some tests for combining s_add+s_lshl to s_lshl<n>_add

- aco: combine more s_add+s_lshl to s_lshl<n>_add by ignoring uses

- aco: introduce a generic label for labelling instructions

- aco: add a new Operand flag to indicate that is 16-bit

- aco: optimize v_mad_u32_u16 with acc=0 to v_mul_u32_u24

- aco: select v_mad_u32_u16 for 16-bit multiplications on GFX9+

- aco: select v_mul_lo_u16 for 16-bit multiplications that can’t overflow

- aco: optimize v_add_u32(v_mul_lo_u16) -> v_mad_u32_u16

- aco: optimize v_add(v_bcnt(a, 0), b) to v_bcnt(a, b)

- ci: update the list of skipped tests for RAVEN

- ci: update the list of expected failures for RADV

- aco: remove v_{add,sub,subrev}_u32 on GFX8

- radv: do VGT_FLUSH when switching NGG -> legacy on Sienna Cichlid

- radv: fix applying the NGG minimum vertex count requirement

- radv: don’t count unusable vertices to the NGG LDS size

- radv: don’t subtract max_verts_per_prim from hw_max_esverts on gfx10.3

- aco: fix combining max(-min(a, b), c) if a or b uses the neg modifier

- radv/winsys: fill real PCIID for Sienna Cichlid and Navy Flounder

- radv/winsys: add missing Van Gogh and Dimgrey Cavefish in the null winsys

- ci: add list of expected failures for Sienna Cichlid

- radv: ignore other blend targets if dual-source blending is enabled

- radv: print more debug messages when generating a hang report

- radv: append a time string to the hang report dump directory

- radv: dump application info in the GPU hang report

- radv: add RADV_DEBUG=noumr to disable UMR logs during GPU hang detection

- radv: dump BO ranges into bo_ranges.log instead of stderr

- ci: fix name of the Sienna Cichlid expected failures file

- nir: fix gathering cross invocation info

- radv: add new vk_format_is_*() helpers

- ac,radv: use better export formats for 8-bit when RB+ isn’t allowed

- aco/tests: extend the optimize.add_lshl tests to GFX8

- aco: add a new Operand flag to indicate that is 24-bit

- aco: allow to use the range analysis UB in emit_{sop2,vop2}_instruction()

- aco: optimize v_add+s_lshl to v_mad_u32_u24 on GFX6-8

- aco: optimize v_add+v_lshlrev to v_mad_u32_u24 on GFX6-8

- ac: add gpu_info::has_32bit_predication

- radv: use 32-bit predication for conditional rendering on GFX10.3+

- radv: always use 32-bit predication on compute queues

- radv: fix missing initialization of the predication value

- radv/winsys: fix the sysmem submission path for GFX6

- radv: disable SQTT support for unsupported GPUs

- radv: fix using bitfields for debug/perftest options

- radv: save and dump vertex descriptors during GPU hang detection

- radv: enable NGG on GFX10.3 APUs by default

- radv: only disable CU2 & CU3 when NGG is enabled

- radv: only mask 1 CU for GS/VS waves on GFX10.3

- radv: disable WGP_MODE for NGG on GFX10.3

- radv/llvm,aco: always split typed vertex buffer loads on GFX6 and GFX10+

- ci: disable check-commits

- Revert “radv/llvm,aco: always split typed vertex buffer loads on GFX6 and GFX10+”

- vulkan: add missing src_inc to the device select layer

- ci: build the Vulkan device select layer

- nir: gather if a fragment shader uses sample shading

- radv: reduce maxTransformFeedbackBufferDataSize to 512

- radv: mark GFX10.3 as a non-conformant Vulkan implementation

- radv: fix exporting multiviews with NGG

- radv: set the predication boolean as 32-bit if necessary

- radv: use 32-bit predication for skipping FCE on GFX10.3+

- radv: fix using FS sample shading if the linker optimized inputs away

- ci: update the list of expected failures for RADV/FIJI

- radv: enable using MSAA2x and MSAA4x sample locations on GFX10+

- radv: advertise VK_EXT_sample_locations on GFX10+

- ac/surface: initialize the FMASK slice size for GFX9+

- radv: fix clearing FMASK for layered MSAA images on GFX9+

- radv: disable alphaToOne feature

- amd/registers: add missing VRS registers

- radv: add VK_KHR_fragment_shading_rate but leave it disabled

- radv: implement VK_KHR_fragment_shading_rate

- radv/llvm: implement fragment shading rate

- aco: implement fragment shading rate

- radv: track if VRS is enabled to apply a workaround on GFX10.3

- radv/llvm: implement a workaround for gl_FragCoord.z with VRS on GFX10.3

- aco: implement a workaround for gl_FragCoord.z with VRS on GFX10.3

- radv: advertise VK_KHR_fragment_shading_rate on GFX10.3+

- radv: add support for resolving layered depth/stencil images

- radv: add missing DB flush after depth/stencil resolve operations

- radv: enable TC-compat HTILE for D32_SFLOAT+MSAA on GFX10+

- radv: adjust the maximum number of coverage samples for VRS

- radv: fix maxFragmentShadingRateRasterizationSamples

- radv: remove useless push constants data when resolving ds attachments

- radv: ignore the mutable bit for TC-compatible HTILE

- radv: enable VK_EXT_line_rasterization on GFX9

- radv: sort the extension table like Khronos

- radv: add code that checks if the extension table is sorted correctly

- radv: make sure FMASK compression is enabled for MSAA copies

- Revert “radv: use 32-bit predication for skipping FCE on GFX10.3+”

- radv: dump VA ranges history when a GPU hang is detected

- radv: add a Python script to check if a VA was ever valid

- radv: disable stippledBresenhamLines on GFX9

- nir: fix determining if an addition might overflow for phi sources

- radv: disable A2 SNORM/SSCALED/SINT for texel buffers & images on all gens

- radv: fix clearing images with vkCmdClear{Color,DepthStencil}Image()

- radv: remove unused radv_image::aspects

- radv: always clear the SR0/SR1 bits of the HTILE buffer

- radv: fix potential HTILE issues for TC-compat images on GFX8

- radv: add radv_htile_get_initial_value() and document the HTILE dword

- radv: fix TC-compat HTILE images with DST_OPTIMAL on the compute queue

- radv: clean up radv_layout_is_htile_compressed()

- radv: only load the DS fast clear values for compressed rendering

- radv: enable TC-compat HTILE in GENERAL on GFX10+

- aco: fix creating the dest vector when 16-bit vertex fetches are splitted

- radv/llvm,aco: always split typed vertex buffer loads on GFX6 and GFX10+

- radv: configure the texture descriptor for TC-compat CMASK on GFX10+

- radv: fix enabling TC-compat HTILE in GENERAL for writes on GFX10+

- radv: fix performance regression by restoring TC-compat HTILE in GENERAL

- radv: determine at creation if an image view can be fast cleared

- radv: do not predicate FMASK decompression when DCC+MSAA is used

- ci: re-mark some depth/stencil resolve CTS as expected failures

- radv: fix crashes when fast-clearing in a secondary command buffer

- radv: disable TC-compat HTILE in GENERAL for Detroit: Become Human

- radv: re-initialize HTILE properly after depth/stencil compute resolves

- radv: only re-initialize HTILE after ds compute resolves if compressed

- ac/surface: initialize dcc_slice_size on GFX9+

- radv: add support for fast-clearing DCC layers on GFX9+

- radv: clean up radv_decompress_dcc_compute()

- radv: do not use predication when the range doesn’t cover the whole image

- radv: enable DCC for layered color images on GFX10+

- radv: mark VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT as unsupported on GFX6-7

- aco: fix inserting expcnt for MIMG on GFX6

- ci: mark some sparse tests as expected failures on Pitcairn (GFX6)

- radv: mark some sparse texture CTS as expected failures on GFX9

- radv: set depth to 1 for subpass resolves using the compute path

- radv: decompress DCC for partial resolves using the compute path

- radv: fixup DCC after color resolves using the compute path

- radv: fix color resolves if the dest image has DCC

- radv: fix clearing DCC on GFX9

- radv: only use predication if the FCE value is allocated

- radv: allocate and initialize the FCE predicate value for CMASK too

- radv: update the FCE predicate for fast clears using CMASK

- radv: skip fast-clear eliminate for CMASK based on a predicate

- ac/surface: store DCC mip info into the surface

- radv: prevent fast-clearing uncompressed DCC levels

- radv: add support for fast-clearing DCC levels on GFX10+

- radv: do not enable DCC for 3D images with mipmaps on GFX10+

- radv: enable DCC for mipmaps on GFX10+

- radv: disable VK_EXT_sample_locations again on GFX10+

- radv: enable DCC for MSAA on GFX10+

- radv: do not invalidate the L2 metadata cache on compute queues

- radv: flush L2 metadata as part of CB/DB flush instead of CS_DONE on GFX9

- radv: restore invalidating the vector cache for internal meta operations

- radv: flush L2 for images affected by the pipe misaligned issue on GFX10+

- ci: exclude one CTS test that timeout most of the time for RADV CI

- radv: fix a sync issue with geometry shader primitives query on GFX10+

- radv: fix overflow when computing the SQTT buffer size

- radv: inhibit clock gating when tracing with SQTT

- radv: fix separate depth/stencil layout in render pass

- radv,aco: fix shifting input VGPRs for the LS VGPR init bug on GFX9

- nir/algebraic: mark more optimization with fsat(NaN) as inexact

- radv: fix centroid with VRS coarse shading

- radv: fix waiting on the last enabled RB for occlusion queries

- radv: only apply the MRT output NaN fixup to non-meta shaders

- radv: set correct value for OFFCHIP_BUFFERING on GFX10+

- radv: do not scale the depth bias for D16_UNORM depth surfaces

Serge Martin (1):

- clover: add core clover printf support (v12)

Simon Ser (11):

- amd/common: introduce ac_surface_print_info

- radeonsi: use ac_surface_print_info in si_print_texture_info

- radv: add img debug flag

- egl: fix typo in wl_drm error message

- egl/wayland: remove libwayland \< 1.18 workaround

- ci: skip failing test on lavapipe

- radv: fix access to uninitialized radeon_bo_metadata

- egl/wayland: add a NULL guard for the authenticate callback

- radv: only set BO metadata for the first plane

- nouveau/nvc0: fix linear buffer alignment for scan-out/cursors

- nouveau/nv50: fix linear buffer alignment for scan-out/cursors

Steven Houston (1):

- v3dv: VK_KHR_display extension support

Tapani Pälli (7):

- egl/dri2: fix race between image create and egl_image_target_texture

- iris: initialize shared screen->vtbl only once

- mesa/st: choose S/D format depending on gl_format passed for readpixels

- anv: fix calculation of buffer size in case dynamic size is used

- mesa: fix layered framebuffer attachment target check

- vbo/dlist: free prim_store->prims when vbo_save is destroyed

- i965: use aligned malloc for context instead of ralloc

Theogen Ratkin (1):

- docs: grammar fixes

Thong Thai (4):

- frontends/va/postproc: Use the actual image height when blitting

- frontends/va/postproc: Convert destination when deinterlacing

- gallium: Fix VAAPI postproc blit

- frontends/va: Return an error if non-interlaced buffer is not supported

Timothy Arceri (1):

- glsl: default to compat shaders in compat profile

Timur Kristóf (16):

- nir: Use src_is_invocation_id in get_deref_info.

- aco/optimizer: Only set scc_needed when it is actually needed.

- aco/optimizer: Propagate scc_needed label through p_wqm.

- aco: Fix NGG GS assert failure from the WG scan.

- aco: Skip TCS s_barrier when VS outputs are not stored in the LDS.

- aco: Use program->num_waves as maximum in scheduler.

- aco: Keep live-though variables and constants spilled.

- aco: Spill more optimally before loops.

- aco: Note if rasterization can start early.

- aco: Wait for stores when NGG or legacy VS can finish early.

- ci: Add an expected failures list for Oland (GFX6)

- radv: Only enable sparse features on Polaris and newer.

- tgsi_to_nir: Fix uniform ranges.

- radv/llvm: Fix reporting LDS stats of tess control shaders.

- aco: Disallow LSHS temp-only I/O when VS output is written indirectly.

- aco: Fix LDS statistics of tess control shaders.

Tomeu Vizoso (3):

- ci: Temporarily disable jobs on the Collabora lab

- Revert “ci: Temporarily disable jobs on the Collabora lab”

- ci: Only run the sanity job if there’s a MR

Tony Wasserka (22):

- glsl: Fix -Wshadow warning

- util: Fix/silence variable shadowing warnings

- meson: Treat LLVM headers as a system dependency

- aco: Fix -Wshadow warnings

- aco/tests: Fix -Wshadow warnings

- aco/tests: Fix -Wunused warnings in release mode

- radv: Fix -Wshadow warnings

- radv,aco: Compile with -Wshadow when available

- radv/query: Avoid hardcoding array size constants

- radv/winsys: Fix use of nonexisting struct type in sizeof

- aco: Annotate switch fallthroughs

- radv,aco: Compile with -Wimplicit-fallthrough when available

- gitlab: add RADV bug report template

- aco/ra: Add policy parameter to select implementation details for testing

- aco/tests: Fix GFX10_3 being printed as gfx11

- aco/tests: Allow specifiying the test subvariant in setup_cs

- aco/tests: Fix deadlock for too large test lists

- aco: Add tests for subdword register allocation

- aco/ra: Add some documentation

- aco/ra: Fix register allocation for subdword operands

- aco/ra: Avoid redundant RegisterFile copies in get_reg_impl

- aco: Fix vector::reserve() being called with the wrong size

Trevor Woerner (1):

- docs/egl.rst: switch true→enabled

Vinson Lee (55):

- swr: Initialize FetchJit member mpFetchInfo in constructor.

- turnip: Remove pipeline NULL check.

- draw: Clean up single-use goto statements.

- glsl: Initialize ir_variable member field data.is_xfb.

- glsl: Fix typos in comments.

- microsoft/compiler: Add dxil_nir_lower_16bit_conv prototype.

- turnip: Fix file descriptor return.

- nvir/gm107: Initialize SchedDataCalculatorGM107 member score.

- vdpau: Add missing printf format specifier.

- v3dv: Remove unsigned comparison to zero.

- frontends/va: Fix *num_entrypoints check.

- clover/spirv: Add missing break for SpvOpExecutionMode case.

- turnip: Close sync_fd only if it is a valid file descriptor.

- nv50/ir: Initialize GCRA members in constructor.

- microsoft/compiler: Add struct dxil_features forward declaration.

- microsoft/compiler: Add struct glsl_type forward declaration.

- microsoft/compiler: Add scope for declaration in case statement.

- r600/sfn: Fix typos.

- r600/sfn: Initialize ShaderFromNir members in constructor.

- r600/sb: Initialize sb_context members in constructor.

- clover: Initialize command_queue member _props.

- nv50/ir: Initialize Program members in constructor.

- clover: Fix typo in comment.

- scons: Fix build with llvm-12.

- amd/addrlib: Initialize Lib members in constructors.

- util: Add os_get_page_size support for macOS.

- meson: Fix Clang microsoft-enum-value detection.

- meson: Fix build with llvm-12.

- r600/sfn: Initialize ShaderInputVarying members in constructors.

- mesa: Remove extra texObj.

- intel/genxml: Avoid generating identical 12.5 and 12 branches.

- mesa: Remove cmd_size \< 0 check.

- zink: Fix typos.

- glsl: Fix typos in comments.

- glsl: Initialize glsl_type member name.

- vc4: Fix typos.

- d3d12: Fix memory leak if create_gfx_pipeline_state failed.

- d3d12: Fix memory leak if create_root_signature failed.

- v3d: Fix typos.

- nir/tests: Initialize nir_serialize_test member dup.

- d3d12: Fix memory leak if state is NULL.

- d3d12: Initialize TransitionableResourceState m_SupportsSimultaneousAccess.

- turnip: Remove unsigned nonnegative check.

- svga: Fix typos in comments.

- d3d12: Initialize local_resource member mapped in constructor.

- swr: Fix typos.

- virgl: Fix typos.

- softpipe: Fix typos.

- radeonsi: Fix typos.

- freedreno/afuc: Replace readfile with os_read_file.

- r300: Fix typos.

- clover: Add constructor for clover::module.

- nv50/ir: Initialize CodeEmitterGM107 members in constructor.

- etnaviv: Fix memory leak in etna_vertex_elements_state_create.

- aco: Initialize ds_state.front.writeMask.

Víctor Manuel Jáquez Leal (1):

- frontends/va/context: don’t set max_references with num_render_targets

Witold Baryluk (3):

- zink: Cap PIPE_SHADER_CAP_MAX_CONST_BUFFERS to 32

- vulkan/device_select: Store Vulkan vendorID and deviceID as uint32_t

- lavapipe: Defer lavapipe warning to CreateDevice

X512 (13):

- util: implement GET_PROGRAM_NAME for Haiku

- util/meson: Add libnetwork dependency for Haiku

- targets/haiku-softpipe/meson: add libswpipe.so to install directory

- hgl/meson: add version to libGL.so

- meson: fix Haiku EGL build; no dri requirement

- include: fix export in Haiku OpenGL kit headers

- hgl: use local headers instead of system header

- frontends/hgl: set state_manager

- frontends/hgl: set framebuffer id

- aux/driver_ddebug: Normalize pid type from Haiku

- targets/haiku-softpipe: Restore GalliumContext

- hgl: Major refactor and cleanup

- util/u_thread: Disable pthread_barrier_t on Haiku

Yevhenii Kharchenko (2):

- meson: Add build option to specify default shader disk cache max-size

- st/mesa: fix PBO download for TEXTURE_1D_ARRAY textures

Yevhenii Kolesnikov (3):

- intel/fs: don’t spill a register, set by undef

- iris: only set point sprite overrides if actually using points

- nir/from_ssa: consider defs in sibling blocks

Yogesh mohan marimuthu (1):

- radeonsi: enable vrs2x2 coarse shading if flat shading (v9)

Yuxuan Shui (1):

- Add EGL xcb platform

Zack Rusin (1):

- meson.build: Order the flex/bison by odds of them working

cheyang (5):

- android: fix build failure with libbacktrace

- symbol_table:fix mesa symbol table return scope error

- glsl: remove unused state variable

- virgl: next_handle variable modify to atomic inc in virgl_object_assign_handle

- mesa: glProgramBinary add resource_hash

jzielins (5):

- swr: Pass draw start information to state update mechanism

- swr: fix crashes caused by incorrectly reporting SSBO support

- gallium/swr: Fix Windows build

- swr: Fix building with LLVM12

- swr: Fix crashes on Windows

nia (1):

- util: Avoid pthread_setaffinity_np on NetBSD

yshi18 (1):

- iris: fix memleak for query_buffer_uploader