Mesa 22.0.0 Release Notes / 2022-03-09

Mesa 22.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 22.0.1.

Mesa 22.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 22.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

e6c41928b5b9917485bd67cec22d15e62cad7a358bf4c711a647979987601250  mesa-22.0.0.tar.xz

New features

  • lavapipe,radv,anv KHR_dynamic_rendering

  • radv EXT_image_view_min_lod

  • VK_KHR_synchronization2 on RADV.

  • OpenSWR has been moved to the Amber branch

  • radeonsi, zink ARB_sparse_texture

  • d3d12 GLES3.1 (shader storage buffers, images, compute, indirect draw, draw params, ARB_framebuffer_no_attachments, ARB_sample_shading, and GLSL400)

  • radeonsi, zink ARB_sparse_texture2

  • zink EXT_memory_object, EXT_memory_object_fd, EXT_semaphore, EXT_semaphore_fd

  • anv VK_VALVE_mutable_descriptor_type

  • Vulkan 1.3 on RADV,Anv.

  • radeonsi, zink ARB_sparse_texture_clamp

Bug fixes

  • anv: Unable to import I915_FORMAT_MOD_Y_TILED surfaces produced by iHD vaapi driver

  • anv doesn’t always resolve aux buffers with private bindings on transition to external queue

  • Redraw freeze after upgrade to Xwayland 21.1.3

  • [ANV] Rendering corruption in DOOM Eternal

  • lavapipe: dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_3.step fails

  • radv: When using VS+PS only, primitive ID is mixed up after NGG culling

  • [22.0.0_rc{1,2}] radeonsi: broken support for HD7850 (radeon 0000:0b:00.0: ring 0 stalled for more than…)

  • RADV: Texture seams in The Evil Within 2 (regression)

  • ANV: Bad output from TransformFeedback . Regression from Mesa 21. Something to do with VB+XFB -> VB+XFB dependency?

  • radv: CullDistance fail

  • Changing the buffer modifer via Wayland dmabuf-feedback apparently does not reliably reset the buffer age to 0

  • radv: causes hang untl gpu reset on navy_flounder

  • Crocus related crashes when running QT apps

  • Please add missing ray tracing Vulkan extensions to features.txt

  • [anv][bisected][regression][tgl] dEQP-VK.dynamic_rendering.suballocation.multisample_resolve.* failures

  • radv/aco: DXVKs strict float emulation causes black screen/graphical corruption on RDNA1

  • intel: env vars doc out of date

  • [REGRESSION][BISECTED] iris: Qutebrowser/QtWebEngine sporadically flashes the window in white

  • Flickering Intel Uhd 620 Graphics

  • Vulkan Wayland WSI returns empty surface formats

  • [radeon, rs690] piglit spec@glsl-1.10@execution@built-in-functions@fs-atan-float + 10 other ‘atan’ tests crash (mesa-22dev)

  • [bisected] artifacts in vaapi h.264 playback

  • [bisected] artifacts in vaapi h.264 playback

  • radv: msaa regression

  • [DG2] dEQP-GLES3.functional.shaders.derivate.fwidth* failures

  • FIFO present mode doesn’t wait

  • Dota2 lockup wsi/x11: Avoid a class of deadlocks in the WSI queue thread

  • [vulkan][intel] Implement VK_VALVE_mutable_descriptor_type

  • Broken Terraria & Glitches in Forza Horizon 4

  • radv: Q2RTX with cswave32 crashes the GPU

  • CopelliaSim crashes on adding vision sensor to a scene on Ubuntu 20+, runs fine on Ubuntu 18.04

  • radv: renderpass regression

  • Dirt Rally: Flickering glitches on certain foliage going from Mesa 21.2.5 to 21.3.0

  • FrontFacing input is broken on Intel/Vulkan

  • glGetActiveUniform failing with GL_INVALID_VALUE for no reason

  • llvmpipe: Unimplemented get_driver_uuid/get_device_uuid causes segfaults in e.g. Wine

  • All vulkan apps terminate with VK_ERROR_DEVICE_LOST

  • Texture rendering broken on Vega 56, probably due to MR 14171 (tested on Battlefield 1 / vkd3d-proton)

  • Major graphic distortions with RADV in DX11/DX12 with Mesa-git as of January 12th 2022

  • Setting mesa_glthread to true crashes Minecraft when Sodium optimisation mod is enabled.

  • ANV: deviceUUID assumes a single device per system

  • MESA Overlay Vulkan layer version

  • [radeonsi, regression, bisected]: Rendering issues with Factorio

  • Distorted graphics when running Battle.net app under Wine with Radeon hardware

  • [r300g] Battle.net app window content rotated and stretched

  • Freedreno reporting 10 MB of Video memory that’s causing issues with WineD3D on Poco F1

  • Panfrost - RK3399 - FACTORIO - glitches everywhere

  • Baldurs Gate 3 (Patch 6) - ribbon-like artifacts on textures

  • mesa >= 21.x (with llvmpipe) will break the game JVGS

  • Game Starsector crashes under certain circumstances with mesa 21.3.+

  • FreeSpace models incorrectly rendered on Polaris cards, causing system freeze

  • ci: Test with Skqp

  • ci: Test with Skqp

  • Metro Exodus (native) fails to launch

  • Poor performance on RX 580 (Polaris20)

  • VAAPI H.264 encoding is slow on Polaris vs. HEVC and Windows AMF

  • v3dv: Missing gem handle reference tracking logic

  • Incomplete evaluation of nested DEFINE macros

  • [r300g, bisected] piglit glsl-fs-discard-04 fails

  • Panfrost G52 Firefox terrible glitches on youtube playback

  • prim restart broken on crocus by prim restart fix for d3d12

  • RADV: Invalid fast clear triggered

  • Assassin’s Creed Syndicate crashes with Mesa 21.3.0+ ACO

  • anv: dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store fails

  • seg-fault with soft fp64 on iris after register allocation change

  • Taking RGP traces on VANGOGH results in hangs

  • Flickering and blackscreen on Mpv and Clapper (and also low performance on glxgears)

  • intel/vec4: Rework texture handling to not use `ir_texture_opcode`

  • lavapipe leaks introduced in eb7eccc76f0a02b3a3291adaa39788b157979dc5

  • DXVK SIGBUS with Turnip on Poco F1 at loading to open world.

  • RADV: IsHelperInvocationEXT query is not considered volatile in ACO

  • [GraphicsFuzz] dEQP-VK.graphicsfuzz.stable-binarysearch-tree-nested-if-and-conditional

  • [bisected] Mesa 21.3.x breaks GBM with NVIDIA closed source driver 495.44

  • [DG2] dEQP-GL[45|ES31].functional.shaders.builtin_functions.pack_unpack.packhalf2x16_compute fail

  • Steam reports fatal error with missing OpenGL GLX extension not supported by display since December 6th

  • SNK HEROINES Tag Team Frenzy stuck on white screen

  • Run-time dependency dri found: NO

  • Rise of the Tomb Raider segfault

  • glsl/compiler: suspcious snippet of code (Unused variable)

  • GPU Crash in Yuzu 6600xt 5.15

  • anv: gfxbench 5.0 vulkan fails on android

  • [spirv-fuzz] lower_trivial_continues_block: Assertion `!first_instr || instr_is_continue(first_instr)’ failed.

  • [RADV] Crash in Metro Exodus in Caspain chapter and Sam’s Story

  • [nir][radv] more undefined shifts caught by gcc’s sanitizer

  • NIR validation failed after nir_copy_prop

  • lima: Corrupted Android-12 UI on Allwinner A64

  • RADV/ACO: Rendering glitches in Forza Horizon 5 windshields

  • NV_pixel_buffer_object extension can be available in a GLES2 context but the associated glGet constants don’t work

  • ThreadSanitizer: data races inside libvulkan_radeon.so

  • [radeonsi] Commit b1b491cdbbac1ccb785f5eb1802006f76ec253f5 leads to memory leak

  • dEQP-GLES31.*imulextended* compiling fp64 glsl 4.00 shader

  • anv: vkMapMemory fails “Memory object already mapped” with VA-API (mpv –gpu-api=vulkan –hwdec=vaapi)

  • RADV: crash in radv_GetPhysicalDeviceImageFormatProperties2

  • RADV/ACO: Monster Hunter Rise Demo renders wrong results

  • radv: Odd lack of implicit host memory invalidation

  • Regression/Bisected: Crash in Godot games when steam overlay enabled

  • RADV: IsHelperInvocationEXT query is not considered volatile in ACO

  • ANV: error submitting with the same semaphore for wait and signal - regression?

  • Vulkan does not work when 10-bit colors ( DefaultDepth 30) are enabled under Xorg on AMD/RADV

  • [TGL+] anv: some dEQP-VK.drm_format_modifiers.* fails

  • radv: SQTT generates trace with no data

  • Mesa 21.3rc3 - compile failure

  • iris: subslice assertion failure on some hardware during initialization

  • Final Fantasy V (Old version): Random text characters are not displayed

  • Diagonal rendering artifacts in Tomb Raider

  • vkCmdSetViewport sometimes ignored on Ivy Bridge, Haswell

  • dota2 black squares corruption

  • [hsw][bisected][regression] dEQP-VK.reconvergence.*nesting* failures

  • Piglit.spec.arb_shader_image_load_store.compiler.expression-allowed-1d_vert failed.

  • anv: dEQP-VK.wsi.wayland.<various> failures

  • freedreno: Crash in fd_bo_cache_alloc()

  • radv_android.c: build errors due to commit 49c3a88

  • dEQP-EGL.functional.sharing.gles2.multithread.* regression with Iris

  • [Turnip] Forsaken Remastered rendering issue

  • [radeonsi] Euro Truck Simulator 2: broken mimimap

  • Old Linux Rocket League version failing to start on Poco F1.

  • [regression][bisected] Launching Valheim OpenGL game leads to GPU Hang

  • Android Meson build regression: hardware/system information apps crash on Raspberry Pi 4

  • radv: format properties are broken with modifiers

  • anv: dEQP-VK.graphicsfuzz.cov-multiple-one-iteration-loops-global-counter-write-matrices fails

Changes

Aaron Watry (2):

  • clover: implement CL_IMAGE_BUFFER

  • clover/image: add dimension property

Adam Jackson (37):

  • mesa/x11: Remove the swrast-classic-based fake libGL

  • mesa: Remove unused _mesa_all_buffers_are_unmapped

  • mesa: Remove unused _mesa_get_render_format

  • mesa: Remove unused _mesa_DrawTexx{,v}

  • mesa: Remove unused _check_*TexGen*OES

  • mesa: Remove unused _mesa_apply_ci_transfer_ops

  • mesa: Remove unused _mesa_compressed_image_address

  • mesa: Remove unused _es_color4ub

  • mesa: Remove unused _es_RenderbufferStorageEXT

  • mesa: Remove unused _es_{,Get}TexGenfv

  • mesa: Remove unused _vbo_current_binding

  • mesa/vbo: Always use buffer objects for storage

  • mesa/program: Dead code cleanup

  • mesa: Remove unused execmem code

  • mesa: Make _mesa_generate_mipmap_level static

  • glapi: Remove remnants of EXT_paletted_texture and the imaging subset

  • docs: Remove no-longer-accurate text about the xlib driver

  • mesa: Remove unused _mesa_initialize_visual

  • dri: Remove unused driContextSetFlags

  • dri: Remove unused driUpdateFramebufferSize

  • dri: Remove unused driGetRendererString

  • glx: Fix GLX_NV_float_buffer fbconfig handling

  • mesa: Remove unused _mesa_allow_light_in_model

  • mesa: Remove unused _mesa_AllocTextureStorage_sw

  • mesa: Remove unused _mesa_bind_texture

  • mesa: Remove unused _mesa_format_fallback_rgbx_to_rgba

  • mesa: Remove unused _mesa_get_linear_format_srgb

  • mesa: Remove unused _mesa_convert_colors

  • mesa: Remove unused _mesa_all_varyings_in_vbos

  • mesa: Remove unused _mesa_delete_nameless_texture

  • mesa/math: Remove unused m_translate.c

  • mesa: Remove unused _mesa_is_alpha_to_coverage_enabled

  • mesa: Remove unused _mesa_is_front_buffer_{draw,read}ing

  • mesa: Remove unused _mesa_set_sampler_{filters,srgb_decode,wrap}

  • mesa: Remove unused src/mesa/x86-64

  • wsi/x11: Avoid a class of deadlocks in the WSI queue thread

  • dri_interface: Remove the remaining DRI1 API definitions

Alejandro Piñeiro (20):

  • v3dv/pipeline: don’t clone the nir shader at pipeline_state_create_binning

  • v3d/clif: add support for dumping GS shader state

  • broadcom/compiler: remove unused macro and function definition

  • v3d: remove unused include

  • v3d: remove static v3d_start_binning

  • gallium/u_blitter: clean up texcoords ZW when filling up just XY

  • v3d,v3dv: move TFU register definition to a common header

  • vulkan: move common format helpers to vk_format

  • broadcom/compiler: make shaderdb debug output compatible with shaderdb’s report tool

  • meson: bump meson requirement to 0.53.0

  • v3d: support for texture buffer objects

  • v3d: add support for no buffer object bound

  • v3d: restrict formats supported for PIPE_BIND_SHADER_IMAGE

  • v3d: enable ARB_texture_buffer_object and ARB_texture_buffer_range

  • broadcom/compiler: avoid unneeded sint/unorm clamping when lowering stores

  • v3dv: simplify v3dv_debug_ignored_stype

  • vulkan: return default string for undefined enum

  • v3dv: remove unused v3dv_descriptor_map_get_texture_format

  • v3dv: check correct format when load/storing on a depth/stencil buffer

  • vc4/nir_lower_blend: update write mask when we update num components

Alex Xu (Hello71) (5):

  • Use initial-exec TLS for glibc only, enable TLS elsewhere

  • Auto-enable TLSDESC support

  • meson: check for lld split TLSDESC bug (fixes #5665)

  • Fix TSD stubs for non-initial-exec case (fixes #5667).

  • meson: tlsdesc: minor reformatting, add comments

Alyssa Rosenzweig (179):

  • panfrost: Don’t allow rendering/texturing 48-bit

  • panfrost: Detect implementations support AFBC

  • panfrost,panvk: Use dev->has_afbc instead of quirks

  • panfrost: Remove unused MIDGARD_NO_AFBC quirk

  • panfrost: Fix gl_FragColor lowering

  • panfrost: Workaround ISSUE_TSIX_2033

  • panfrost: Add internal afbc_formats

  • panfrost: Decompress for incompatible AFBC formats

  • panfrost: Enable AFBC on v7

  • panfrost: Remove ancient TODO

  • panfrost: Remove duplicated #if

  • panfrost: Rename depth bias fields

  • panfrost: Add alpha_zero_nop/one_store predicate

  • panfrost: Test alpha_zero_nop/one_store predicates

  • panfrost: Pass through alpha_zero_nop/one_store

  • panvk: Pass through alpha_zero_nop/one_store flags

  • nir/lower_blend: Use correct clamp for SNORM

  • mesa: Require MRT support for GL3/ES3

  • nir/lower_pntc_ytransform: Support PointCoordIsSysval

  • pan/bi: Fix typo in helper invocation analysis

  • pan/bi: Make bi_index padding explicit

  • pan/bi: Add secondary staging count

  • pan/bi: Add second destination to TEXC

  • pan/bi: Add bifrost_texture_operation_mode enum

  • pan/bi: Add bifrost_dual_texture_operation struct

  • pan/bi: Use BIFROST_TEXTURE_OPERATION_SINGLE enum

  • pan/bi: Support dual texture scheduling

  • pan/bi: Add bi_dual_tex_as_u32 helper

  • pan/bi: Fix up dual texturing registers

  • pan/bi: Add dual texture fusing pass

  • pan/bi: Test dual texture fusing

  • pan/bi: Enable dual texture fusing pass

  • pan/mdg: Remove duplicate compiler option

  • pan/bi: Annotate Valhall instructions with units

  • pan/bi: Add full form of Valhall MUX instruction

  • pan/bi: Add sqrt form of Valhall FREXPM

  • pan/bi: Add Valhall’s special FMA_RSCALE instructions

  • pan/bi: Add XML for assembling Valhall image stores

  • pan/bi: Forbid unaligned staging registers on Valhall

  • pan/bi: Confirm IDP unit on Valhall

  • pan/bi: Suppress uniform validation for LD_BUFFER

  • pan/bi: Add XML for LD_BUFFER

  • asahi: Rename PANDECODE->AGXDECODE

  • asahi: Deflake addresses

  • asahi: Allocate special scratch buffers

  • asahi: Fix agx_map_* structures

  • asahi: Remove silly magic numbers

  • asahi: Remove obnoxious workaround

  • asahi: Fix BIND_PIPELINE sizing and alignment

  • panfrost: Collapse 0 parameters in drm-shim

  • panfrost: Handle AFBC_FEATURES in drm-shim

  • panfrost: Add empty tile flags to GenXML

  • panfrost: Only build GPU indirect kernels for v7

  • pan/bi: Link with Valhall disassembler

  • pan/va: Only hex dump when verbosely disassembling

  • panfrost: Add “hex” type to GenXML

  • panfrost: Add XML for Valhall data structures

  • panfrost: Zero initialize disassembler stats

  • panfrost: Don’t shadow Mesa’s fui()

  • panfrost: Add Valhall support to pandecode

  • pan/va: Improve assembler unit test output

  • pan/va: Disambiguate sign of CSEL instructions

  • pan/va: Add more assembler tests

  • pan/va: Make LD_VAR index more fine-grained

  • pan/va: Add sample/update modes to LD_VAR

  • pan/va: Add table parameter to LD_ATTR_IMM

  • pan/mdg: Fix definition of UBO unpack

  • docs/macos: Update for recent Mesa changes

  • pan/indirect_draw: Don’t upload garbage UBO

  • pan/indirect_draw: Split out update_dcd

  • pan/indirect_draw: Support IDVS jobs

  • panfrost: Track preloaded registers

  • panfrost: Set preload descriptor more accurately

  • panfrost: Remove unused shader info bits

  • panfrost: Fix Secondary Shader field

  • panfrost: Treat IDVS jobs as tiler for scoreboarding

  • panfrost: Add IDVS fields to shader_info

  • panfrost: Split out regalloc/preload helpers

  • panfrost: Remove regalloc from v6.xml

  • panfrost: Set secondary_* fields for IDVS

  • panfrost: Extract panfrost_draw_emit_vertex_section

  • panfrost: Emit IDVS jobs

  • panfrost: Extract panfrost_batch_skip_rasterization

  • panfrost: Skip rasterizer discard draws without side effects

  • panfrost: Align instance size for IDVS

  • panfrost: Add panfrost_compile_inputs->no_idvs option

  • pan/bi: Extract bi_finalize_nir

  • pan/bi: Allow UBO pushing to run multiple times

  • pan/bi: Add IDVS mode to bi_context

  • pan/bi: Remove the “wrong” stores in IDVS variants

  • pan/bi: Split out varying store paths

  • pan/bi: Use position shader ST_CVT path

  • pan/bi: Add helper to decide if IDVS should be used

  • pan/bi: Specialize shaders for IDVS

  • pan/va: Remove extra LD_VAR_IMM_F32 source

  • pan/va: Rename LEA_ATTR to LEA_VARY

  • pan/va: Add .signed bit to right shift instructions

  • pan/va: Generalize LD_VAR_IMM_* to support flat varyings

  • pan/bi: Don’t call useless NIR passes

  • panfrost: Make pan_merge macro more robust

  • pan/bi: Don’t read base for combined stores

  • pan/mdg: Don’t read base for combined stores

  • nir: Eliminate store_combined_output_pan BASE

  • panfrost: Simplify blend lowering pass

  • nir: Extend store_combined_output_pan

  • panfrost: Combine dual source blends

  • panfrost: Remove pan_nir_reorder_writeout

  • pan/bi: Use is_staging_src helper

  • pan/bi: Allow an extra staging source

  • pan/bi: Use fused dual source blending

  • pan/bi: Fix load_const of 1-bit booleans

  • gallium/util: Add pixel->blocks box helper

  • lima,panfrost: Correct pixel vs block mismatches

  • v3d: Use u_box_pixels_to_blocks helper

  • vc4: Use u_box_pixels_to_blocks helper

  • pan/decode: Remove hierarchy mask check

  • pan/decode: Include addresses for jobs

  • pan/decode: Track mmaps with a red-black tree

  • pan/decode: Add hexdump helper

  • pan/decode: Add pandecode_dump_mappings

  • pan/decode: Decode Valhall surface descriptor

  • panfrost: Remove FBD pointer on Bifrost XML

  • pan/decode: Don’t print Preload twice

  • pan/decode: Disassemble Bifrost quietly

  • pan/bi: Schedule around blend shader register clobbering

  • asahi: Fake more CAPs with dEQP hacks mode

  • asahi: Warn when hacks mode is enabled

  • asahi: Add XML for unknown 0x4a packet

  • asahi: Break out Fragment Parameters word

  • asahi: Rectify confusing XML comment

  • asahi: Route sample mask from shader

  • agx: Add sample_mask instruction

  • agx: Handle discard intrinsics

  • agx: Lower UBO loads to use per-element indexing

  • panfrost: Use u_reduced_prim for primitive checks

  • panfrost: Only cull polygons

  • pan/bi: Pull BLEND precolouring out of per-dest loop

  • pan/decode: Fix missing newlines in error messages

  • panfrost: Remove HAS_SWIZZLES quirk

  • panfrost: Remove MIDGARD_SFBD quirk

  • panfrost: Remove MIDGARD_BROKEN_FP16 quirk

  • panfrost: Remove NO_TILE_ENABLE_MAP quirk

  • panfrost: Remove MIDGARD_{NO_TYPED_BLEND_STORES,MISSING_LOADS}

  • panfrost: Don’t set NO_BLEND_PACKS on Bifrost

  • panfrost: Simplify format class selection

  • panfrost: Remove NO_BLEND_PACKS quirk

  • panfrost: Make primary_shader boolean

  • panfrost: Fix v9 “Stencil from shader” bit

  • panfrost: Don’t pass quirks to pan_lower_framebuffer

  • panfrost: Centralize our model list

  • panfrost: Replace panfrost_model_name with model->name

  • panfrost: Make the GPU allowlist implicit

  • panfrost: Get performance counters from table

  • pan/bi: Clean up quirks

  • pan/bi: Assume future Valhall is 16-wide warps

  • panfrost: Add Mali-G51 support

  • docs/panfrost: Add new Midgard/Bifrost chips

  • pan/va: Add .absolute bit to BRANCHZI

  • pan/va: Add missing <clamp/> to V2F32_TO_V2F16

  • pan/va: Add missing fields to LD_TILE

  • pan/va: Test LD_TILE assembly

  • pan/va: Fix MKVEC.v2i16 lane select

  • pan/va: Fix lane select for [US]_TO_[USF]32

  • pan/va: Vectorize 8->16-bit conversions

  • pan/va: Add 2-channel 8-bit swizzles for conversions

  • pan/va: Add lots of swizzle assembler tests

  • pan/va: Handle shift lanes in assembler

  • pan/va: Add ARM_shader_framebuffer_fetch asm test

  • pan/bi: Avoid *FADD.v2f16 hazard in optimizer

  • pan/bi: Avoid *FADD.v2f16 hazard in scheduler

  • pan/bi: Lower swizzles on CSEL.i32/MUX.i32

  • panvk: Use more reliable assert for UBO pushing

  • pan/bi: Specialize IDVS in NIR

  • panfrost: Fix FD resource_get_handle

  • panfrost: Fix set_sampler_views for big GL

  • panfrost: Handle NULL sampler views

  • panfrost: Handle NULL samplers

  • panfrost: Flush resources when shadowing

  • panfrost: Push twice as many uniforms

Andreas Baierl (1):

  • lima: Fix drawing wide lines

Antonio Caggiano (2):

  • gallium: add a link shader hook

  • virgl: Link shader program

Anuj Phogat (7):

  • genxml/gen125: Update 3DSTATE_TE fields

  • iris: Enable geometry distribution

  • anv: Enable geometry distribution

  • iris: Enable tessellation redistribution

  • anv: Enable tessellation redistribution

  • anv, iris: Add Wa_16011773973 for DG2

  • anv, iris: Add Wa_22011440098 for DG2

Bas Nieuwenhuizen (73):

  • radv: Fix modifier property query.

  • radv: Add bufferDeviceAddressMultiDevice support.

  • amd/rgp: Use VGH clocks for RGP workaround.

  • radv: Disable coherent L2 optimization on cards with noncoherent L2.

  • ci: Bump libdrm for the android image.

  • ci: Add libelf to the Android image.

  • amd/addrlib: Use alternative ADDR_C_ASSERT definition.

  • radv: Remove android build warning.

  • radv: Always use linker script when possible.

  • aco: Remove useless sub-expr.

  • meson: Check arguments before adding.

  • amd/addrlib: Ignore self-assign warnings.

  • util: Add support for clang::fallthrough.

  • ci: Add RADV to Android CI.

  • radv: Fix memory corruption loading RT pipeline cache entries.

  • radv: Add more checking of cache sizes.

  • radv: Don’t crash if VkExternalImageFormatProperties isn’t provided.

  • radv: Avoid using a new subpass for ds clears.

  • radv: Stop using a subpass for color clears.

  • radv: Remove the skipping of framebuffer emission if we don’t have a framebuffer.

  • radv: Set RB+ registers correctly without framebuffer.

  • radv: Don’t emit framebuffer state if there is no renderpass active.

  • radv: Add named constants for max framebuffer width/height.

  • radv: Do not use VK_FORMAT_UNDEFINED in meta passes.

  • radv: Support VK_KHR_dynamic_rendering for pipeline creation.

  • radv: Support Begin/EndRendering.

  • radv: Support dynamic rendering inheritance info.

  • radv: Expose the VK_KHR_dynamic_rendering extension.

  • radv/amdgpu: Add a syncobj per queue.

  • radv/winsys: Add queue family param to submit.

  • radv/amdgpu: Add support for submitting 0 commandbuffers.

  • radv: Use the winsys 0 cmdbuffer submission support.

  • radv: Set up ETC2 emulation wiring.

  • radv: Use the correct base format for reintepretation.

  • radv: Add extra plane for decoding ETC images with emulation.

  • radv: Add ETC2 decode shader.

  • radv: Deal with border colors with emulated ETC2.

  • radv: Expose the ETC2 emulation.

  • radv/amdgpu: Only wait on queue_syncobj when needed.

  • radv: Add safety check for RGP traces on VanGogh.

  • radv: Use correct buffer size for query pool result copies.

  • radv: Skip wait timeline ioctl with 0 handles.

  • radv/amdgpu: Use VkResult for wait_timeline_syncobj.

  • vulkan/runtime: Refactor queue submit to take an argument struct.

  • vulkan/runtime: Add sparse bind support.

  • radv: Use dispatch table for QueueWaitIdle in the SQTT layer.

  • radv: Use dispatch table for wsi_display.c

  • radv: Use vulkan runtime for device lost.

  • meson: Bump libdrm_amdgpu version req to 2.4.109.

  • radv: Initialize vk device drm fd.

  • radv: Add function to allow WSI signalling fences/semaphores.

  • radv: Set horizontal sync types.

  • radv: Use vk_command_buffer for preambles.

  • radv: Add new cs_submit2 winsys call.

  • radv: Add new submission path for use by the common sync framework.

  • radv: Delete lots of sync code.

  • radv: Remove syncobj reset mechanism.

  • radv: Rename submit2->submit.

  • radv: Remove dependencies on vk_common entrypoints.

  • radv: Set optimal copy alignment to 1.

  • radv: Add common entrypoint dependency.

  • radv: Use MAX_PUSH_CONSTANTS_SIZE for saved push constants.

  • radv: Use 16-bits to store push constant indices.

  • radv: 256 byte push constants.

  • Revert “nir/algebraic: distribute fmul(fadd(a, b), c) when b and c are constants”

  • util/fossilize_db: Fix double free in error handling.

  • vulkan/wsi/display: Add common implementation of VK_EXT_display_control.

  • anv: Remove VK_EXT_display_control support in favor of common impl.

  • radv: Remove VK_EXT_display_control support in favor of common impl.

  • radv/amdgpu: Fix handling of IB alignment > 4 words.

  • radv/amdgpu: Use aligned sizing for IB buffers.

  • radv: Handle SDMA for padding.

  • radv: Fix preamble argument order.

Biju Das (1):

  • kmsro: Add ‘rcar-du’ driver support

Boris Brezillon (16):

  • vulkan: Fix weak symbol emulation when compiling with MSVC

  • vulkan: Set unused entrypoints to vk_entrypoint_stub when compiling with MSVC

  • vulkan: Fix entrypoint generation when compiling for x86 with MSVC

  • microsoft/compiler: Fix dxil_nir_create_bare_samplers()

  • gallium/d3d12: Don’t use designated initializers

  • d3d12: Fix “use of designated initializers requires at least ‘/std:c++20’” error

  • microsoft/compiler: Fix sampler/texture array emission

  • microsoft/compiler: Skip images in redirect_texture_derefs()

  • microsoft/compiler: textureLoad() doesn’t take a LOD on MS textures

  • microsoft/spirv_to_dxil: Remove dead variables after the struct split pass

  • microsoft/spirv_to_dxil: Allow dumping NIR

  • microsoft/spirv_to_dxil: Support [un]conditional YZ-flip

  • microsoft/spirv_to_dxil: Discard PSIZ accesses

  • microsoft/spirv_to_dxil: Lower atomics to their dxil variants

  • microsoft/spirv_to_dxil: Make sure the SampleMask is a uint

  • microsoft/spirv_to_dxil: Define idep_libspirv_to_dxil

Boyuan Zhang (5):

  • radeon/vcn: update vcn1 enc interface

  • radeon/vcn: update vcn2 enc interface

  • radeon/vcn: remove redundancy for vcn2 enc

  • radeon/vcn: combine encode params func

  • radeon/vcn: combine session init func

Caio Oliveira (89):

  • nir/schedule: Handle nir_intrisic_scoped_barrier

  • nir: Add nir_var_mem_image

  • intel/fs: Consider nir_var_mem_image for TGM fences

  • anv: Use nir_foreach_image_variable

  • spirv: Use nir_var_mem_image

  • intel/compiler: Rename vec4 test fixtures

  • intel/compiler: Build all tests in a single binary

  • spirv: Use a single binary for gtests

  • nir: Use a single binary for gtests

  • util: Consolidate existing gtests in a single binary

  • util: Move tests in single file directories to tests/

  • util: Convert u_atomic_test to use gtest

  • util: Convert blob_test to use gtest

  • util: Convert mesa-sha1_test to use gtest

  • util: Convert rb_tree_test to gtest

  • util: Convert roundeven_test to use gtest

  • util: Convert sparse array multithread test to use gtest

  • util: Move test sources to tests/ directory

  • intel/compiler: Add helpers to select SIMD for compute shaders

  • intel/compiler: Use SIMD selection helpers for CS

  • intel/compiler: Use SIMD selection helpers for variable workgroup size

  • intel/compiler: Don’t use SIMD larger than needed for workgroup

  • anv: Get rid of “may be used initialized” warning in anv_QueueSubmit2KHR

  • anv: Make shaders array in anv_graphics_pipeline fit Task/Mesh

  • anv: Process FS last when compiling graphics pipeline

  • intel/compiler: Make brw_nir_populate_wm_prog_data() static

  • intel/compiler: Use gl_shader_stage_uses_workgroup() helpers

  • .mailmap: Simplify my name

  • intel/genxml: Add Mesh Shading structures

  • intel/genxml: Inline the BODY structs into the instructions

  • intel/dev: Add an intel_device_info::has_mesh_shading bit

  • intel/blorp: Add option to emit packets that disable Mesh

  • gtest: Add mesa-gtest-extras.h with array ASSERT/EXPECT macros

  • util: Change blob_test to use macro from mesa-gtest-extras.h

  • pan/bi: Make some headers compilable with C++

  • pan/bi: Use gtest for test-scheduler-predicates

  • pan/bi: Use gtest for test-packing

  • pan/bi: Use gtest for test-pack-formats

  • pan/bi: Use gtest for test-optimizer

  • pan/bi: Use gtest for test-constant-fold

  • pan/bi: Drop unused test helpers

  • util/ra: Add simple test for register set serialization

  • util/ra: Fix deserialization of register sets

  • gtest: Fix output of array ASSERT/EXPECT macros

  • intel: Add INTEL_DEBUG=task,mesh

  • intel/compiler: Properly lower WorkgroupId for Task/Mesh

  • intel/compiler: Handle per-primitive inputs in FS

  • intel/compiler: Don’t stage Task/Mesh outputs in registers

  • intel/compiler: Don’t lower Mesh/Task I/O to temporaries

  • intel/compiler: Add structs to hold TUE/MUE

  • intel/compiler: Make MUE available when setting up FS URB access

  • intel/compiler: Export brw_nir_lower_simd

  • intel/compiler: Add backend compiler basics for Task/Mesh

  • intel/compiler: Lower Task/Mesh local_invocation_{id,index}

  • intel/compiler: Implement Task Output and Mesh Input

  • intel/compiler: Implement Mesh Output

  • util: Convert cache test to use gtest

  • util: Use ralloc for strings in cache test

  • intel/compiler: Use a struct for brw_compile_tcs parameters

  • intel/compiler: Use a struct for brw_compile_tes parameters

  • intel/compiler: Use a struct for brw_compile_gs parameters

  • intel/compiler: Use a struct for brw_compile_bs parameters

  • nir: Initialize nir_register::divergent

  • meson: Bump version required for gtest protocol

  • Revert “nir: disable a NIR test due to undebuggable & locally unreproducible CI failures”

  • ci/windows: Remove line numbers of SPIR-V errors in spirv2dxil tests

  • spirv: Update headers and metadata to SPIR-V 1.6, revision 1

  • nir: Handle volatile semantics for loading HelperInvocation builtin

  • spirv: Identify non-temporal image operand added in SPIR-V 1.6

  • spirv: Use the incorporated names

  • anv/blorp: Split blorp_exec into a render and compute

  • anv: Refactor dirty masking in cmd_buffer_flush_state

  • anv: Simplify assertions related to graphics stages

  • anv: Add another case to INTEL_DEBUG=pc output

  • anv: Use pending pipe control mechanism in flush_pipeline_select()

  • anv/blorp: Apply pending pipe flushes after PIPELINE_SELECT

  • intel/fs/xehp: Add unit test for handling of RaR deps across multiple pipelines.

  • anv: SPIR-V 1.6 shaders imply ALLOW_VARYING_SUBGROUP_SIZE

  • anv: Fix subgroupSupportedStages physical property

  • intel: Only reserve space for Compute Engine out of URB in Gfx12LP

  • intel/compiler: Have specific mesh handling in calculate_urb_setup()

  • intel/compiler: Merge Per-Primitive attribute handling in Mesh case

  • compiler, intel: Add gl_shader_stage_is_mesh()

  • intel: Add INTEL_URB_DEREF_BLOCK_SIZE_MESH

  • intel/common: Add helper for URB allocation in Mesh pipeline

  • anv: Add boilerplate for VK_NV_mesh_shader

  • anv: Implement Mesh Shading pipeline

  • intel/dev: Enable Mesh Shading for DG2

  • anv: Add experimental support for VK_NV_mesh_shader

Caleb Callaway (2):

  • vulkan/overlay: support Vulkan 1.2

  • vulkan/overlay: revise and reformat README

Carsten Haitzler (3):

  • panfrost: Add GPU G76 to the set of known ids

  • kmsro: Add komeda DPU

  • panfrost: Don’t double-free when handling error for unsupported GPU

Charles Baker (5):

  • zink: Enable VK_KHR_image_format_list for VK_KHR_imageless_framebuffer

  • zink: Output PackHalf2x16 to uint not float

  • zink: Avoid redundant cast to uint on PackHalf2x16 result

  • zink: Set vertex binding stride without dynamic state extensions

  • Revert “zink: handle vertex buffer offset overflows”

Charles Giessen (10):

  • radv: Update description of vk_icdNegotiateLoaderICDInterfaceVersion

  • v3dv: Update LoaderICDInterfaceVersion to v4

  • panvk: Export vk_icdGetPhysicalDeviceProcAddr

  • freedreno, tu: Export vk_icdGetPhysicalDeviceProcAddr

  • radv: Update LoaderICDInterfaceVersion to v5

  • panvk: Update LoaderICDInterfaceVersion to v5

  • anv: Update LoaderICDInterfaceVersion to v5

  • lavapipe: Update LoaderICDInterfaceVersion to v5

  • freedreno, tu: Update LoaderICDInterfaceVersion to v5

  • v3dv: Update LoaderICDInterfaceVersion to v5

Charmaine Lee (1):

  • mesa: fix misaligned pointer returned by dlist_alloc

Cherser-s (1):

  • radv: handle VK_DESCRIPTOR_TYPE_SAMPLER in VK_VALVE_mutable_descriptor_type extension

Chia-I Wu (23):

  • venus: fix vn_instance_wait_roundtrip when seqno wraps

  • venus: prefer VIRTGPU_BLOB_MEM_HOST3D for shmems

  • venus: fix vn_buffer_get_max_buffer_size

  • venus: add vn_renderer_util.[ch]

  • venus: add vn_renderer_shmem_pool

  • venus: use vn_renderer_shmem_pool for reply shmems

  • venus: add vn_cs_encoder_storage_type

  • venus: add VN_CS_ENCODER_STORAGE_SHMEM_POOL for VkCommandBuffer

  • venus: cache shmems

  • venus: add some trace points

  • virgl: disable texture uploads with copy transfers

  • vulkan/wsi: add wsi_common_get_image

  • anv,lavapipe,v3dv: use wsi_common_get_image

  • freedreno/drm, turnip: set DRM_RDWR for exported dma-bufs

  • venus: fix VK_KHR_driver_properties

  • venus: format with clang-format

  • venus: remember the memory bound to a swapchain image

  • venus: handle VkBindImageMemorySwapchainInfoKHR

  • vulkan/wsi/x11: fix x11_image_init return value on errors

  • venus: updates to the doc

  • turnip: respect buf->bo_offset in transform feedback

  • glthread: call _mesa_glthread_BindBuffer unconditionally

  • venus: update venus-protocol to 1.3.204

Christian Gmeiner (25):

  • ci/etnaviv: add manual piglit testing

  • ci/bare-metal: armhf: move BM_ROOTFS to generic place

  • ci/etnaviv: armhf: switch to .baremetal-test-armhf

  • ci/etnaviv: no need to force nir anymore

  • ci/bare-metal: add .baremetal-test-arm64

  • ci/bare-metal: switch to common .baremetal-test-arm64

  • panfrost/ci: update piglit fails

  • etnaviv/ci: update piglit fails

  • i915g/ci: update piglit fails

  • iris/ci: update piglit fails

  • ci: Uprev piglit to af1785f31

  • mesa: always support occlusion queries

  • broadcom/ci: use .test-manual-mr

  • vc4: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY

  • i915: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY

  • lima: remove not needed lie about PIPE_CAP_OCCLUSION_QUERY

  • isaspec: Add support for special {:align=} field

  • nir: make lower_sample_tex_compare a common pass

  • nir/nir_lower_tex_shadow: support tex_instr without deref src

  • etnaviv: make use of nir_lower_tex_shadow

  • etnaviv: fix FRONT_AND_BACK culling

  • etnaviv: add multiply_with_8 flag

  • etnaviv: use bytes for read TX data

  • etnaviv: add two new HI related perfmon counter

  • etnaviv: add support for INTEL_blackhole_render

Clayton Craft (1):

  • anv: don’t advertise vk conformance on GPUs that aren’t conformant

Connor Abbott (65):

  • vk/format, v3dv: Add a vulkan -> pipe swizzle helper

  • freedreno/fdl: Constify fdl6_get_ubwc_blockwidth()

  • freedreno/fdl: Add mip_level to fdl_layout

  • freedreno/fdl: Add fdl6_view

  • tu: Use fdl6_view in tu_image_view and cross-check

  • tu: Switch clear/blit to fdl6_view and cross-check

  • tu: Remove cross-check scaffolding

  • tu/clear_blit: Stop creating a franken-image for staging blits

  • ir3/cse: Support mov instructions

  • ir3: Use stp/ldp base offset for {load,store}_scratch

  • tu/clear_blit: Move around copy_format()/tu6_plane_format()

  • freedreno/a6xx: Rename GRAS_2D_BLIT_INFO

  • tu: Emit GRAS_LRZ_MRT_BUF_INFO_0

  • tu: Always write GRAS_LRZ_MRT_BUF_INFO_0

  • freedreno/a6xx: Emit GRAS_LRZ_MRT_BUF_INFO_0

  • ir3: Emit barriers for images again

  • ir3: Don’t emit barriers for make_available/make_visible

  • ir3/spill: Mark root as non-spillable after inserting

  • ir3/spill: Initial implementation of rematerialization

  • tu: Enable subgroupBroadcastDynamicId

  • tu: Add VK_KHR_buffer_device_address stubs

  • tu: Expose Vulkan 1.2

  • util/dag: Make edge data a uintptr_t

  • util/dag: Add dag_add_edge_max_data

  • ir3/sched: Rewrite delay handling

  • ir3/postsched: Fix copy-paste mistake

  • ir3/postsched: Handle sync dependencies better

  • ir3/delay: Ignore earlier definitions to the same register

  • ir3/postsched: Rewrite delay handling

  • ir3/postsched: Only prefer tex/sfu if they are soft-ready

  • ir3: Stop inserting nops during scheduling

  • ir3/ra: Consider reg file size when swapping killed sources

  • ir3/ra: Add missing asserts to ra_push_interval()

  • ir3/spill: Support larger spill slot offset

  • ir3/lower_pcopy: Fix shr.b illegal copy lowering

  • ir3/lower_pcopy: Fix bug with “illegal” copies and swaps

  • ir3/lower_subgroups: Fix potential infinite loop

  • ir3/ra: Fix logic bug in compress_regs_left

  • ir3: Bump type mismatch penalty to 3

  • ir3: Introduce systall metric and new helper functions

  • ir3: Use new (sy)/(ss) stall helpers in the compiler

  • ir3/sched: Rename tex/sfu to sy/ss

  • ir3/postsched: Rename tex/sfu to sy/ss

  • ir3: Use (ss) for instructions writing shared regs

  • ir3, freedreno: Add options struct for ir3_shader_from_nir()

  • ir3: Pass shader to ir3_nir_post_finalize()

  • ir3: Add wavesize control

  • tu, ir3: Support runtime gl_SubgroupSize in FS

  • tu: Implement VK_EXT_subgroup_size_control

  • freedreno/fdl: Fix reinterpreting “size-compatible” formats

  • nir: Reorder ffma and fsub combining

  • freedreno/a6xx: Name texture descriptor bit

  • tu/blit: Don’t set CLAMPENABLE in sampler for 3d path

  • tu: Report code size in pipeline statistics

  • tu: Initial link-time optimizations

  • nir/lower_subgroups: Rename lower_shuffle to lower_relative_shuffle

  • nir: Add support for lowering shuffle to a waterfall loop

  • ir3: Fix copy-paste mistakes in ir3_block_remove_physical_predecessor()

  • ir3: Rewrite (jp) insertion

  • ir3/cp: ir3: Prevent propagating shared regs out of loops harder

  • ir3,tu: Enable subgroup shuffles and relative shuffles

  • ir3/spill: Fix simplify_phi_nodes with multiple loop nesting

  • ir3: Use CAN_REORDER instead of NON_WRITEABLE

  • ir3: Don’t always set bindless_tex with readonly images

  • ir3/nir: Fix 1d array readonly images

Corentin Noël (1):

  • virgl: Disable cache for VIRGL_BIND_SAMPLER_VIEW

Cristian Ciocaltea (12):

  • ci: Uprev deqp-runner to 0.11.0

  • ci: Support building and installing deqp-runner from source

  • ci: Do not remove cmake

  • ci: Create results folder before starting virgl_test_server

  • virgl/ci: Force crosvm error when exit code file is missing

  • virgl/ci: Prevent static link of virglrenderer inside crosvm

  • virgl/ci: Do not hide crosvm output messages

  • virgl/ci: Fix identification of dEQP binary paths

  • iris/ci: Fix whl dEQP expectations

  • iris/ci: Fix piglit tests expectations on amly

  • panfrost/ci: Fix piglit tests expectations on G52

  • freedreno/ci: Fix dEQP tests expectations on A530

Daniel Schürmann (22):

  • nir/fold_16bit_sampler_conversions: skip sparse residency tex instructions

  • aco: add more D16 load/store instructions to RA and validator

  • aco: workaround GFX9 hardware bug for D16 image instructions

  • aco: implement D16 texture loads

  • radv: use nir_fold_16bit_sampler_conversions()

  • aco/optimizer: fix fneg modifier propagation on VOP3P

  • aco: change fneg for VOP3P to use fmul with +1.0

  • aco/optimizer: propagate and fold inline constants on VOP3P instructions

  • nir/opt_algebraic: lower fneg_hi/lo to fmul

  • aco/ra: fix get_reg_for_operand() in case of stride mismatches

  • aco: don’t allow SDWA on VOP3P instructions

  • aco/optimizer: keep instr_mod_labels after applying extract

  • aco/optimizer: apply extract from p_extract_vector

  • aco/optimizer: optimize extract(extract())

  • aco/optimizer: apply extract from subdword p_split_vector

  • aco: use explicit zero-padding for 64bit image loads in expand_vector()

  • aco: use p_create_vector(v2b,v2b) in get_alu_src_vop3p()

  • aco: don’t split VOP3P definitions

  • aco: validate VOP3P opsel correctly

  • nir: refactor nir_opt_move

  • nir/opt_if: merge two break statements from both branch legs

  • nir/opt_if: also merge break statements with ones after the branch

Daniel Stone (10):

  • CI: Disable Windows jobs

  • Revert “CI: Disable Windows jobs”

  • ci: Use common build script for libwayland

  • ci: Consistently build Wayland and protocols

  • ci: Upgrade to libdrm 2.4.109

  • zink/ci: Add GL4.6 tessellation flake

  • CI: Don’t stream wget directly into bash

  • Revert “gitlab-ci: disable radv-fossils”

  • Revert “ci: disable vs2019 windows build”

  • egl/wayland: Reset buffer age when destroying buffers

Danylo Piliaiev (54):

  • ir3/freedreno: account for component in build_tessfactor_base

  • turnip: add support for dirconf

  • driconf: add vk_dont_care_as_load workaround option

  • turnip: implement vk_dont_care_as_load workaround

  • drirc: Apply vk_dont_care_as_load workaround to Forsaken Remastered

  • nir/lower_amul: do not lower 64bit amul to imul24

  • ir3/freedreno: add 64b undef lowering

  • freedreno/ir3: disallow immediate addr/offset for ldg/ldg.a

  • freedreno/ir3: set proper dst size for {store,load}_{global,shared}_ir3

  • freedreno/ir3: use stg.a/ldg.a only if offset is reg or doesn’t fit

  • isaspec: inherite parent’s bitset gpu gen requirements

  • nir/serialize: Make more space for intrinsic_op allowing 1024 ops

  • ir3/ra: Check register file upper bound when updating preferred_reg

  • tu: fix rast state allocation size on a6xx gen4

  • freedreno/computerator: Support A660 gpu

  • vulkan/util: Handle depth-only formats in vk_att_ref_stencil_layout

  • ir3: print half-dst/src for ldib.b/stib.b

  • freedreno/ir3: add a6xx global atomics and separate atomic opcodes

  • freedreno/ir3: handle global atomics

  • turnip: implement VK_KHR_buffer_device_address

  • ir3/cp: Prevent setting an address on subgroup macros

  • freedreno,tu: Limit the amount of instructions preloaded into icache

  • ir3: Add gen4 new subgroup instructions

  • ir3: Use getfiberid for SubgroupInvocationID on gen4

  • ir3,turnip: Enable subgroup ops support in all stages on gen4

  • ir3,turnip: Add support for GL_KHR_shader_subgroup_quad

  • turnip: Fix operator precedence in address calculation macros for queries

  • ir3: Be able to reduce register limit for RA when CS has barriers

  • ir3: Assert that we cannot have enough concurrent waves for CS with barrier

  • tu: fix workaround for depth bounds test without depth test

  • ir3: New cat3 instructions

  • nir/algebraic: Separate has_dot_4x8 into has_sdot_4x8 and has_udot_4x8

  • ir3: Make nir compiler options a part of ir3_compiler

  • tu,ir3: Implement VK_KHR_shader_integer_dot_product

  • vulkan/wsi: create a common function to compare drm devices

  • tu: implement wsi hook to decide if we can present directly on device

  • tu: support VK_EXT_primitive_topology_list_restart

  • tu: expose VK_KHR_copy_commands2

  • tu: add reference counting for descriptor set layouts

  • turnip/perfetto: Optimize timestamp synchronization

  • turnip/trace: refactor creation and usage of trace flush data

  • turnip: rename tu_drm_get_timestamp into tu_device_get_gpu_timestamp

  • turnip/trace: process u_trace chunks on queue submission

  • turnip/perfetto: handle gpu timestamps being non-monotonic

  • turnip/trace: Delete unused start/end_resolve tracepoints

  • turnip: Drop references to layout of all sets on pool reset/destruction

  • tu: implement sysmem vs gmem autotuner

  • freedreno: Update gmem/sysmem debug options to be in line with turnip

  • tu: add debug option to force gmem

  • ci/freedreno: properly test sysmem and gmem paths

  • ir3: opt_deref in opt loop to remove unnecessary tex casts

  • turnip: Unconditionaly remove descriptor set from pool’s list on free

  • ir3: Limit the maximum imm offset in nir_opt_offset for shared vars

  • turnip: Use LATE_Z when there might be depth/stencil feedback loop

Dave Airlie (249):

  • brw/nir: remove unused function prototypes.

  • crocus: Delete the MI_COPY_MEM_MEM resource_copy_region implementation.

  • llvmpipe: fix userptr for texture resources.

  • clover: use max shader sampler view/images queries for clover.

  • llvmpipe: swizzle image stores for CL BGRA

  • radv: fence->user_ptr and ctx->fence_map are now totally unused.

  • lavapipe: drop EXT_acquire_xlib_display

  • vulkan/wsi: set correct bits for host allocations/exports for images.

  • vulkan/include: import the video codec headers.

  • vulkan: add new image types undef beta define to switch statements.

  • meson: allow building with vulkan beta extensions enabled.

  • llvmpipe: disable 64-bit integer textures.

  • llvmpipe: fix compressed image sizes.

  • intel/genxml: cleanup video xml collisions.

  • intel/genxml: fix some missing address from the 75 xml

  • intel/genxml: align QM field names across gens.

  • intel/genxml: fix Picure->Picture typo

  • intel/genxml: fix gen6 LD->VLD typo.

  • intel/genxml: generate video headers

  • util/vl: move gallium vl_vlc.h and vl_rbsp.h to shared code.

  • mtypes: drop some context pointers that are unused now

  • mesa: drop unused sw extensions init

  • mesa/dd: burn a bunch of legacy driver interfaces down

  • mesa/dd: remove some fbo driver hooks.

  • mesa/dd: remove NewSamplerObject

  • mesa/light: make _mesa_light static do_light.

  • iris/ci: comment out iris-cml-traces-performance due to hw unavailable

  • mesa/query: remove all the mesa queryobj code.

  • mesa/syncobj: drop unused syncobj code.

  • mesa: remove unused buffer object code.

  • mesa/transformfeedback: remove unused transform feedback code

  • mesa/barrier: remove unused barrier functions

  • mesa/externalobject: delete unused functions

  • intel/compiler: drop glsl options from brw_compiler

  • meson: make mesa/tests/glx depend on gallium

  • mesa/dd/st: move get strings pointer out of dd.h

  • mesa/dd/st: direct wire queries/timestamp/condrender.

  • mesa/st: direct call sync object functions

  • mesa/st: move barriers to direct call

  • mesa/st: move transformfeedback to direct calls

  • mesa/st: move external objects to direct calls

  • mesa/crocus/iris/blorp: drop minify macro in favour of u_minify

  • mesa: move _mesa_varying_slot_in_fs to shader_enums

  • anv: include futex.h explicitly in allocator.

  • brw/compiler: drop mtypes.h from compiler

  • intel/compiler: drop shader_info.h from compiler header

  • intel/crocus: push main/macros.h out to the users

  • mesa/st: move rendermode to direct call

  • mesa/st: move Enable to direct call

  • mesa/st: move query memory info to direct call

  • mesa/st: move perf query to direct call

  • mesa/st: move perfomance monitor to direct call

  • mesa/dd: drop purgeable interface

  • mesa/st: move fbo code to direct calling

  • mesa/st: move texture APIs to direct st calls

  • mesa/st: move Clear to new direct call

  • mesa/st: move pixel/bitmap functions to direct call

  • mesa/st: move clear/flush/finish to direct call

  • mesa/st: move some context functions to direct calls

  • mesa/st: move viewport to direct call

  • mesa/st: move copy image sub data to direct call

  • mesa/st: move program calls to direct call

  • mesa/st: replace most of buffer funcs with direct calls.

  • mesa/st: move blit function to direct call

  • mesa/st: convert the non-optional egl image to direct calls

  • mesa/st: convert DrawTex to direct call

  • mesa/st: move msaa functions to direct call

  • mesa/st: move compute to direct call

  • mesa/st: move draw indirect and xfb to direct calls.

  • mesa/st: drop Draw from dd function table.

  • treewide: drop mtypes/macros includes from main

  • crocus: cleanup bo exports for external objects

  • mesa/st: merge st buffer object into GL

  • mesa/st: start moving bufferobject alloc/free/reference to main.

  • mesa: add a pipe_context pointer to gl context

  • mesa: add a pointer to st_config_options to gl_context

  • mesa: add pointer to cso_context to gl_context

  • mesa/st: migrate most of state tracker buffer objects into mesa

  • mesa/st: make static the buffer object funcs that can be

  • mesa/bufferobj: rename bufferobj functions to be more consistent.

  • bufferobj: make sw clear buffer static, move it and rename it

  • bufferobj: inline buffer clearing

  • bufferobj: inline page commitment

  • bufferobj: cleanup subdata copies

  • mesa/st: rename access flag to transfer flag function

  • mesa/bufferobj: move invalidate buffer to optional feature

  • mesa/st: remove st_cb_bufferobjects*

  • mesa: inline mesa_initialize_buffer_object.

  • mesa/st: refactor compute dispatch to fill grid info earlier.

  • mesa/st: migrate compute dispatch to mesa

  • mesa/compute: refactor compute launch to look more like draw

  • mesa/st: move get sample position code to static in mesa

  • mesa/st: move msaa functionality into multisample.c

  • mesa/st: migrate barrier code into mesa

  • mesa/st: move st strings handling into mesa

  • mesa: drop texformat code this isn’t used.

  • mesa/st: use has_stencil_export instead of querying screen cap.

  • mesa: drop unused new renderbuffer code.

  • mesa: drop unused _mesa_new_program.

  • mesa/dd: drop unused InvalidateBufferSubData entry.

  • intel/compiler: remove gfx6 gather wa from backend.

  • intel/compiler: don’t lower swizzles in backend.

  • intel/compiler: drop unused decleration

  • mesa: remove StripTextureBorder option.

  • mesa/draw: drop the multi draw with indices fallback.

  • mesa/st: move default enabled extensions into mesa.

  • mesa: drop optional tex/tnl maintains mode.

  • mesa/st: merge NewDepthClamp state flag

  • mesa/st: drop the new array driver state bit

  • mesa/st: drop the rasterizer driver flags

  • mesa/st: remove the viewport driver state flags

  • mesa/st: drop NewBlend driver state flags

  • mesa/st: drop new depth/stencil state bits

  • mesa/st: drop poly stipple driver state bit

  • mesa/st: drop new tess state driver bit

  • mesa/st: drop new uniform driver state bit

  • mesa: drop unused transform feedback state driver flags

  • mesa/st: drop ssbo, image and sampler driver state flags bits

  • mesa/st: drop scissor/window rect driver state bits

  • mesa/st: drop clip plane driver state bits

  • mesa/st: drop new framebuffer srgb driver state bit

  • mesa/st: drop multisample mask/locations state drivers bits

  • mesa/st: remove conditionals for driver state bits that are always set.

  • intel/genxml/gen4-5: fix more Raster Operation in BLT to be a uint

  • crocus: fail resource allocation properly.

  • crocus: don’t create staging resources > half aperture

  • gallium/mesa: enhance PIPE_CAP_CLIP_PLANES to support override number

  • crocus: set max clip planes to 6 for gen4.

  • mapi: generate correct dispatch for EXT_draw_instanced

  • glsl/linker: cleanup passing gl_context unnecessarily

  • glsl: don’t pass gl_context to lower shared references.

  • glsl/linker: don’t pass gl_context just for constants in xfb code

  • glsl/linker: move more ctx->Consts to consts.

  • glsl/linker: remove direct gl_context usage in favour of consts/exts/api

  • glsl/linker: get rid of gl_context from link varyings

  • glsl/linker: get rid of gl_context from uniform assign paths

  • glsl/linker: get rid of gl_context from atomic counters paths

  • glsl/linker: remove gl_context from check image resources

  • glsl/linker: remove gl_context usage from more places.

  • glsl/nir/linker: avoid passing gl_context inside gl_nir linker

  • glsl/linker/uniform_blocks: don’t pass gl_context around.

  • glsl/linker: drop unused gl_context.

  • glsl/linker: remove a bunch more gl_context references.

  • glsl/nir: don’t pass gl_context to the convertor routine.

  • mesa/program: don’t use CALLOC_STRUCT for instructions.

  • mesa: rebalance the CALLOC_STRUCT/FREE force.

  • mesa/st/perfmon: rebalance CALLOC_STRUCT/FREE

  • mesa/st: get rid of ST_CALLOC_STRUCT use CALLOC_STRUCT

  • intel/compiler: add clamp_pointside to vs/tcs/tes keys.

  • crocus: only clamp point size on last stage.

  • amd: move vcn decoding regs + structs to a common file.

  • amd: move uvd decode definitions to common place

  • mesa/*: use an internal enum for tessellation primitive types.

  • mesa/*: add a shader primitive type to get away from GL types.

  • includes: add windows lean and mean guard.

  • nir: remove gl.h include from nir headers.

  • intel/brw: drop gl header from the brw backend.

  • glsl/parser: extract consts/exts/api out of context at start.

  • mesa: drop unused context parameter to shader program data reference.

  • mtypes: split gl extensions and consts out into a separate header

  • mesa/mtypes: move matrix enums to shader_enums.h

  • glsl: remove some deps on mtypes.h.

  • mesa: move some gl shader types to shader_types.h.

  • glsl: avoid rebuilding builtin functions on mtypes.h changes.

  • glsl: move ast_function.cpp off mtypes.h

  • mesa: move ast_to_hir.cpp off mtypes.h

  • mtypes: move gl_linked_shader and gl_shader_program to new shader_types.h

  • mtypes: move gl_program to shader_types.h

  • mtypes: more gl_active_atomic_buffer to shader_types.h

  • mtypes: move transform feedback internal structs to shader_types.h

  • mtypes: move uniform shader types to shader_types.h

  • mtypes: move bindless image/sampler objects to shader_types.h

  • mtypes: move gl_shader_variable to shader_types.h

  • glsl: move off mtypes.h in lots of places.

  • glsl/fp64: move context.h dependent checks into main.

  • glsl: drop some more context.h/mtypes.h interactions

  • vbo: drop unused mtypes.h

  • docs: update docs for new extension header.

  • mesa: more mtypes.h cleanups

  • mesa: split struct gl_config into it’s own header.

  • glsl: drop glheader.h include.

  • mesa/st: merge memoryobjects code from st into mesa

  • mesa/st: merge semaphore objects from st into mesa

  • mesa/st: merge the syncobj code from st into mesa

  • mesa/st: merge queryobj code from st into mesa.

  • mesa/st: merge condrender code from st into mesa.

  • mesa/st: merge st transform feedback object into gl one.

  • mesa/st: merge transform feedback code from st into mesa

  • mesa/st: merge perfmon object from st into mesa

  • mesa/st: merge perfmon counters/groups objects from st into mesa

  • mesa/st: merge perfmon groups init/cleanup from st into mesa

  • mesa/st: move perfmon code from st into mesa

  • mesa/st: cleanup last bits of st perfmon code.

  • mesa/st: merge texture object/image structs into mesa

  • mesa/st: merge texture obj/image alloc/free into mesa

  • intel/perf: use a function to do common allocations

  • meson: start building intel earlier.

  • mesa/st: move intel blackhole noop enable to frontend

  • mesa/st: remove st_context from debug callback

  • mesa/st: migrate debug callback code into mesa

  • mesa/st: drop last user of st_Enable.

  • mesa/st: directly call the uuid get funcs.

  • mesa/st: drop emit string marker device table entry.

  • mesa/st: move pin l3 cache to direct check/call.

  • mesa/dd: drop GetProgramBinaryDriverSHA1

  • mesa/st: drop useless tex parameter calls.

  • mesa/st: move st_TexParameter into mesa

  • mesa/st: drop release all sampler views wrapper

  • mesa/st/vdpau: direct call the vdpau functions.

  • mesa/st: move evaluate depth values into mesa

  • mesa/ctx: store screen pointer in ctx as well

  • mesa/st: inline st_max_shader_compiler_threads

  • mesa/st: move shader completion into mesa

  • mesa/st: move memory query into mesa.

  • mesa/st: drop some bindless wrappers

  • mesa/st: drop lots of perfquery wrappers

  • mesa/st: move perf query test to st_context, drop files.

  • mesa/st: merge st_renderbuffer into gl_renderbuffer.

  • mesa/st: move some renderbuffer code into mesa

  • mesa/st: merge framebuffer objects from st to mesa

  • mesa/st: move render/finish_render texture in to mesa.

  • mesa/st: move validate/discard framebuffer into mesa

  • mesa/st: move st_ReadBuffer functionality into mesa

  • mesa/st: move DrawBufferAllocate into mesa.

  • mesa/st: move st renderbuffer code into mesa renderbuffer

  • mesa/st: move map/unmap renderbuffer code into mesa

  • mesa/st: move st_new_renderbuffer_fb to manager

  • mesa/st: move some fbo helpers around.

  • mesa/st: fixup viewport drawable invalidation

  • mesa/st: migrate blit code into mesa

  • mesa/st: move last of renderbuffer functionality into mesa

  • mesa/st: move renderbuffer format choosing wrapper into mesa.

  • mesa/st: move manager colorbuffer interface to gl_context.

  • mesa/st: move invalidate_on_gl_viewport to ctx

  • mesa/st: move st_fb_orientation into a mesa function

  • mesa: consolidate setting no error state and checking suid.

  • mesa/st: collapse st_program into gl_program object.

  • mesa/st: move new ati fragment shader to mesa

  • mesa/st: move st_vertex_program to gl_vertex_program in mesa

  • mesa/st: move program new/delete into mesa

  • mesa/st: refactor program translation into one file.

  • crocus: find correct relocation target for the bo.

  • crocus: fix leak on gen4/5 stencil fallback blit path.

  • draw/so: don’t use pre clip pos if we have a tes either.

  • lavapipe: fix sampler + sampler view leaks.

  • lavapipe: reference gallium fences correctly.

  • vulkan/wsi: handle queue families properly for non-concurrent sharing mode.

  • crocus: change the line width workaround for gfx4/5

  • gallivm/nir: extract a valid texture index according to exec_mask.

Derek Foreman (3):

  • egl/wayland: Properly clear stale buffers on resize

  • panfrost: Support planar formats for scanout

  • panfrost: support PIPE_RESOURCE_PARAM_NPLANES query

Dylan Baker (54):

  • docs: add release notes for 21.2.4

  • docs: add sha256 sum for 21.2.4 release

  • docs: update calendar and link releases notes for 21.2.4

  • meson: use gtest protocol for gtest based tests when possible

  • docs: add release notes for 21.2.5

  • docs: add sha256 sums for 21.2.5

  • docs: update calendar and link releases notes for 21.2.5

  • turnip: don’t use mesa/macros.h to get utils/rounding.h

  • docs: add release notes for 21.2.6

  • docs: add sha256 sums for 21.2.6 relnotes

  • docs: update calendar and link releases notes for 21.2.6

  • docs/release-calendar: remove additional 21.2 releases

  • docs: Add calendar entries for 22.0 release candidates.

  • mesa/tests: ensure that util_cpu_detect has been called

  • classic/r100: Delete driver

  • classic/r200: Delete driver

  • classic/nouveau: Remove driver

  • classic/i915: Remove driver

  • classic/i965: Remove driver

  • mesa/dri: remove mega driver stub

  • include/pci_ids: Move PCI ids supported by both i965 and iris to iris

  • mesa/main/tests: remove dispatch sanity

  • mesa: Delete libmesa_classic

  • mesa: Merge libmesa_gallium and libmesa_common

  • mesa: move common/dri into gallium

  • meson: restore dri.pc file

  • CODEOWNERS: remove OpenSWR

  • new_features: Add OpenSWR removal

  • fixup! gallium/swr: Remove driver source

  • docs: move the release for 22.0 out

  • VERSION: bump for 22.0.0-rc1 release

  • .pick_status.json: Update to 0447a2303fb06d6ad1f64e5f079a74bf2cf540da

  • .pick_status.json: Update to 8335fdfeafbe1fd14cb65f9088bbba15d9eb00dc

  • .pick_status.json: Update to 5e9df85b1a4504c5b4162e77e139056dc80accc6

  • VERSION: bump version for 22.0.0-rc2

  • .pick_status.json: Update to 7955df28a6660d8dff77c79c345aa28aa7fa859c

  • .pick_status.json: Update to 22fc53493092a7507c1e2db47b0c8763158d7b2d

  • .pick_status.json: Update to 108e6eaa83eed3eb356f3cce835c5f5e3a836b8e

  • .pick_status.json: Mark b07372312d7053f2ef5c858ceb1fbf9ade5e7c52 as denominated

  • .pick_status.json: Update to 3759a16d8a883355effa435f46867951ce712dbe

  • .pick_status.json: Mark a8418abd748e8e761dda9c3594e29e560833d9ff as denominated

  • .pick_status.json: Update to 22efeec399fb55dcb364dabd65afab137d6f3fc3

  • .pick_status.json: Update to f030b75b7d2c359b90c18ee4ed83fa05265c12e0

  • .pick_status.json: Update to fd3451babd6cded6794561d74c8919576ba1f97d

  • llvmpipe: remove test that passes on 22.0 for some reason from the fail list

  • .pick_status.json: Update to b21e7e1ef7ba2c2cf97f073a8a01d6bc43835622

  • d3d12: mark incorrectly passing tests as expected failures

  • VERSION: bump for 22.0.0-rc3

  • .pick_status.json: Update to 48b3ef625e1909c1be31fbe10adb53734af38eb4

  • .pick_status.json: Update to 48b3ef625e1909c1be31fbe10adb53734af38eb4

  • ci/zink: mark tests fixed by previous commit as fixed

  • ci/zink: mark more expected passes as such

  • Revert “panfrost: Fix set_sampler_views for big GL”

  • .pick_status.json: Update to 342e6f83321a91816358dee82178809b2a8aeeaa

Edward O’Callaghan (4):

  • clover/images: Add array_size to implement CL_IMAGE_ARRAY_SIZE

  • clover: Implement CL_MEM_OBJECT_IMAGE2D_ARRAY

  • clover: Implement CL_MEM_OBJECT_IMAGE1D_BUFFER

  • clover: Implement CL_MEM_OBJECT_IMAGE1D_ARRAY

Eleni Maria Stea (1):

  • dri_drawable: missing header

Ella Stanforth (2):

  • v3dv: Implement VK_KHR_create_renderpass2

  • vulkan: Allow RegisterDisplayEventEXT before first page flip

Ella-0 (2):

  • v3dv: implement VK_EXT_host_query_reset

  • v3dv: enable VK_KHR_swapchain_mutable_format

Emma Anholt (204):

  • ci/lvp: Skip some slow tests under ASan.

  • loader: Avoid enumerating drm devices just to get an fd’s PCI ID.

  • freedreno/afuc: Disable the disassembler on 32-bit builds.

  • ci/deqp-runner: Drop SUMMARY_LIMIT env var.

  • ci/deqp-runner: Simplify the –jobs argument setup.

  • ci/deqp-runner: Use new deqp-runner’s built-in renderer/version checks.

  • ci/deqp-runner: Drop silly CSV env vars.

  • ci/deqp-runner: Move remaining asan runs to –env LD_PRELOAD=

  • ci/deqp-runner: Drop LD_LIBRARY_PATH=/usr/local for libkms workaround.

  • ci/deqp-runner: Don’t start GPU hang detection for making junit results.

  • ci/deqp-runner: Move more non-suite logic under the non-suite ‘if’.

  • ci/piglit-runner: Fix funny indentation of the piglit-runner command.

  • turnip: Switch tu6_format_texture() to a pipe_format.

  • turnip: Switch tu6_format_color() to a pipe_format.

  • turnip: Switch format_to_ifmt() to take a pipe_format.

  • util: Move freedreno’s snorm-to-unorm to util/, adding remaining cases.

  • turnip: Make copy_format() and tu6_plane_format() return pipe_format

  • gallium/u_blitter: Read MSAA z/s from sampler’s .x instead of .y or .z.

  • turnip: Drop the assertion about the temporary bit in sync fd imports.

  • ci/radeonsi: Use a deqp-runner suite suite for stoney.

  • ci/deqp-runner: Rename the deqp-drivername-*.txt files to drivername-*.txt

  • ci/piglit-runner: Merge piglit-driver-*.txt files into driver-*.txt.

  • ci: Enable testing radeonsi’s libva using libva-util unit tests.

  • ci/etnaviv: Fix the dependency for the build artifacts.

  • ci/etnaviv: Add some more deqp flakes I’ve seen in recent runs.

  • etnaviv: Switch to the NIR compiler by default.

  • i915g: Check for negate/swizzle on TGSI_OPCODE_KILL_IF’s src.yzw.

  • i915g: Make sure we consider negates/swizzles on bias/shadow coords.

  • i915g: Improve the explanation for the 1D Y swizzle.

  • ci: Uprev VK-GL-CTS to 1.2.7.2, and pull in piglit while I’m here.

  • freedreno: Fix gmem invalidating the depth or stencil of packed d/s.

  • freedreno/a6xx: Emit a null descriptor for unoccupied IBO slots.

  • freedreno/fdl6: Add an interface for setting up buffer descriptors.

  • turnip: Use the new shared buffer-view descriptor creation function.

  • turnip: Remove buffer-view cross-check code.

  • freedreno/fdl6: Add support for texture swizzles of A/L/I/LA/RGBx.

  • freedreno/a6xx: Use the fdl buffer view setup for img/ssbo descriptors.

  • freedreno: Fix layered rendering to just Z/S and not color.

  • freedreno/a6xx: Fix partial z/s clears with sysmem.

  • freedreno/a5xx: Use the defined names for 2D_BLIT_CNTL regs.

  • freedreno/a618: Mark a flaky test that triggers hangcheck.

  • freedreno/a6xx: Don’t try to generate mipmaps for SNORM with our blitter.

  • freedreno/a5xx+: Fix missing LA formats.

  • freedreno/a5xx: Diff reduction in fd5_layout to fd6_layout.

  • freedreno/a6xx: Try to fix drawing to z/s miplevel/layer offsets.

  • freedreno/a5xx: Remove bogus assertion about BO size.

  • freedreno/a5xx: Try to fix drawing to z/s miplevel/layer offsets.

  • freedreno/a5xx: Clean up a little bit of blitter array pitch setup.

  • freedreno/ir3: Fix off-by-one in prefetch safety assert.

  • turnip: Claim 1.2.7.1 CTS conformance.

  • freedreno: Fix the uniform/nonuniform handling for cat5 bindful modes.

  • freedreno: Fix constant-index assumptions in IBO loads.

  • ci/etnaviv: Mark the rest of uniform_api.random as flaky.

  • ci/etnaviv: Add more texturing flakes.

  • ci/bare-metal: Close serial and join serial threads before exit.

  • util: Rename PIPE_FORMAT_G8_B8_R8_420_UNORM.

  • util/format: Add G8_B8R8_420_UNORM to match Vulkan.

  • freedreno/fdl6: Skip redundant setting of TILE_ALL for NV12.

  • freedreno: Set layer_first on (2D) resource imports.

  • freedreno/a6xx: Create a fd6_view at sampler view update time.

  • freedreno/a6xx: Switch to relying on fd6_view for our texture descriptors.

  • freedreno/a6xx: Use fd6_view for non-buffer image descriptors, too.

  • freedreno/a6xx: Clean up sysmem fb read patching using fd6_view.

  • freedreno/a6xx: Drop an unused tile_mode arg.

  • freedreno/a6xx: Inline remaining fd6_tex_const_0() call.

  • mesa/st: Disable NV_copy_depth_to_color on non-doubles-capable HW.

  • freedreno/a6xx: Add some notes about piglit failures.

  • freedreno/ir3: Fix an off-by-one in so->outputs_count safety assert.

  • ci/freedreno: Enable the tes-input/tcs-input tests.

  • freedreno/a6xx: Do sparse setup of the TFB program.

  • ci/freedreno: Add notes explaining the KHR-GL* failures.

  • ci/freedreno: Add a link to the issue for color_depth_attachments.

  • freedreno/fdl: Dump the generated layout when a layout test fails.

  • freedreno: Fix the texturator unit test script.

  • freedreno/cffdump: Fix 64-bit reg decode in script mode.

  • freedreno/fdl: Add support for unit testing 3D texture array strides.

  • freedreno/cffdump: Fix up formatting of texturator unit test script output.

  • freedreno/cffdump: Handle the TILE_ALL flag in unit test generation.

  • freedreno/a6xx: Fix a bunch of 3D texture layout to match blob behavior.

  • freedreno: Stop exposing MSAA image load/store on desktop GL.

  • freedreno/a6xx: Disable sample averaging on z/s or integer blits.

  • freedreno/a6xx: Disable sample averaging on non-ubwc z24s8 MSAA blits.

  • freedreno/a5xx: Define a5xx_2d_surf_info like a6xx has.

  • freedreno/a5xx: Document the sRGB bit on RB_2D_SRC/DST info.

  • freedreno/a5xx: Emit MSAA state for sysmem rendering, too.

  • nir: Un-inline nir_builder_alu_instr_finish_and_insert()

  • nir: Un-inline more of nir_builder.h.

  • freedreno/ir3: Make a shared helper for the tess factor stride.

  • turnip: Move CP_SET_SUBDRAW_SIZE to vkCmdBindPipeline() time.

  • nir: Uninline a bunch of nir.h functions.

  • nir: Make nir_build_alu() variants per 1-4 arg count.

  • freedreno/a6xx: Allocate a fixed-size tess factor BO.

  • freedreno/a6xx: Skip emitting tess BO pointers past the shader’s constlen.

  • freedreno/a6xx: Set the tess BO ptrs in the program stateobj.

  • mesa/st: Remove GL_ARB_depth_clamp emulation support.

  • r300: Add deqp expectations for RV515.

  • r300: Turn a comment about presub into an assert.

  • r300: Fix mis-optimization turning -1 - x into 1 - x.

  • nouveau/nir: Use the address reg for indirect scratch access.

  • nir/algebraic: Move some generated-code algebraic opt args into a struct.

  • nir/algebraic: Drop the check for cache == None.

  • nir/algebraic: Replace relocations for nir_search values with a table.

  • nir/algebraic: Remove array-of-cond code

  • nir/algebraic: Move relocations for expression conds to a table.

  • nir/algebraic: Move relocations for variable conds to a table.

  • nir/algebraic: Pack various bitfields in the nir_search_value_union.

  • nir/algebraic: Mark the automaton’s filter tables as const.

  • nir/algebraic: Move all the individual transforms to a common table.

  • r300: Move the instruction filter for r500_transform_IF() to the top.

  • r300: Cache the var list in the peephole_mul_omod() loop.

  • r300: Ensure that immediates have matching negate flags too.

  • r300: Also consider ALU condition modifiers for loop DCE.

  • r300: Remove the non_normalized_coords from the shader key.

  • r300: Precompile the FS at shader creation time.

  • r300: Route shader stats output to ARB_debug_output.

  • r300/ci: Update loop expectations

  • loader: Restore i915g support.

  • r300/ci: Add some piglit expectations.

  • nir/nir_to_tgsi: Add support for “if” statements with !native_integers

  • nir_to_tgsi: Make !native_integers front face input match glsl_to_tgsi.

  • r300: Disable loop unrolling on r500.

  • r300: Request NIR shaders from mesa/st and use NIR-to-TGSI.

  • nir_to_tgsi: Enable nir_opt_move.

  • nir/nir_opt_move,sink: Include load_ubo_vec4 as a load_ubo instr.

  • nir_to_tgsi: Set the TGSI Precise flag for exact ALU instructions.

  • r300: Remove some dead compiler code.

  • r300: Remove support for SCS.

  • r300: Remove unused RC_OPCODE_ABS.

  • r300: Remove unused RC_OPCODE_XPD.

  • r300: Remove unused RC_OPCODE_SWZ.

  • r300: Remove unused RC_OPCODE_CLAMP.

  • r300: Remove unused RC_OPCODE_SFL

  • r300: Remove unused RC_OPCODE_DPH

  • ci/freedreno: Add known flakes from the last month.

  • ci/crocus: Add support for manual CI runs on my G41.

  • crocus: Clamp VS point sizes to the HW limits as required.

  • glsl: Delete the vectorization opt pass.

  • glsl: Delete the optimize_redundant_jumps pass.

  • glsl: Remove dead prototype for old do_discard_simplification().

  • glsl: Remove comment about non-existing DFREXP_TO_ARITH

  • glsl: Retire unused modes for lower_64bit_integer_instructions.

  • ci/r300: Add another xfail on the main branch.

  • r300/vs: Allocate temps we see a use as a source, too.

  • r300/vs: Reuse rc_match_bgnloop().

  • r300/vs: Fix flow control processing just after an endloop.

  • ci: Enable a build with MSan.

  • glcpp: Disable the valgrind tests.

  • softpipe: Drop the quad pstipple stage.

  • softpipe: Use the draw module’s poly stipple handling, like llvmpipe.

  • softpipe: Drop duplicate decl of softpipe_find_fs_variant

  • ci/crocus: Add manual CI for the new HSW box I have at home.

  • ci: Enable reporting to the flakes IRC channel for i915g and crocus.

  • ci/i915g: Add a couple more recent regressions.

  • nir_to_tgsi: Use the same address reg mappings as GLSL-to-TGSI did.

  • gallium: Delete PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS

  • tgsi/exec: Simplify indirects now that they always use the ADDR file.

  • i915g: Turn off FP16 in the vertex shaders.

  • r300: Use uif() instead of pointer aliasing in program printing.

  • ci/r300: Update xfails from a full dEQP run.

  • r300: Fix omod failing to increase the number of channels stored.

  • nir_to_tgsi: Enable fdot_replicates flag.

  • ci: Shrink container/rootfs sizes.

  • nir_to_tgsi: Fix a bug in TXP detection after backend lowering.

  • ci/llvmpipe: Sort the list of traces.

  • ci/llvmpipe: Add a trace for the game JVGS, which got regressed recently.

  • ci: Add paraview traces to several drivers.

  • freedreno/ir3: Use nir_opt_offset for removing constant adds for shared vars.

  • nir: Apply nir_opt_offsets to nir_intrinsic_load_uniform as well.

  • r300: Drop unused r300_get_stats() call.

  • r300: Add consts (uniforms) count to the shader-db output.

  • nir/lower_dynamic_bo_access: Use copy_inst_indices for our cloned instrs.

  • nir: Add a .base field to nir_load_ubo_vec4.

  • nir/opt_offsets: Disable unsigned wrap checks on non-native-integers HW.

  • nir/opt_offsets: Also apply the max offset to top-level constant folding.

  • nir_to_tgsi: Use nir_opt_offsets for load_ubo_vec4.

  • nir/opt_offsets: Use nir_ssa_scalar to chase offset additions.

  • softpipe: respect !independent_blend_enable for color masks.

  • softpipe: Request that st fix up DST_ALPHA blending for RGB render targets.

  • ci/softpipe: Drop the GS sampling known-flakes.

  • nir/lower_locals_to_regs: Do an ad-hoc copy propagate on our generated MOV.

  • tgsi_exec: Fix shared var stores for >1 real invocation, and overflow checks.

  • softpipe: Improve some local var naming in compute shaders.

  • softpipe: Initialize the CS dispatch mask at machine setup time.

  • softpipe: Dispatch 4 CS invocations per tgsi_exec thread.

  • Revert “ci: freedreno: Update a530 dEQP fail expectation list”

  • ci/llvmpipe: Drop the skip of piglit edgeflag test.

  • ci/llvmpipe,softpipe: Switch piglit testing to piglit-runner.

  • ci/traces: Rename the piglit/run.sh script to piglit-traces.sh.

  • ci/traces: Drop the PIGLIT_PROFILES setting for traces replay.

  • ci/traces: Clean up the failure report message.

  • ci/traces: Drop the baseline file creation for trace results.

  • ci/traces: Drop PIGLIT_REPLAY_UPLOAD_TO_MINIO.

  • ci/traces: Always generate the junit XML.

  • ci/freedreno: Update hashes for closed traces.

  • vulkan: Fix leak of error messages

  • ci: Use a dlclose-disabling preload library for leak checking in Vulkan.

  • ci/freedreno: Switch 2 default a630 VK jobs to being GLES and VK ASan jobs.

  • turnip: Store the computed iova in the tu_buffer.

  • turnip: Store the computed iova in the tu_image.

  • r300: Disable fp16 and int16 in swtcl vertex shaders.

  • r300/r600: Add drm-shim support.

  • freedreno/isaspec: Add missing dep of encode.py/decode.py calls on isa.py

  • intel: Add missing dep of gen_*_header.py on utils.py.

  • i915g: Initialize the rest of the “from_nir” temporary VS struct.

Enrico Galli (3):

  • microsoft/compiler: Shadow tex instructions always use shadow samplers

  • microsoft/spirv_to_dxil: Add DXIL validation to spirv2dxil

  • ci/windows: Add validation tests for spriv_to_dxil

Eric Engestrom (33):

  • VERSION: bump to 21.4

  • docs: reset new_features.txt

  • VERSION: bump to 22.0

  • docs: update calendar for 21.3.0-rc1

  • docs: update calendar for 21.3.0-rc2

  • docs: update calendar for 21.3.0-rc3

  • docs: update calendar for 21.3.0-rc4

  • release-calendar: fix date for next 21.3 rc

  • meson: drop duplicate addition of surfaceless & drm to the list of platforms

  • meson: move `egl_native_platform` definition inside the `with_egl` block

  • meson: drop impossible `if no platform` branch

  • meson: always define `HAVE_{X11,XCB}_PLATFORM` when it’s enabled

  • meson: automatically define `HAVE_{some}_PLATFORM`

  • docs: update calendar for 21.3.0-rc5

  • docs/submittingpatches: add link to section describing how to make a backport MR

  • docs/submittingpatches: add formatting around the release branches names

  • docs/submittingpatches: mention use of the `-x` flag of `git cherry-pick` when backporting a commit

  • docs: update branchpoint instructions

  • docs: add release notes for 21.3.0

  • docs: update calendar and link releases notes for 21.3.0

  • docs: add 21.3.x release schedule

  • docs: add 22.0 branchpoint date for perspective

  • docs: add release notes for 21.3.1

  • docs: update calendar and link releases notes for 21.3.1

  • docs: add release notes for 21.3.2

  • docs: update calendar and link releases notes for 21.3.2

  • docs: add release notes for 21.3.3

  • docs: update calendar and link releases notes for 21.3.3

  • docs: add release notes for 21.3.4

  • docs: update calendar and link releases notes for 21.3.4

  • docs: add release notes for 21.3.5

  • docs: update calendar and link releases notes for 21.3.5

  • docs/release-calendar: add another 21.3.x since 22.0 has been delayed a bit

Erico Nunes (5):

  • ci: temporarily disable lima CI

  • mesa: fix GL_MAX_SAMPLES with GLES2

  • lima/gpir: avoid invalid write in regalloc

  • lima/ppir: initialize slots array for dummy/undef

  • lima/ppir: refactor bitcopy to use unsigned char

Erik Faye-Lund (9):

  • docs: update trademark disclaimer

  • CODEOWNERS: remove ownership of deleted code

  • ci: remove testing of deleted code

  • docs: remove mentions of deleted code

  • docs: remove stale notice about deleted dir

  • ensure csv-files are crlf on disk

  • bin/gen_calendar_entries: fix newlines on windows

  • docs: use http-redirect when possible

  • docs: remove incorrect drivers from extension

Felix DeGrood (2):

  • anv: increase binding table pool size to 64KB

  • pps: increase intel.cfg buffer size

Filip Gawin (8):

  • r300: improve precission of linear interpolation

  • r300: stub derivatives on r300 and r400 hardware

  • nir: assert that variables in optimize_atomic are initialized

  • glsl: fix trivial strict aliasing warning

  • radv: dont call calloc when BVH is empty

  • iris: fix mapping compressed textures

  • r300: fix handling swizzle in transform_source_conflicts

  • r300: replace recursive calls with loops

Francisco Jerez (28):

  • intel/fs/xehp: Teach SWSB pass about the exec pipeline of FS_OPCODE_PACK_HALF_2x16_SPLIT.

  • intel/fs: Add physical fall-through CFG edge for unconditional BREAK instruction.

  • intel/dev: Fix size of device info num_subslices array.

  • intel/dev: Add support for pixel pipe subslice accounting on multi-slice GPUs.

  • intel/dev: Implement DG2 restrictions requiring additional DSSes to be disabled.

  • intel/xehp: Implement XeHP workaround Wa_14013910100.

  • intel/xehp: Implement XeHP workaround Wa_14014148106.

  • intel/xehp: Update 3DSTATE_PS maximum number of threads per PSD.

  • intel/fs: Don’t assume packed dispatch for fragment shaders on XeHP.

  • intel/blorp/gfx12+: Drop unnecessary state cache invalidation from binding table setup.

  • intel/genxml: Fix SLICE_HASH_TABLE struct on XeHP.

  • iris: Merge gfx11_ and gfx12_upload_pixel_hashing_tables() into the same function.

  • intel: Move pixel hashing table computation into common header file.

  • intel: Minimal calculation of pixel hash table for arbitrary number of pixel pipes.

  • intel: Rename intel_compute_pixel_hash_table() to intel_compute_pixel_hash_table_3way().

  • iris: Program pixel hashing tables on XeHP.

  • anv: Program pixel hashing tables on XeHP.

  • intel/xehp: Switch to coarser cross-slice pixel hashing with table permutation.

  • iris/xehp: Implement workaround for 3D texturing+anisotropic filtering.

  • intel/fs/xehp: Merge repeated in-order read dependencies instead of replacement.

  • intel/fs: Move legal exec type calculation into helper function in lower_regioning pass.

  • intel/fs: Teach the lower_regioning pass how to split instructions of unsuported exec type.

  • intel/fs: Take into account region strides during SIMD lowering decision of SHUFFLE.

  • intel/fs: Fix destination suboffset calculations for non-trivial strides in SHUFFLE codegen.

  • intel/fs: Perform 64-bit SHUFFLE lowering in the lower_regioning pass.

  • intel/fs: Perform 64-bit SEL_EXEC lowering in the lower_regioning pass.

  • intel/fs: Honor strided source regions specified by the IR for CLUSTER_BROADCAST.

  • intel/fs: Perform 64-bit CLUSTER_BROADCAST lowering in the lower_regioning pass.

Georg Lehmann (8):

  • meson: Use get_supported_arguments more often.

  • meson: Remove some unnecessary loops.

  • amd/addrlib: Use get_supported_arguments to get compiler args.

  • radv: Increase maxFragmentCombinedOutputResources.

  • vulkan/wsi/wayland: Fix add_wl_shm_format alpha/opaqueness.

  • vulkan/wsi/wayland: Convert missing vulkan formats to shm formats.

  • vulkan/wsi/wayland: Add modifiers for RGB formats.

  • vulkan/wsi/wayland: Fix add_drm_format_modifier aplha/opaqueness.

Gert Wollny (7):

  • virgl: Add driconf tweak to force-enable reading back R8_SRGB textures

  • virgl: obtain supported number of shader sampler views from host

  • ci: pin virglrenderer version

  • virgl: Enable higher compatibility profiles if host supports it

  • util/primconvert: map only index buffer part that is needed

  • nir_lower_io: propagate the “invariant” flag to outputs

  • ntt: Set the output invariant flag according to the semantics

Greg V (2):

  • util: __getProgramName: remove check for ancient FreeBSD versions, simplify ifdefs

  • util: make util_get_process_exec_path work on FreeBSD w/o procfs

Guido Günther (6):

  • etnaviv/drm: Use etna_mesa_debug for debugging messages

  • etnaviv/drm: Add some bo debug output

  • etnaviv/drm: Print gpu model at debug verbosity

  • etnaviv/drm: Use mesa_log* for debugging

  • entaviv/drm: Use same log format as gallium bits

  • etnaviv: Use mesa_log*

Guilherme Gallo (14):

  • ci: Update linux kernel to v5.15

  • iris/ci: Fix traces for amly and deqp list for whl

  • ci/freedreno: Add maxcpus=2 to the kernel cmdline on a530

  • panfrost/ci: update piglit tests expectations on G52

  • ci: Update ci-fairy to version with –token-file support

  • ci: Uprev piglit

  • ci: Use ci-fairy minio login via token file

  • ci: Build skqp on ARM64 images

  • ci: Add a630_skqp jobs

  • ci: skqp: Add documentation on how to maintain skqp jobs

  • ci: Uprev Kernel to v5.16

  • ci: freedreno: Update a530 dEQP fail expectation list

  • ci: Add docs for Linux Kernel uprevs

  • virgl/ci: make crosvm-runner pass variables in a secure way

Hamish Arblaster (1):

  • zink: Fix building on macOS

Henry Goffin (1):

  • intel/compiler/test: Fix build with GCC 7

Hoe Hao Cheng (3):

  • zink/codegen: support platform tags

  • zink/codegen: remove core_since in constructor

  • zink/codegen: remove bogus print statement

Hyunjun Ko (10):

  • turnip: expose VK_KHR_driver_properties

  • anv: Fix to honor the spec to get stencil layout.

  • radv: Fix to honor the spec to get stencil layout.

  • vulkan/util: Move helper functions for depth/stencil images to vk_iamge

  • turnip: Enable VK_KHR_separate_depth_stencil_layouts

  • turnip: Use the new common device lost tracking

  • vulkan: fix typo

  • turnip: Porting to common vulkan implementation for synchronization.

  • turnip: Porting to common implementation for timeline semaphore

  • turnip: fix leaks of submit requests.

Iago Toral Quiroga (63):

  • v3dv: fix TLB buffer to image copy path for 3D images

  • v3dv: enable Vulkan 1.1

  • broadcom/compiler: disallow tsy barrier in thrsw delay slots

  • broadcom/compiler: fix assert that current instruction must be in current block

  • v3dv: refactor TFU jobs

  • broadcom/compiler: rework simultaneous peripheral access checks

  • broadcom/compiler: fix condition encoding bug

  • broadcom/compiler: padding fixes to QPU assembly dumps

  • broadcom/compiler: make opt passes set current block

  • broadcom/compiler: check that sig packing is valid when pipelining ldvary

  • broadcom/compiler: copy packing when converting add to mul

  • v3dv,v3d: don’t store swizzle pointer in shader/pipeline keys

  • v3d: use V3D_MAX_DRAW_BUFFERS instead of hardcoded constant

  • v3dv: account for multisampling when computing subpass granularity

  • v3dv: don’t use a global constant for default pipeline dynamic state

  • v3d,v3dv: move tile size calculation to a common helper

  • v3dv: fix internal bpp of D/S formats

  • broadcom/compiler: fix early fragment tests setup

  • broadcom/compiler: don’t allow RF writes from signals after thrend

  • broadcom/compiler: fix scoreboard locking checks

  • broadcom/compiler: don’t move ldvary earlier if current instruction has ldunif

  • broadcom/compiler: allow color TLB writes in last instruction

  • broadcom/compiler: relax restriction on VPM inst in last thread end slot

  • broadcom/compiler: emit passthrough Z write if shader reads Z

  • broadcom/compiler: track passthrough Z writes

  • v3d,v3dv: don’t disable EZ for passthrough Z writes

  • broadcom/compiler: improve documentation for Z writes

  • broadcom/compiler: improve thrsw merge

  • v3dv: add a refcount mechanism to BOs

  • v3dv: add swizzle helpers to identify formats wit R/B swap and reverse flags

  • v3dv: handle formats with reverse flag

  • v3dv: implement VK_EXT_4444_formats

  • v3dv: implement double-buffer mode

  • v3d: implement double-buffer mode

  • docs/features: flag VK_KHR_create_renderpass2 as implemented for v3dv

  • broadcom/simulator: handle DRM_V3D_PARAM_SUPPORTS_MULTISYNC_EXT

  • v3dv: implement VK_KHR_driver_properties

  • broadcom/compiler: add lowering pass to scalarize non 32-bit general load/store

  • broadcom/compiler: better document vectorization implications

  • broadcom/compiler: implement TMU general 16-bit load/store

  • broadcom/compiler: lower packing after vectorization

  • broadcom/compiler: support ldunifa with some 16-bit loads

  • broadcom/compiler: use ldunifa with unaligned constant offset

  • broadcom/compiler: implement 32-bit/16-bit conversion opcodes

  • broadcom/compiler: support f32 to f16 RTZ and RTE rounding modes

  • v3dv: support VK_KHR_16_bit_storage

  • broadcom/compiler: support 16-bit uniforms

  • v3dv: expose storagePushConstant16 feature from VK_KHR_16bit_storage

  • broadcom/compiler: support 8-bit general store access

  • broadcom/compiler: handle to/from 8-bit integer conversions

  • broadcom/compiler: support 8-bit loads via ldunifa

  • broadcom/compiler: allow vectorization to larger scalar type

  • broadcom/compiler: update comment on load_uniform fast-path

  • v3dv: support VK_KHR_8bit_storage

  • v3dv: drop signature of undefined function

  • v3dv: implement VK_KHR_imageless_framebuffer

  • v3dv: rework Vulkan 1.2 feature queries

  • v3dv: document why we don’t expose VK_EXT_scalar_block_layout

  • v3dv: support resolving depth/stencil attachments

  • v3dv: fallback to blit resolve if render area is not aligned to tile boundaries

  • v3dv: expose VK_KHR_depth_stencil_resolve

  • v3dv: don’t submit noop job if there is nothing to wait on or signal

  • broadcom/compiler: fix offset alignment for ldunifa when skipping

Ian Romanick (35):

  • nir/loop_unroll: Always unroll loops that iterate at most once

  • glsl/nir: Don’t build soft float64 when it cannot be used

  • nir/constant_folding: Optimize txb with bias of constant zero to tex

  • intel/compiler: Don’t predicate a WHILE if there is a CONT

  • intel/compiler: Don’t store “scalar stage” bits on Gfx8 or Gfx9

  • intel/stub: Suppress warnings about DRM_I915_QUERY_PERF_CONFIG

  • intel/stub: Implement DRM_I915_QUERY_ENGINE_INFO

  • intel/stub: Implement DRM_I915_QUERY_MEMORY_REGIONS

  • intel/stub: Implement I915_PARAM_HAS_USERPTR_PROBE

  • intel/fs: Use HF as destination type for F32TOF16 in fquantize2f16

  • mesa: OpenGL 1.3 feature GL_ARB_texture_border_clamp is not optional

  • mesa: OpenGL 1.3 feature GL_ARB_texture_cube_map is not optional

  • mesa: OpenGL 1.3 feature GL_ARB_texture_env_combine is not optional

  • mesa: OpenGL 1.3 feature GL_ARB_texture_env_dot3 is not optional

  • mesa: OpenGL 1.3 and OpenGL ES 1.0 are not optional

  • intel/stub: Silence “initialized field overwritten” warning

  • intel/stub: Implement shell versions of DRM_I915_GEM_GET_TILING and DRM_I915_SEM_GET_TILING

  • intel/fs: Fix gl_FrontFacing optimization on Gfx12+

  • ntt: Extend ntt_compile::addr_declared and ntt_compile::addr_reg

  • mesa: OpenGL 1.4 feature GL_ARB_depth_texture is not optional

  • mesa: OpenGL 1.4 feature GL_ARB_texture_env_crossbar is not optional

  • mesa: OpenGL 1.4 feature GL_EXT_blend_color is not optional

  • mesa: OpenGL 1.4 feature GL_EXT_blend_func_separate is not optional

  • mesa: OpenGL 1.4 feature GL_EXT_blend_minmax is not optional

  • mesa: OpenGL 1.4 feature GL_EXT_point_parameters is not optional

  • mesa: OpenGL ES 1.1 is not optional

  • gallivm/nir: Call nir_lower_bool_to_int32 after nir_opt_algebraic_late

  • nir: All set-on-comparison opcodes can take all float types

  • intel/fs: Don’t optimize out 1.0*x and -1.0*x

  • spriv: Produce correct result for GLSLstd450Step with NaN

  • spirv: Produce correct result for GLSLstd450Modf with Inf

  • spirv: Produce correct result for GLSLstd450Tanh with NaN

  • nir: Properly handle various exceptional values in frexp

  • nir: Produce correct results for atan with NaN

  • nir: Add missing dependency on nir_opcodes.py

Icecream95 (9):

  • panfrost: Set PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION

  • pan/bi: Add interference between destinations

  • pan/bi: Check dependencies of both destinations of instructions

  • panfrost: Set dirty state in set_shader_buffers

  • panfrost: Re-emit descriptors after resource shadowing

  • pan/bi: Make disassembler build reproducibly

  • panfrost: Fix ubo_mask calculation

  • pan/bi: Skip psuedo sources in ISA.xml

  • pan/bi: Don’t assign slots for the blend second source

Ilia Mirkin (50):

  • freedreno: support lua54

  • meson: build freedreno tools when other parts of freedreno not enabled

  • freedreno: check batch size after the fallback blitter clear

  • freedreno/ir3: fix setting the max tf vertex when there are no outputs

  • freedreno/a4xx: fix min/max/bias lod sampler settings

  • mesa: add missing state to state string computation

  • nv50,nvc0: expose R8/RG8_SRGB formats for texturing

  • mesa: add just a tiny bit of debug info to some _mesa_problem calls

  • freedreno: prefer float immediates when float values are involved

  • freedreno/a[345]xx: add R8/RG8 SRGB formats

  • a5xx: remove astc srgb workaround logic

  • freedreno/ir3: fix image-to-tex flags, remove 3d -> array hack

  • nir: remove double-validation of src component counts

  • freedreno/a4xx: add proper buffer texture support

  • freedreno/a5xx: re-express buffer textures more logically

  • freedreno/a6xx: re-express buffer textures more logically

  • freedreno/a4xx: fix stencil-textured border colors

  • freedreno/a4xx: indicate whether outputs are uint/sint

  • freedreno/a4xx: include guesses from a3xx for some of the constid’s

  • freedreno/a4xx: hook up sample mask/id, used to determine helper invocs

  • freedreno/ir3: adjust condition for when to use ldib

  • mesa: check target/format for Tex(ture)StorageMem*

  • mesa: move around current texture object fetching

  • freedreno/a4xx: add missing SNORM formats to help tests pass

  • freedreno/a4xx: add some missing legacy formats to help TBOs

  • freedreno/a5xx: add missing L8A8_UNORM format to support TBOs

  • freedreno/a[345]xx: fix unorm/snorm blend factors when they’re “over”

  • nir: always keep the clip distance array size updated

  • nir: apply interpolated input intrinsics setting when lowering clipdist

  • freedreno/ir3: remove unused actual_in counting

  • nir/lower_clip: replace bogus comment about gl_ClipDistance reading in GL

  • nir/lower_clip: location offset goes into offset, not base

  • nir/lower_clip: increment num_inputs/outputs by appropriate amount

  • nir/lower_clip: support clipdist array + no vars

  • freedreno/ir3: indicate that clipdist arrays are in use

  • freedreno/ir3: get the post-lowering clip/cull mask

  • ci: move windowoverlap exclusion to all-skips

  • freedreno/ci: add piglit runs for a306

  • freedreno/ci/a306: add additional skip which hangchecks

  • freedreno/a3xx: add some legacy formats

  • freedreno/ci/a306: separate msaa fails

  • freedreno/ci/a306: split off the f32 blend / texturing failures

  • freedreno/ci/a306: split off snorm blending failures

  • freedreno/a5xx: enable OES_gpu_shader5

  • gitlab-ci: serial close can leave an active read

  • gitlab-ci: detect a3xx gpu hang recovery failure

  • nv50,nvc0: add new caps to list

  • nv50: don’t claim support for format-less stores

  • freedreno/ci/a306: add more skips

  • freedreno/ci/a306: increase concurrency

Italo Nicola (4):

  • virgl/vtest: use correct resource stride in flush_frontbuffer

  • virgl/vtest: implement resource_create_front

  • virgl: flush cmd buffer when flushing frontbuffer

  • drisw: do an MSAA resolve when copying the backbuffer

Iván Briano (15):

  • intel/nir: also allow unknown format for getting the size of a storage image

  • anv: Remove unused struct member

  • anv: add functions to set up fake render passes

  • anv: allocate fake render pass on pipeline creation

  • anv: Split out state attachments allocation

  • anv: allocate fake render pass for continuation command buffers

  • anv: Split attachment clearing code into their own functions

  • anv: split end_subpass into more discrete components

  • anv: implement the meat of VK_KHR_dynamic_rendering

  • anv: Enable VK_KHR_dynamic_rendering

  • anv: Handle resolveImageLayout on dynamic rendering

  • anv: Report the right conformance version

  • anv: make the pointer valid before we assign stuff into it

  • anv: only advertise 64b atomic floats if 64b floats are supported

  • intel/compiler: make CLUSTER_BROADCAST always deal with integers

Jakob Bornecrantz (1):

  • vulkan-device-select: Don’t leak drmDevicePtr

James Jones (1):

  • gbm: Don’t pass default usage flags on ABIs < 1

James Park (5):

  • vulkan, radv: Support backslash in ICD paths

  • aco: Work around MSVC restrict in c99_compat.h

  • ac: Align ADDR_FASTCALL with addrlib

  • radv: Match function definitions to declarations

  • meson: Update libelf wrap for Windows

Jan Beich (1):

  • meson: disable -Werror=thread-safety on FreeBSD

Jan Zielinski (3):

  • gallium/swr: Remove driver source

  • gallium/swr: Remove common code and build options

  • gallium/swr: clean up the documentation after SWR removal from main

Faith Ekstrand (158):

  • vulkan/log: Tweak our handling of a couple error enums

  • vulkan/log: Don’t assert on non-client-visible objects

  • vulkan/wsi/win32: Delete the wrapper entrypoints

  • i965: Emit a NULL surface for buffer textures with no buffer

  • nir: Add a nir_foreach_image_variable() iterator

  • i965/uniforms: Handle images as a separate pass

  • amd/llvm/nir: Add support for nir_var_mem_image

  • aco: Add support for nir_var_mem_image

  • glsl/nir_linker: nir_var_mem_image is also a GL uniform

  • nir/gl_nir_lower_samplers_as_deref: Support nir_var_mem_image

  • nir/gl_nir_lower_images: Support nir_var_mem_image

  • st/nir: Assign uniform locations to nir_var_mem_image vars

  • ntt: Separate image and sampler handling

  • llvmpipe: Support image variables living in nir_var_mem_image

  • nir/lower_readonly_images_to_tex: Also rewrite variable modes

  • clover: Insert dummy uniform variables for images

  • clover: Use nir_foreach_image_variable for images

  • zink: Images can live in nir_var_mem_image now

  • ir3: Check for nir_var_mem_image in shared_barrier handling

  • spirv: Assert that OpTypeForwardPointer only points to structs

  • glsl: Use nir_var_mem_image for images

  • ttn: Use nir_var_mem_image

  • st/pbo: Use nir_var_mem_image for images

  • nir: Validate image variable modes

  • aco: Split var_mem_image barrier handling from global/ssbo

  • intel/fs: Stop emitting TGM fences for nir_var_mem_ssbo

  • nir/gl_nir_lower_images: Require nir_var_mem_image

  • ir3: Images are always nir_var_mem_image

  • nir: Drop our attempt at typed-based image mode validation

  • nir: s/nir_var_mem_image/nir_var_image/g

  • nir: Re-arrange the variable modes

  • nir/serialize: Pack deref modes better

  • compiler/types: Combine image and sampler type serialization

  • compiler/types: Unify the guts of get_sampler/image_count

  • compiler/types: Add a texture type

  • nir: Allow texture types

  • nir/deref: Also optimize samplerND -> textureND casts

  • lavapipe: Allow for texture types

  • clover/nir: Don’t remove texture variables

  • spirv: Use texture types for sampled images

  • compiler/types: Add a wrap_in_arrays helper

  • anv: Implement VK_EXT_global_priority_query

  • glsl/nir/linker: Also remove image variables

  • vulkan/vk_extensions_gen: Drop support for extra includes

  • vulkan/vk_extensions_gen: Stop including vk_object.h

  • v3dv: Use vk_instance_get_proc_addr_unchecked for WSI

  • lavapipe: Use vk_instance_get_proc_addr_unchecked for WSI

  • vulkan: Rework mako error handling in python generators

  • vulkan: Drop unnecessary [en]coding comments from python generators

  • vulkan/dispatch_table: EntrypointBase doesn’t need to derive from object

  • vulkan: Break entrypoint parsing into its own file

  • vulkan: Move trampoline code-gen to its own file

  • vulkan: Move all the common object code to runtime/

  • lavapipe: Don’t wrap errors returned from vk_device_init in vk_error

  • intel: Add has_bit6_swizzle to devinfo

  • anv,iris: Advertise a max 3D workgroup size of 1024^3

  • anv/allocator: Add a couple of helpers

  • anv: Pull aperture size from devinfo

  • anv/allocator: Use anv_device_release_bo in anv_block_pool_finish

  • anv: Rename anv_bo::index to exec_obj_index

  • anv: Add get/set_tiling helpers

  • anv: Add a couple more checks in MapMemory

  • anv: Fix FlushMappedMemoryRanges for odd mmap offsets

  • anv: Add helpers in anv_allocator for mapping BOs

  • anv: Always set bindless surface base on SKL+

  • anv: Int64 atomics don’t need to depend on softpin

  • anv: Add a anv_use_relocations helper and use it

  • anv: Add a use_relocations physical device bit

  • anv: Stop checking for HAS_EXEC_FENCE

  • anv: Add an anv_bo_is_pinned helper

  • anv: Also disallow CCS_E for multi-LOD images

  • anv: Move device memory maps back to anv_device_memory

  • vulkan: Pull the device lost framework from ANV

  • anv: Use the new common device lost tracking

  • vulkan/device: Add a check_status hook

  • anv: Wire up the new status check

  • vulkan: Add a vk_sync base class

  • vulkan/meson: Re-arrange libvulkan_util deps a bit

  • vulkan/util: Include stdlib.h

  • vulkan/vk_device: Add a drm_fd field

  • vulkan: Add a common vk_drm_syncobj struct

  • c11/threads: Re-align return values for timed waits

  • vulkan: Add an emulated timeline sync type

  • vulkan: Add a common implementation of VkFence

  • vulkan: Add a common implementation of VkSemaphore

  • vulkan: Add common implementations of vkQueueSubmit and vkQueueWaitIdle

  • vulkan/device: Log the timeline mode when lost

  • vulkan/wsi: Drop wsi_common_get_current_time()

  • wsi/display: Rework wsi_fence a bit

  • vulkan/wsi/display: Wrap wsi_display_fence in a vk_sync

  • anv: Delete ANV_SEMAPHORE_TYPE_DUMMY

  • anv: Add a BO sync type

  • anv: Remove the last remnants of in/out fences

  • anv: Use helpers in util/os_time.h in the query code

  • anv: Convert to the common sync and submit framework

  • vulkan: Add an emulated binary vk_sync type

  • anv: Remove unnecessary syncobj wrappers

  • anv: Simplify submit_simple_batch()

  • vulkan,anv: Auto-detect syncobj features

  • vulkan: Add a dummy sync type

  • vulkan/sync: Rework asserts a bit

  • crocus: wm_prog_key::key_alpha_test uses GL enums

  • intel/fs,vec4: Drop uniform compaction and pull constant support

  • intel/fs,vec4: Drop support for shader time

  • intel/blorp: Stop depending on prog_data binding tables

  • intel/fs,vec4: Drop prog_data binding tables

  • intel/compiler: Get rid of wm_prog_key::frag_coord_adds_sample_pos

  • intel/fs: Drop high_quality_derivatives

  • anv: Stop doing too much per-sample shading

  • intel/dev: Add gtt_size to devinfo

  • Revert “anv: Stop doing too much per-sample shading”

  • vulkan/queue: Handle WSI memory signal information

  • anv: Implement vk_device::create_sync_for_memory

  • anv: Drop anv_sync_create_for_bo

  • radeonsi/nir: Check for VARYING_SLOT_PRIMITIVE_ID not SYSTEM_VALUE

  • nir: Add a new sample_pos_or_center system value

  • intel/fs: Return fs_reg directly from builtin setup helpers

  • intel/fs: Rework emit_samplepos_setup()

  • intel/fs: Implement the sample_pos_or_center system value

  • anv,nir: Use sample_pos_or_center in lower_wpos_center

  • anv/pipeline: Get rid of sample_shading_enable

  • intel/fs: Be more conservative in split_virtual_grfs

  • intel/fs: Use OPT() for split_virtual_grfs

  • intel/eu: Don’t double-loop as often in brw_set_uip_jip

  • Revert “intel/fs: Do cmod prop again after scheduling”

  • intel/fs: Reset instruction order before re-scheduling

  • intel/fs: Add a NONE scheduling mode

  • vulkan/runtime: Validate instance version on 1.0 implementations

  • anv,radv,v3dv: Move AcquireImageANDROID to common code

  • radv: Move QueueSignalReleaseImageANDROID to common code

  • anv: Use the common QueueSignalReleaseImageANDROID from RADV

  • v3dv: Use the common QueueSignalReleaseImageANDROID from RADV

  • turnip: Use vk_common_AcquireImageANDROID

  • turnip: Use vk_common_QueueSignalReleaseImageANDROID for DRM

  • intel/compiler: Stop using GLuint in brw_compiler.h

  • intel/fs: Use compare_func for wm_prog_key::alpha_test_func

  • spirv,radv: Fix some GL enum comments

  • vulkan/runtime: Implement 1.3 features/properties

  • anv/pass: Don’t set first_subpass_layout for stencil-only attachments

  • .mailmap: Switch Faith Ekstrand to @collabora.com

  • anv: Implement 1.3 features/properties

  • anv: Advertise Vulkan 1.3

  • vulkan/wsi: Set MUTABLE_FORMAT_BIT in the prime path

  • vulkan/wsi/drm: Break create_native_image in pieces

  • vulkan/wsi: Add a helper for the configure/create/bind pattern

  • vulkan/wsi/drm: Break create_prime_image in pieces

  • vulkan/wsi/x11: Split image creation

  • vulkan/wsi/wayland: Split image creation

  • vulkan/wsi/display: Split image creation

  • vulkan/wsi/win32: Delete unnecessary copy+paste from DRM

  • vulkan/wsi/win32: Break create_win32_image in pieces

  • vulkan/wsi/drm: Drop wsi_create_native/prime_image

  • wsi/common: Set VK_IMAGE_CREATE_ALIAS_BIT

  • vulkan/wsi: Add image create and bind helpers

  • anv/image: Add some asserts when binding swapchain images

  • anv/image: Call into WSI to create swapchain images

  • anv: Call vk_command_buffer_finish if create fails

  • anv: Don’t assume depth/stencil attachments have depth

Jason2013 (1):

  • Fix typo

Jesse Natalie (236):

  • microsoft/clc: Images use nir_var_mem_image

  • util/hash_table: Clear special 0/1 entries for u64 hash table too

  • microsoft/compiler: Use textures for SRVs

  • u_prim_restart: Fix index scanning with start offset

  • d3d12: Don’t accumulate timestamp queries

  • u_threaded_context: Support including from C++

  • d3d12: Inherit from threaded_query

  • d3d12: Resources inherit from threaded_resource

  • d3d12: Inherit from threaded_transfer

  • d3d12: Use thread safe slab allocators in transfer_map handling

  • d3d12: Pass explicit context to pre/post draw surface blits

  • d3d12: Hook up threaded context

  • d3d12: Fully init primconvert config

  • d3d12: Fix Linux fence wait return value

  • d3d12: Handle non-infinite wait timeouts > 49.7 days as infinite

  • util/libsync: Fix timeout handling if poll() wakes up early

  • d3d12: Don’t wait for *all* batches when synchronizing a resource

  • d3d12: Don’t wait for GPU reads to do CPU reads

  • mesa/main: Fix use of alloca() without #include “c99_alloca.h”

  • clc: Use kernel_arg_type_qual string to add const type qualifier to arg metadata

  • microsoft/clc: Add a test for arg metadata

  • d3d12: Fix incorrect hash table usage

  • meson: Don’t override built-in cpp_rtti option, error if it’s invalid

  • meson: Allow mismatching RTTI for MSVC

  • android: Add a BOARD CFlags option so build can be customized

  • mesa/main, android: Log errors to logcat

  • android,d3d12: Support using DirectX-Headers dependency from AOSP

  • android: Allow forcing softpipe

  • d3d12: Support BGRA 555 and 565 formats

  • d3d12: Support PIPE_CAP_MIXED_COLOR_DEPTH_BITS

  • d3d12: Support RGBX formats mapped to RGBA

  • microsoft/compiler: Handle GLES external textures

  • gallium, windows: Use HANDLE instead of FD for external objects

  • winsys/d3d12: Populate winsys handle format

  • d3d12: Handle import/export of fd shared handles

  • d3d12: Make format list all use macros

  • d3d12: Generate format table using a macro list

  • d3d12: Generate a pipe format -> typeless mapping table too

  • d3d12: Validate opened D3D12 resource matches pipe template

  • CI/windows: Uprev piglit

  • CI/windows: Upload result.txt as an artifact

  • CI/windows: Move D3D12 test YML to D3D12 driver folder

  • CI/windows: Move SPIRV-to-DXIL test YML to microsoft folder

  • CI/windows: Move reference files to relevant ci subdirectories

  • CI/d3d12: Add a quick_shader run

  • d3d12: Support compat level 330

  • windows: Use TLS context/dispatch with shared-glapi

  • d3d12: Handle depth readback on drivers that require full-resource copies for depth

  • nir: Add an ‘external’ texture type for parity with samplers

  • d3d12: Force emulation of all YUV formats using per-plane formats

  • d3d12: Handle opening planar resources

  • d3d12: Allow creating planar resources

  • d3d12: Use overall resource format + plane format to get format info

  • microsoft/compiler: Implement inot

  • microsoft/compiler: Remove algebaric pass for inot

  • ci/windows: Remove line numbers from assertions in spirv2dxil tests

  • glapi: Never use dllimport/dllexport for TLS vars on Windows

  • microsoft/compiler: Support lowered io (nir_intrinsic_load_input/store_output)

  • microsoft/compiler: Lower io

  • microsoft/compiler: Delete non-sysval deref load/store code

  • microsoft/compiler: Load synthesized sysvals via lowered io

  • d3d12: Fix NV12 resource importing

  • softpipe: Add a dummy field to sp_fragment_shader_variant_key

  • CI: Trigger Windows build on softpipe changes

  • microsoft/compiler: Emit SSBOs from 0 -> count for GL (non-kernel, non-Vulkan) shaders

  • microsoft/compiler: Hook up uavs-at-every-stage flag

  • microsoft/compiler: Handle write masks in SSBO lowering pass

  • d3d12: Support SSBOs in root signatures

  • d3d12: Always create buffers as UAV-capable

  • d3d12: Support setting SSBOs on the context and turning them into descriptors

  • d3d12: Use DXIL load/store lowering pass

  • d3d12: Set SSBO support caps

  • d3d12: Avoid a debug warning trying to unmap a not-mapped resource

  • d3d12: Replace pipe cap literals with D3D12 defines when available

  • d3d12: Enable cubemap arrays

  • microsoft/compiler: Position should always be no-perspective

  • d3d12: Handle cubemap gather on int cubemaps

  • d3d12: Enable texture gather

  • microsoft/compiler: Fix LOD instruction to return 2 values

  • gallium/aux: Move index offsetting from prim restart to primconvert

  • microsoft/compiler: Change vulkan_environment bool to an enum

  • microsoft/compiler: Put SSBO and image handles in separate arrays

  • microsoft/compiler: Emit GL images in descriptor space 1 with driver_location instead of binding

  • microsoft/compiler: Unify handle retrieval between images and UBO/SSBO

  • microsoft/compiler: Emit SRVs/UAVs as arrays

  • microsoft/compiler: Fix array-of-array handling for derefs of textures/images

  • microsoft/compiler: Handle images as derefs for GL

  • microsoft/compiler: Implement atomic image ops

  • microsoft/compiler: Handle forced early depth

  • microsoft/compiler: Hook up memory/control barriers

  • microsoft/compiler: Fix handling of fp16-in-32bit-val ops to handle high bits

  • d3d12: Shrink 2D array size so that max-layer cube arrays can be created

  • d3d12: Fix format table typeless-ness for A8 and RGBA1010102

  • d3d12: Rename UAV -> SSBO to disambiguate with image UAVs

  • d3d12: Add missed SSBO binding enum value

  • d3d12: Figure out if we can support GL shader images

  • d3d12: Handle format support queries for shader images

  • d3d12: Init null UAVs

  • d3d12: Retrieve shader image dimensions during shader compiles

  • d3d12: Handle images in the root signature

  • d3d12: Handle set_shader_images

  • d3d12: Create textures as UAV-capable when appropriate

  • d3d12: Fill out shader image descriptor tables

  • d3d12: Lower cube images to 2D arrays via existing int cubemap lowering pass

  • d3d12: Handle memory barriers

  • d3d12: Handle bitcasting of shader images

  • d3d12: Set appropriate caps for shader images

  • nir_opt_dead_cf: Remove dead ifs

  • shader_info: tess.spacing needs to be unsigned

  • microsoft/compiler: Move workgroup_size lowering from clc

  • microsoft/compiler: Handle more GL memory barriers

  • d3d12: Limit sampler view count to 32

  • d3d12: Keep state vars last in the per-stage root parameters

  • d3d12: Remove draw_info from selection_context

  • d3d12: Stop trying to set D3D12_DIRTY_SHADER during bindings

  • d3d12: Compile, bind, and cache compute PSOs

  • d3d12: Support compute root signatures

  • d3d12: Hook up compute shader variations

  • d3d12: Implement launch_grid

  • d3d12: Implement num workgroups as a state var

  • d3d12: Handle indirect dispatch

  • d3d12: Run DXIL shared atomic lowering pass

  • d3d12: Enable compute

  • docs: Update d3d12 extension list and new_features.txt

  • d3d12/ci: Skip flaky tex-miplevel-selection and timestamp tests

  • mesa/st: Assert that NIR drivers that support tess use tess levels as inputs

  • d3d12: Export d3d12_get_state_var from d3d12_nir_passes.c

  • d3d12: Fix re-enabling predication after temporary disablement

  • d3d12: Predication fix: re-enable after restarting a batch if needed

  • d3d12: Predication fix: For boolean queries used for predication, D3D12 uses uint64, so clear at least a uint64 in the result

  • d3d12: Declare support for inverted conditional render

  • d3d12: Upgrade first vertex state var into all vertex draw params

  • d3d12: Enable base instance and draw params extensions

  • d3d12: Add a command signature cache for indirect draws

  • d3d12: Handle draw indirect and multi-draw indirect

  • d3d12: Handle indirect twoface draws

  • d3d12: Add a compute transformation to handle indirect draws that need draw params

  • d3d12: Enable draw and multi-draw indirect

  • docs: Update d3d12 features

  • d3d12: When no framebuffer attachments are present, use ForcedSampleCount instead of SampleDesc.Count for MSAA

  • d3d12: When no framebuffer attachments are present, the viewport must be clamped to framebuffer size

  • d3d12: Support ARB_framebuffer_no_attachments

  • docs: Update d3d12 feature list

  • ci/windows: Use 2 container stages

  • microsoft/compiler: Handle variables declared per-sample

  • microsoft/compiler: Handle load_sample_pos_at_id

  • microsoft/compiler: Always have at least one GS active stream

  • microsoft/compiler: Handle ‘pull model’ explicit interpolation intrinsics

  • microsoft/compiler: Handle textureGatherCmp

  • microsoft/compiler: Handle input coverage

  • microsoft/compiler: Handle tex texture/sampler offset srcs

  • microsoft/compiler: Handle load_invocation_id for GS and HS

  • microsoft/compiler: Emit samplers as array types

  • microsoft/compiler: Handle bitfield_insert

  • microsoft/compiler: Use ibfe/ubfe for bitfield extract instead of lowering to shifts

  • microsoft/compiler: Handle msb/lsb/bfrev

  • microsoft/compiler: Lower helper invocations

  • d3d12: Sample mask output needs to be uint-typed

  • d3d12: Lower load_sample_pos to load_sample_pos_at_id

  • d3d12: Report sample positions

  • d3d12: Modify shaders when MSAA is disabled

  • d3d12: Relax multisampling direct copy requirements

  • d3d12: Temp resources for same-resource copies can be MSAA too

  • d3d12: Report number of GS streams

  • d3d12: Apply GS point sprite lowering to fixed-function point size too

  • d3d12: Run point sprite lowering pass on multi-stream GS when safe

  • d3d12: Support dynamic UBO/SSBO indexing

  • d3d12: When mapping a non-directly-mappable resource for write, readback first

  • d3d12: Set sample-rate shading and GLSL 400 caps

  • docs: Update d3d12 features

  • mesa/st: Lower user clip planes for tess eval too

  • microsoft/compiler: Force integer I/O vars to use flat/constant interpolation

  • microsoft/compiler: Use driver_location instead of location for inter-stage varying index in GL

  • microsoft/compiler: Semantic table should be de-duped for multi-row semantics too

  • microsoft/compiler: Multi-row output semantics need to write multiple never_writes_masks

  • microsoft/compiler: Getting a builtin function with an undeclared signature should be unreachable

  • microsoft/compiler: Add mapping from MESA_SHADER_* to DXIL_*_SHADER for tessellation

  • microsoft/compiler: Fix typo in enum entry

  • microsoft/compiler: Emit statically-indexed resource handles and scratch later

  • microsoft/compiler: Support emitting multiple functions into a DXIL module

  • microsoft/compiler: Emit functions with actual function names

  • microsoft/compiler: Emit all NIR functions into the DXIL module

  • microsoft/compiler: Handle store_per_vertex_output for HS outputs

  • microsoft/compiler: Split hull (tess ctrl) shaders into main and patch constant funcs

  • microsoft/compiler: Delete misleading TODO comments about semantic table

  • microsoft/compiler: Emit HS PSV validation and entrypoint metadata

  • microsoft/compiler: Fix I/O signatures for tess shaders

  • microsoft/compiler: Overlap patch and non-patch varyings so both are separately 0-indexed

  • microsoft/compiler: When sorting patch varyings, adjust location to be in normal varying range

  • microsoft/compiler: Gather patch const signature and handle tess factor in it

  • microsoft/compiler: Add patch constant signature into PSV and as container blob

  • microsoft/compiler: Add a pass for hull and domain shaders to shrink tess level vars

  • microsoft/compiler: For store_output from HS, use storePatchConstant

  • microsoft/compiler: For load_input from DS, use loadPatchConstant

  • microsoft/compiler: Handle load_per_vertex_output as LoadOutputControlPoint

  • microsoft/compiler: Handle load_output in the HS stage as reading a previously written patch constant

  • microsoft/compiler: Handle domain location intrinsic

  • microsoft/compiler: Emit DS PSV validation and entrypoint metadata

  • microsoft/compiler: Primitive ID should only be added as a sysval in geometry shaders

  • microsoft/compiler: Location_frac needs to be included in sort order

  • microsoft/compiler: Handle clip/cull distance as an input to tess shaders

  • d3d12: Enable PIPE_CAP_TGSI_TEXCOORD

  • d3d12: Initial plumbing for tesselation

  • d3d12: Link tesselation control and eval shaders

  • d3d12: Handle patch_vertices and patch topology

  • d3d12: Handle passthrough TCS in the case where eval is bound

  • d3d12: Add a state variable for patch_vertices_in

  • d3d12: Update varying creation logic to handle location_frac

  • d3d12: Handle input clip array size in the shader key

  • d3d12: Set caps for tesselation

  • microsoft/compiler: Fix UAV resource ID counting for static indexed handles

  • d3d12: Fix compute transform for multi-draw indirect with dynamic count + state vars

  • d3d12: Add UAV barriers for UAVs that are being used by compute transforms

  • d3d12: Include SO buffer count as a PSO dirty bit

  • d3d12: Support transform feedback pause/resume

  • d3d12: Move indirect compute to real indirect dispatches

  • d3d12: SO buffer filled size is only 32-bit

  • d3d12: Add a comment for what the existing compute transform does

  • d3d12: Add a couple compute transforms for “fake” SO buffers

  • d3d12: Add a compute transform for draw auto

  • d3d12: Move compute transform state save/restore to compute_transforms.cpp

  • d3d12: Move “fake” SO buffer handling to compute transforms instead of CPU readback

  • d3d12: Implement DrawAuto aka DrawTransformFeedback

  • d3d12: Compute transform UBO0 is actually binding 1

  • d3d12: Rewrite subquery logic

  • d3d12: Switch primitives-generated query to use XFB, GS, and IA data

  • d3d12: ARB_transform_feedback2

  • microsoft/compiler: Correctly support I/O on variables with location_frac

  • microsoft/compiler: Support multiple GS output streams

  • d3d12: Unpack multi-stream varyings

  • d3d12: Fix xfb varying matching for vars with location_frac

  • d3d12: Handle indexed queries

  • d3d12: ARB_transform_feedback3

  • microsoft/compiler: Only prep phis for the current function

  • microsoft/compiler: Only treat tess level location as special if it’s a patch constant

  • tc: CPU storage needs to be freed with align_free

Jianxun Zhang (7):

  • intel: provide pci bus and dev info in base device struct

  • intel: use PCI info to compute device uuid

  • anv: remove private pci fields

  • intel: dump PCI info in intel_dev_info

  • intel: remove chipset_id

  • intel: add swizzle flag into driver uuid

  • anv: refactor queue chain

Jonathan Gray (6):

  • util: unbreak non-linux mips64 build

  • util: fix util_cpu_detect_once() build on OpenBSD

  • radv: use MAJOR_IN_SYSMACROS for sysmacros.h include

  • util/u_atomic: fix build on clang archs without 64-bit atomics

  • util: fix build with clang 10 on mips64

  • util: use correct type in sysctl argument

Jonathan Marek (3):

  • freedreno/layout: Fix the UBWC block size for the Y plane

  • turnip: enable UBWC for NV12

  • turnip: use SUBDRAW_SIZE and constant sized tess bos

Jordan Crouse (1):

  • turnip: Update the msm_kgsl.h header with the sanitized 4.19 version

Jordan Justen (50):

  • intel/genxml: Update genxml to support tessellation/geometry distribution

  • intel/dev/test: Assert (verx10 / 10) == ver

  • Revert “iris: Disable I915_FORMAT_MOD_Y_TILED_GEN12* on adl-p/display 13”

  • iris: Use mi_builder in iris_load_indirect_location()

  • intel/genxml/125: Update COMPUTE_WALKER POSTSYNC_DATA struct

  • anv,blorp,iris: Set MOCS for COMPUTE_WALKER post-sync operation

  • intel/dev: Add platform enum with DG2 G10 & G11

  • intel: Add intel_gem_count_engines

  • intel: Add intel_gem_create_context_engines

  • iris: Add iris_init_batches

  • iris/batch: Move kernel context init to iris_init_non_engine_contexts

  • iris/batch: Add exec_flags field

  • iris: Move away from “hw” for some context terminology

  • iris: Destroy all batches with a new iris_destroy_batches() function

  • iris: Make iris_kernel_context_get_priority() public

  • iris/batch: Add support for engines contexts

  • intel/l3: Make DG1 urb-size exception more generic

  • iris: Not all gfx12+ have aux_map_ctx

  • anv: Align buffer VMA to 2MiB for XeHP

  • iris: Align buffer VMA to 2MiB for XeHP

  • nir/lower_tex: Add filter for tex offset lowering

  • intel/compiler: Use nir_lower_tex_options::lower_offset_filter for tg4 on XeHP

  • intel/genxml/12.5: Remove bt-pool enable from 3DSTATE_BINDING_TABLE_POOL_ALLOC

  • anv: Add BINDING_TABLE_POOL_BLOCK_SIZE

  • intel/compiler: Adjust TCS instance-id for dg2+

  • isl: Don’t enable HDC:L1 caches on DG2

  • intel: Add device info for DG2

  • intel: Add *disabled* device ids for DG2

  • intel/devinfo: Adjust L3 banks for DG2

  • iris: Use mi_builder to set 3DPRIM registers for draws

  • iris: Use mi_builder for load/store reg/mem/imm functions

  • intel/dev: Add max_threads_per_psd field to devinfo for gfx8+

  • anv,blorp,crocus,i965,iris: Use devinfo->max_threads_per_psd for gfx8+

  • intel/dev: Add intel_hwconfig_types.h from random post on the internet

  • intel/dev: Add intel_print_hwconfig_table()

  • intel/dev: Print urb size with intel_dev_info

  • intel/dev: Add intel_device_info::apply_hwconfig

  • intel/dev: Set intel_device_info::apply_hwconfig for DG2

  • intel/dev: Apply settings from hwconfig if devinfo::apply_hwconfig is set

  • intel/dev: Recalculate max_cs_threads after applying hwconfig changes

  • intel/gem: Return length from intel_i915_query_alloc

  • intel/dev: Add DG1 PCI id 0x4909

  • intel/dev: Add device ids for ADL-N

  • intel/dev: Add device info for RPL

  • intel/genxml: Extend length of 3DSTATE_WM_HZ_OP for gfx12.5

  • intel/genxml: Extend length of 3DSTATE_DEPTH_BUFFER for gfx12.5

  • isl: Enable compression with Tile4

  • intel/fs: Assert that old pull-const code is not used if devinfo->has_lsc

  • anv: Align GENERAL_STATE_POOL_MIN_ADDRESS to 2MiB

  • anv: Align state pools to 2MiB on XeHP

Joshua Ashton (8):

  • radv: Always inline descriptor writes

  • radv: Split off cmd_buffer variant of descriptor set updates

  • radv: Split off cmd_buffer variant of descriptor set template updates

  • nvc0: Fix uninitialized width/height/depth warning.

  • radv: Refactor S_FIXED to radv_float_to_{s,u}fixed

  • radv: Expose min_lod in *_make_texture_descriptor

  • vulkan: Update the XML and headers to 1.2.199

  • radv: Implement VK_EXT_image_view_min_lod

José Fonseca (4):

  • d3d10umd: Rename Dxgi.h to DxgiFns.h.

  • d3d10umd: Update for transfer interface changes.

  • d3d10umd: Fix MSVC build.

  • d3d10umd: Update for set_sampler_views take_ownership parameter.

Juan A. Suarez Romero (22):

  • vc4/ci: update expected results

  • v3dv/ci: update expected results

  • broadcom/compiler: handle array of structs in GS/FS inputs

  • broadcom/compiler: apply constant folding on early GS lowering

  • nir: add NIR_DEBUG envvar

  • mesa: allow TEXTURE_BUFFER target for ARB_texture_buffer_range

  • st/pbo: do not use GS for NIR preferred shaders

  • gallium/util: add helper to clamp colors to valid range

  • v3d: clamp clear color

  • gallium: add new PIPE_CAP_IMAGE_STORE_FORMATTED

  • st/pbo: add the image format in the download FS

  • st/pbo: set layer coord for array textures

  • v3d: enable ARB_texture_view

  • tgsi-to-nir: initialize NIR_DEBUG envvar

  • nir: use call_once() to init debug variable

  • broadcom/ci: restructure expected results

  • softpipe: enable PIPE_CAP_IMAGE_STORE_FORMATTED

  • d3d12: enable PIPE_CAP_IMAGE_STORE_FORMATTED

  • mesa/st: do not expose ARB_shader_image_load_store if not fully implemented

  • mesa: fix MAX_GEOMETRY_IMAGE_UNIFORMS check support

  • v3d/doc: do not expose ARB_shader_image_load_store

  • v3d: keep clear color untouched

Karol Herbst (5):

  • spirv: Don’t add 0.5 to array indicies for OpImageSampleExplicitLod

  • clover/image: add templated basic_image class to simplify image subclassing

  • clover/format: Full rework on how we declare supported images.

  • clover/formats: pass in cl_mem_flags for better format checking

  • clover/api: fix clGetMemObjectInfo for images

Kenneth Graunke (82):

  • intel: Drop Tigerlake revision 0 workarounds

  • crocus: Replace devinfo->ver[x10] checks with GFX_VER[x10]

  • intel/genxml: Fix Indirect Object Access Upper Bound on Gfx4

  • intel/genxml: Add an “mbz” data type

  • intel/genxml: Drop “Hierarchical Depth Buffer MOCS” field

  • intel/genxml: Change 3DSTATE_CONSTANT_XS::MOCS to be MBZ on Gfx8.

  • isl: Fill in MOCS even for SURFTYPE_NULL surfaces.

  • isl: Fill in MOCS for NULL depth, stencil, and HiZ buffers.

  • blorp: Fill in MOCS even for SURFTYPE_NULL surfaces.

  • blorp: Fill in MOCS for null depth/stencil/HiZ buffers.

  • blorp: Use a non-zero MOCS for disabled constant buffers

  • iris: Drop unnecessary parenthesis

  • iris: Set Bindless Sampler State MOCS

  • iris: Set default MOCS for NULL depth/stencil/HiZ buffers

  • iris: Set MOCS on 3DSTATE_CONSTANT_XS on Gfx9+

  • iris: Set MOCS on 3DSTATE_CONSTANT_ALL packets that disable all buffers

  • iris: Set MOCS on NULL vertex buffers

  • iris: Set MOCS on NULL stream output buffers

  • iris: Fix MOCS for buffer copies

  • anv: Set default MOCS for NULL depth/stencil/HiZ buffers

  • anv: Set MOCS for 3DSTATE_CONSTANT_XS on Gfx7.x as well

  • anv: Set MOCS in 3DSTATE_CONSTANT_XS even if there isn’t a buffer.

  • anv: Set MOCS on NULL vertex buffers

  • anv: Set MOCS on NULL stream output buffers

  • crocus: Set MOCS for most state base addresses on pre-Gen8

  • crocus: Tidy the ifdefs for emitting STATE_BASE_ADDRESS

  • crocus: Set MOCS for index buffers on Gen6+

  • crocus: Set MOCS on NULL stream output buffers

  • crocus: Set default MOCS for NULL depth/stencil/HiZ buffers

  • crocus: Set MOCS for push constant buffers where possible

  • crocus: Set MOCS for 3DSTATE_SO_BUFFERS on Gfx7.x too

  • crocus: Fix MOCS for buffer copies.

  • i965: Use ISL for MOCS rather than open coding it everywhere

  • i965: Set default MOCS for NULL depth/stencil/HiZ buffers

  • i965: Set MOCS for push constant buffers on Haswell and Gfx9+

  • i965: Set MOCS on NULL stream output buffers

  • i965: Set MOCS for 3DSTATE_SO_BUFFERS on Gfx7.x too

  • i965: Set MOCS for 3DSTATE_INDEX_BUFFER on Gfx6/7 as well.

  • i965: Fix MOCS for BLORP buffer copies

  • i965: Port STATE_BASE_ADDRESS to genxml and fix bugs

  • i965: Set MOCS for Bindless Surface/Sampler State base addresses

  • intel/genxml: Add an field option for nonzero=”true”

  • intel/genxml: Assert that all MOCS fields are non-zero on Gfx7+

  • intel/genxml: Include blitter commands in gen*_pack.h

  • intel/genxml: Allow MI_FLUSH_DW on the blitter

  • intel/genxml: Add XY_BLOCK_COPY_BLT on Tigerlake and later.

  • iris: Fix parameters to iris_copy_region in reallocate_resource_inplace

  • intel/genxml: Simplify prefix handling for field value lists

  • intel/genxml: Collapse leading underscores on prefixed value defines

  • intel/genxml: Fix MI_FLUSH_DW to actually specify the length properly

  • intel/genxml: Fix XY_BLOCK_COPY_BLT destination tiling field type

  • intel/genxml: Decode VALIGN/HALIGN values in XY_BLOCK_COPY_BLT

  • iris: Make a helper function for cross-batch dependency flushing

  • iris: Check for cross-batch flushing whenever a buffer is newly written.

  • iris: Tidy code in iris_use_pinned_bo a bit

  • blorp: Fix compute-blits for rectangles not aligned to the workgroup

  • blorp: Don’t try to use the 3D stencil write hardware for compute

  • blorp: Assert that BLORP_BATCH_PREDICATE_ENABLE isn’t set for compute

  • blorp: Disallow multisampling for BLORP compute blits and copies.

  • iris: Rename is_render_target to is_dest in a few blit functions

  • isl: Move some genxml surface state helpers into an include file

  • intel/vec4: Use ir_texture_opcode less in emit_texture()

  • intel/vec4: Use nir_texop in emit_texture instead of translating

  • intel/vec4: Inline emit_texture and move helpers to brw_vec4_nir.cpp

  • intel/compiler: Use uppercase enum values in brw_ir_performance.cpp

  • intel/fs: Reuse the same FS input slot for VUE header fields.

  • iris: Use prog_data->inputs rather than shader info in SBE code.

  • iris: Do primitive ID overrides in 3DSTATE_SBE not SBE_SWIZ

  • iris: Directly access BOs rather than using iris_resource_bo(…)

  • intel: Allow copy engine class in intel_gem_create_context_engines()

  • intel/genxml: Add XY_BLOCK_COPY_BLT Color Depth enum values

  • intel/dev: Add a has_flat_ccs flag

  • blorp: Add a blorp_address::local_hint flag

  • isl: Add isl_dev->mocs.blitter_{src,dst} fields

  • blorp: Add support for blorp_copy via XY_BLOCK_COPY_BLT

  • iris: Create an IRIS_BATCH_BLITTER for using the BLT command streamer

  • iris: Only have one blorp_batch_init/finish in iris_copy_region()

  • iris: Set BLORP_BATCH_USE_{COMPUTE,BLITTER} flags for the target batch

  • iris: Implement iris_blorp_exec() for the blitter engine

  • iris: Fix and refactor check for clear color being fully zero

  • iris: Make an iris_foreach_batch macro that skips unsupported batches

  • blorp: Add blorp_measure hooks to the blitter codepaths

Khem Raj (1):

  • v3dv: account for 64bit time_t on 32bit arches

Konstantin Seurer (4):

  • lavapipe: Fixed maxFragmentCombinedOutputResources

  • anv: Fixed maxFragmentCombinedOutputResources

  • turnip: Fixed maxFragmentCombinedOutputResources

  • panvk: Fixed maxFragmentCombinedOutputResources

Kostiantyn Lazukin (3):

  • util/u_trace: Replace Flag with IntEnum to support python3.5

  • util/ra: use adjacency matrix for undirected graph

  • util/ra: Fix numeric overflow during bitset allocation

Krunal Patel (2):

  • frontends/va: use un-padded width/height in ExportSurfaceHandle

  • frontend/va: Setting the size of VADRMPRIMESurfaceDescriptor

Leandro Ribeiro (12):

  • egl: remove unnecessary spaces after types

  • egl/wayland: replace EGL_DRI2_MAX_FORMATS by EGL_DRI2_NUM_FORMATS

  • egl/wayland: deprecate drm_handle_format() and drm_handle_capabilities()

  • egl/wayland: do not try to access memory if allocation failed

  • egl/wayland: move formats and modifiers to a separate struct

  • egl/wayland: remove unused constant EGL_DRI2_NUM_FORMATS

  • loader: add function to get render node from dev_t

  • egl/wayland: add initial dma-buf feedback support

  • egl/wayland: move loader_dri_create_image() calls to separate functions

  • egl/wayland: use surface dma-buf feedback to allocate surface buffers

  • egl/wayland: do not try to bind to wl_drm if not advertised

  • egl/wayland: fix surface dma-buf feedback error exits

Lepton Wu (1):

  • driconf: Fix unhandled tags in static conf

Lionel Landwerlin (119):

  • vulkan/wsi/wayland: don’t expose surface formats not fully supported

  • anv: fix push constant lowering with bindless shaders

  • pps: remove counter_ids fields

  • pps: add an intel config file

  • docs: put a list of commands to setup perfetto

  • intel/dev: printout timestamp period

  • intel/pps: provide accurate min sampling period

  • intel/pps: reuse timestamp_frequency from intel_device_info

  • intel/dev: fix HSW GT3 number of subslices in slice1

  • intel/dev: don’t forget to set max_eu_per_subslice in generated topology

  • intel/dev: reuse internal functions to set mask

  • intel/dev: fix subslice/eu total computations with some fused configurations

  • intel/perf: fix perf equation subslice mask generation for gfx12+

  • intel/devinfo: use compatible type for ARRAY_SIZE

  • intel/devinfo: fix wrong offset computation

  • intel: remove 2 preproduction pci-id for ADLS

  • intel: move away from booleans to identify platforms

  • intel/dev: also test crocus & i915 pci-ids

  • anv: don’t forget to add scratch buffer to BO list

  • anv: fix multiple wait/signal on same binary semaphore

  • anv: don’t try to close fd = -1

  • anv: initialize anv_bo_sync base fields

  • intel/fs: fix shader call lowering pass

  • pps: allow drivers to report timestamps in their own time domain

  • intel/perf: add a helper to read timestamp from reports

  • pps: fixup sporadic missing counters

  • intel/ds: drop timestamp correlation code

  • intel/perf: track end timestamp of queries

  • intel/ds: drop unused constructors

  • intel/ds: isolate intel/perf from the pps-producer

  • intel/pps: tweak intel config some more

  • intel/ds: remove verbose messages

  • intel: move timestamp scaling helper to intel/perf

  • anv: fix execbuf syncobjs/syncobj_values array leak

  • util/u_trace: refcount payloads

  • nir/opt_deref: don’t try to cast empty structures

  • util/u_trace: add end_of_pipe property to tracepoints

  • util/u_trace/perfetto: add new env variable to enable perfetto

  • intel/nir: preserve access value when duping intrinsic

  • nir/lower_io: include the variable access in the lowered intrinsic

  • nir/print: printout ACCESS_STREAM_CACHE_POLICY

  • nir: add a new access flag to allow access in helper invocations

  • nir: add intrinsics for ray queries

  • nir: track variables representing ray queries

  • nir: add a ray query optimization pass

  • spirv: handle ray query intrinsics

  • intel/debug: reclaim 7 unused bits from classic driver

  • genxml: fix compilation with P/I defines

  • genxml: protect _length defines in genX_bits.h

  • docs/envvars: update after INTEL_DEBUG cleanup

  • util/u_vector: prevent C++ warning on cast from void* to something else

  • vulkan: fix missing handling of WSI memory signal

  • anv,wsi: simplify WSI synchronization

  • gitlab-ci: disable radv-fossils

  • intel/devinfo: adjust subslice array size

  • util/u_trace: protect against reentrant calls

  • anv: don’t leave anv_batch fields undefined

  • anv: limit compiler valid color outputs using NIR variables

  • intel/dev: fixup chv workaround

  • ci: disable vs2019 windows build

  • intel/devinfo: printout pixel pipes in info printout

  • intel/devinfo: printout devinfo struct size

  • intel/devinfo: add a helper to check for slice availability

  • intel/devinfo: drop num_eus_per_subslice field

  • anv: fix perf queries

  • intel/dev: extract slice/subslice total computation

  • intel/devinfo: split out l3/pixelpipes counting

  • intel/devinfo: deal with i915 topology query change

  • intel/fs: disable VRS when omask is written

  • blorp: add description & helpers to printout ops

  • isl: add helpers to printout ops

  • anv: expose a couple of emit helper to build utrace buffer copies

  • intel/dev,perf: Use a single timescale function

  • intel/blorp: add measure_end entry point

  • anv: implement u_trace support

  • intel/ds: reuse intel_ioctl()

  • intel/ds: allow user to select metric set at start time

  • intel/ds: don’t forget to reset upper dword timestamp read

  • intel/ds: use the right i915_drm.h include location

  • intel/ds: use a per GPU clock ID

  • util/u_process: protect entrypoints for c++

  • anv: add perfetto source

  • pps: enable anv source in example config file

  • tools/pps: limit intel cfg to 250ms of sampling

  • iris: utrace/perfetto support

  • intel/dev: fix ppipe_mask computation

  • anv: fix missing descriptor copy of bufferview/surfacestate content

  • genxml: reduce amount of generated code

  • anv: verify that the format supports multisampling

  • anv: switch a bunch of struct/enum to 1.3 versions

  • relnotes/features: updates for Vulkan 1.3

  • intel/ci: expected failure for 1.3 with older CTS

  • docs: start some documentation on Anv

  • docs/anv: list environment variables

  • docs/anv: add descriptor memory layout

  • anv: tidy long lines in descriptor code

  • docs: update INTEL_DEBUG environment variable documentation

  • intel/tracepoint: simplify tracepoint descriptions

  • util/u_trace: make mako conditional code easier to read

  • util/utrace: make generated code a tiny bit nicer to look at

  • compiler: add VARYING bit for primitive shading rate

  • genxml: gen12.5 changes for CPS

  • genxml: add new 3DSTATE_PS_EXTRA bit

  • intel/dev: details CPS feature support

  • isl: add support for coarse pixel control surfaces

  • isl: disable CPB surface compression

  • nir/builder: add ishl_imm helper

  • intel/compiler: add a new pass to lower shading rate into HW format

  • intel/compiler: add primitive rate output support

  • anv: force primitive shading rate write in last geometry stage

  • anv/pass: rely on precomputed dynamic rendering pass/subpass more

  • anv: Update VK_KHR_fragment_shading_rate for newer HW

  • intel/fs: don’t set allow_sample_mask for CS intrinsics

  • intel/nir: fix shader call lowering

  • anv: fix conditional render for vkCmdDrawIndirectByteCountEXT

  • nir: fix lower_memcpy

  • anv/genxml/intel/fs: fix binding shader record entry

  • anv: fix fast clear type value with external images

  • intel/fs: fix total_scratch computation

Lorenz Brun (1):

  • frontends/va: Return error in vaRenderPicture if decoder is NULL

Louis-Francis Ratté-Boulianne (7):

  • microsoft/compiler: add support for load_layer_id

  • microsoft/compiler: Add subpass input types

  • microsoft/compiler: Use SRVs for read-only images

  • microsoft/spirv_to_dxil: check for variables r/w access

  • microsoft/spirv_to_dxil: lower input attachments

  • microsoft/spirv_to_dxil: Lower push constant loads to UBO loads

  • microsoft/spirv_to_dxil: Allow passing a vulkan -> d3d12 binding mapping table

Lucas Stach (11):

  • etnaviv: fix alpha blend with dither on older GPUs

  • etnaviv: initialize vertex attributes on context reset

  • egl/wayland: break double/tripple buffering feedback loops

  • etnaviv: drm: fix size limit in etna_cmd_stream_realloc

  • etnaviv: drm: properly handle reviving BOs via a lookup

  • etnaviv: drm: export BO idle check function

  • etnaviv: drm: rename _etna_bo_del

  • etnaviv: drm: defer destruction of softpin BOs

  • egl/dri2: remove superfluous flush when changing the context

  • egl/dri2: short-circuit dri2_make_current when possible

  • etnaviv: draw: only mark resources as read/written when the state changed

M Henning (2):

  • nouveau/nir: Use natural alignment for scalars

  • nouveau/nir: Lower 64-bit phis

Manas Chaudhary (2):

  • panvk: Add check for null fence

  • panvk: Fix pointer corruption in panvk_add_wait_event_syncobjs

Maniraj D (1):

  • egl: set TSD as NULL after deinit

Manuel Stoeckl (2):

  • gbm: add missing R16 case in gbm_bo_get_bpp

  • gbm: add GBM_FORMAT_GR1616 and RG1616

Marcin Ślusarz (41):

  • iris: fix scratch address patching for TESS_EVAL stage

  • intel: fix INTEL_DEBUG environment variable on 32-bit systems

  • intel/decoder: Dump Task/Mesh shaders

  • spirv: handle SpvOpMemberName

  • intel/compiler: extract brw_nir_load_global_const out of rt code

  • intel/compiler: Get mesh_global_addr from the Inline Parameter for Task/Mesh

  • intel/compiler: Load draw_id from XP0 in Task/Mesh shaders

  • nir: limit lower_clip_cull_distance_arrays input to traditional stages

  • nir/print: simplify printing of IO semantics

  • nir/print: expand printing of io semantics.gs_streams

  • nir/print: compact printing of intrinsic indices

  • nir/print: move print_load_const_instr up

  • nir/print: group hex and float vectors together

  • nir/print: print const value near each use of const ssa variable

  • intel/compiler: disable workaround not applicable to gfx >= 11

  • spirv: handle ViewportMaskNV builtin/cap from SPV_NV_mesh_shader

  • compiler: add new MESH_VIEW_COUNT/MESH_VIEW_INDICES system values

  • spirv: add MeshViewCountNV/MeshViewIndidcesNV builtins from SPV_NV_mesh_shader

  • nir: add load_mesh_view_count and load_mesh_view_indices intrinsics

  • spirv: handle multiview bits of SPV_NV_mesh_shader

  • nir: remove invalid assert affecting per-view variables

  • spirv: mark [Clip|Cull]DistancePerViewNV variables as compact

  • nir: handle per-view clip/cull distances

  • freedreno/rnn: normalize line endings in rules-ng.xsd

  • microsoft/compiler: normalize line endings

  • ci/windows: normalize line endings

  • radv/ci: add line endings exception for files generated with wine

  • Add new rules to .gitattributes

  • intel/compiler: handle gl_[Clip|Cull]Distance in mesh shaders

  • intel/compiler: handle gl_[Clip|Cull]Distance from mesh in fragment shaders

  • intel/compiler: Use Task/Mesh InlineData for the first few push constants

  • anv: Enable conditional rendering in vkCmdDrawMeshTasksNV

  • anv: Add support for non-zero firstTask in vkCmdDrawMeshTasksNV

  • anv: Add support for UBOs, SSBOs and push constants in Mesh pipeline

  • anv: Implement indirect dispatch for Mesh pipeline

  • anv: tell the hardware about gl_[Clip|Cull]Distance in mesh shaders

  • anv: include ClipDistance array in mesh shader per-vertex output

  • anv: Put first few push constants directly into Task/Mesh InlineData

  • intel/compiler: fix array & struct IO lowering in mesh shaders

  • anv: don’t set color state when input state was requested

  • intel/compiler: ignore per-primitive attrs when calculating flat input mask

Marek Olšák (240):

  • gallium/util: add some extern “C” guards

  • radeonsi: si_state_shaders.c -> cpp

  • radeonsi: split si_shader_key into ps and ge parts to minimize memcmp overhead

  • radeonsi: don’t memcmp inlined uniform values if uniform inlining is disabled

  • radeonsi: don’t pass NULL into si_get_nir_shader

  • radeonsi: replace the GS prolog with a monolithic shader variant

  • radeonsi: enable shader culling on Navi1x consumer SKUs as well

  • ac,radeonsi: print a lowercase codename in the renderer string

  • radeonsi: reorder and don’t print patch level DRM version in the renderer string

  • ac/llvm: use fmac instead of mul+sub in face culling

  • ac/llvm: add helper ac_build_is_inf_or_nan

  • ac/llvm: accept primitives whose face culling determinant is Inf or NaN

  • gallium,vbo: add PIPE_BIND_VERTEX_STATE for display lists

  • gallium/u_threaded: implement pipelined partial buffer uploads using CPU storage

  • mesa: fix crashes in the no_error path of glUniform

  • radeonsi: add SI_MAX_VRAM_MAP_SIZE definition

  • radeonsi: add an option to use CPU storage uploads for threaded context

  • radeonsi: change bind_history to track usage in each shader stage

  • radeonsi: rebind a buffer only in shader stages where it’s been bound

  • radeonsi: don’t sync PS or CS before (clear|copy)_buffer based on bind history

  • radeonsi: don’t update bind_history for internal buffer clears and copies

  • radeonsi: don’t sync before clear_buffer and copy_buffer if the buffer is idle

  • radeonsi: properly destroy buffers on failure

  • winsys/amdgpu: remove force_chaining parameter from cs_check_space

  • winsys/amdgpu: set max_ib_size and max_check_space_size later in cs_check_space

  • radeonsi: don’t set inline_uniforms for viewperf because it’s enabled by default

  • amd/addrlib: change how the license is formatted to match internal tree

  • amd/addrlib: cosmetic addrlib update

  • mesa: discard draws with count=0 to decrease overhead

  • st/mesa: don’t crash when draw indirect buffer has no storage

  • mesa: remove USAGE_ELEMENT_ARRAY_BUFFER because it’s unused and adding overhead

  • mesa: move setting USAGE_PIXEL_PACK_BUFFER out of BindBuffer to reduce overhead

  • mesa: remove redundant flagging USAGE_ARRAY_BUFFER

  • mesa: add a no_error path to _mesa_handle_bind_buffer_gen

  • glthread: don’t execute display lists if they have no effect

  • glthread: don’t sync for glIsEnabled with a few enums

  • glthread: add an option to make glCheckFramebufferStatus a no-op

  • glthread: add a trivial thread-safe way to skip display list execution

  • radeonsi: enable shader culling for indirect draws

  • radeonsi: remove unused parameters in si_emit_draw_packets

  • gallium/radeon: change the BO priority definitions to bits

  • gallium/radeon: remove/merge some BO priorities and remove holes

  • gallium/radeon: remove unused RADEON_DEPENDENCY_START_FENCE

  • gallium/radeon: merge BO read/write usage flags with priority flags

  • winsys/amdgpu: simplify parameter passing and derefs in cs_add_buffer

  • winsys/amdgpu: remove an amdgpu_cs dereference from amdgpu_cs_add_buffer

  • winsys/amdgpu: don’t clear RADEON_USAGE_SYNCHRONIZED for last_added_bo_usage

  • winsys/amdgpu: increase the BO hash list size

  • winsys/amdgpu: don’t use ip_instance and ring fields of fence and IB structures

  • winsys/amdgpu: move BO fence array updates to the CS thread

  • winsys/amdgpu: optimize looping inefficiencies in add_bo_fence_dependencies

  • radeonsi: don’t invoke si_decompress_depth if textures are not dirty at binding

  • mesa: fix locking when destroying/overwriting/adding display lists

  • mesa: remove display list OPCODE_NOP

  • mesa: remove PADDING_64BIT by adding the dlist header into vbo_save_vertex_list

  • vbo: return a GL error earlier in vbo_save_playback_vertex_list_gallium

  • vbo: use int16_t for vbo_save_vertex_list::gallium::private_refcount

  • vbo: restructure vbo_save_vertex_list to get more cache hits

  • mesa: use alloca in search_resource_hash

  • glsl: add gl_resource_name to precompute “name” properties later

  • mesa: don’t compute the same strlen up to 3x in _mesa_program_resource_find_name

  • mesa: precompute strlen in gl_resource_name::length and use it

  • mesa: rename locals in _mesa_program_resource_find_name for clarity

  • mesa: preparse [ and [0] in gl_resource_name and use it in shader_query.cpp

  • mesa: handle hash collisions in program resource lookups (e.g. uniforms)

  • mesa: add separate hash tables for each GLSL resource type

  • mesa: skip strlen when hashing strings for ProgramResourceHash

  • radeonsi: print the border color error message only once

  • util: add a util_bitcount variant that selects POPCNT through C++ template arg

  • st/mesa: change st_atom_array.c to cpp

  • st/mesa: use POPCNT in st_update_array if the CPU supports it

  • mesa: change gl_vertex_array_object::NewArrays to bool

  • mesa: add NewVertexBuffers/NewVertexElements flags to indicate state changes

  • cso: add missing parameters into cso_set_vertex_buffers

  • st/mesa: don’t update vertex elements when GL doesn’t change them

  • driconf: set vblank_mode=0 for viewperf2020

  • gallium/util: fix util_can_blit_via_copy_region with unbound render condition

  • gallium/u_blitter: disable sample shading for all blits

  • gallium/u_blitter: do MSAA copies in 1 pass using sample shading

  • gallium/u_blitter: work around broken sample shading in llvmpipe and zink

  • radeonsi: fix 2 issues with depth_cleared_level_mask

  • radeonsi: add a faster clear path for glClearTexImage

  • radeonsi: rename stencil_cleared_level_mask -> stencil_cleared_level_mask_once

  • radeonsi: allow and finish TC-compatible MSAA HTILE

  • radeonsi: fix a typo preventing a fast depth-stencil clear

  • radeonsi: increase tc_max_cpu_storage_size

  • vbo: utilize structure padding to optimize indirection cold->prims[0].begin

  • driconf: disallow 10-bit pbuffers for viewperf2020/maya due to X errors

  • gallium: rename PIPE_CAPF_MAX_POINT_WIDTH -> MAX_POINT_SIZE

  • gallium: add missing point and line CAPs

  • radeonsi: set correct point and line limits

  • st/mesa: use new point and line CAPs

  • nir: add new SSA instruction scheduler grouping loads into indirection groups

  • radeonsi: enable nir_group_loads for better performance

  • radeonsi: fix shader culling with integer pixel centers

  • radeonsi: fix view culling for wide lines

  • radeonsi: use ac_build_load_to_sgpr in gfx10_emit_ngg_culling_epilogue

  • radeonsi: make si_get_small_prim_cull_info static

  • radeonsi: set PERPENDICULAR_ENDCAP_ENA for wide AA lines

  • radeonsi: set EXTRA_DX_DY_PRECISION for lines where it’s supported

  • radeonsi: add si_state_rasterizer::ngg_cull_flags_lines and rename the others

  • ac,radeonsi: cull small lines in the shader using the diamond exit rule

  • radeonsi: unify GFX9_VSGS_NUM_USER_SGPR and GFX9_TESGS_NUM_USER_SGPR

  • radeonsi: add dcc_msaa option to enable DCC for MSAA

  • radeonsi: improve memory instruction tracking

  • radeonsi: remove an incorrect comment at lds_byte0_accept_flag

  • radeonsi: make si_llvm_emit_clipvertex non-static

  • radeonsi: unify how ngg_cull_flags are set

  • radeonsi: cull against clip planes, clipvertex, clip/cull distances in shader

  • radeonsi: inline declare_vs_specific_input_sgprs

  • radeonsi: don’t use GS SGPR6 for the small prim cull info

  • glx: add a workaround to glXDestroyWindow for Viewperf2020/Sw

  • radeonsi: separate culling code from VS/TES (to be reused by GS)

  • radeonsi: restructure code that declares merged VS-GS and TES-GS SGPRs

  • radeonsi: add is_gs parameter into si_vs_needs_prolog

  • radeonsi: simplify si_get_vs_key_outputs for GS

  • radeonsi: don’t use ctx.stage outside of si_llvm_translate_nir

  • radeonsi: implement shader culling in GS

  • radeonsi: deduplicate min_esverts code in gfx10_ngg_calculate_subgroup_info

  • mesa: don’t add attenuation constants if ffvp doesn’t use them

  • mesa: add allow_glsl_compat_shaders for shader-db

  • ac/gpu_info: don’t fail on amdgpu_query_video_caps_info failures

  • ac/surface: allow gfx6-8 to enter the gfx9 DCC codepath for SI_FORCE_FAMILY

  • mesa: add a more straightforward callback for replacing shaders

  • driconf: enable glthread for all Unigine benchmarks

  • driconf: enable glthread for Minecraft

  • driconf: enable glthread for Basemark GPU

  • radeonsi: don’t print uninitialized inlined_uniform_values

  • radeonsi: add wave32 flag into prolog/epilog keys

  • radeonsi: add si_shader::wave_size because it will vary

  • radeonsi: use si_shader::wave_size

  • radeonsi: don’t use si_get_wave_size in si_get_ir_cache_key

  • radeonsi: clean up compute_wave_size use in si_compute_blit.c

  • radeonsi: propagate si_shader::wave_size to VGT_SHADER_STAGES

  • radeonsi: don’t use compute_wave_size directly

  • radeonsi: centralize wave size computation in si_get_shader_wave_size

  • radeonsi: rename si_get_shader_wave_size and make it non-inline

  • mesa: remove SourceChecksum from shader structures

  • mesa: rename gl_shader::sha1 to disk_cache_sha1

  • mesa: add shader source SHA1s that are propagated up to glCompileShader

  • mesa: add gl_linked_shader::linked_source_sha1

  • mesa: don’t compute the same SHA1 twice in glShaderSource

  • util: add SHA1 printing and comparison functions

  • nir: add shader_info::source_sha1, its initialization and printing

  • radeonsi: print source_sha1 as part of shader dumps

  • radeonsi: print the shader stage for shader-db dumps

  • glthread: don’t sync for more glGetIntegerv enums for glretrace

  • mesa: use simple_mtx_t for TexMutex (v2)

  • nir: handle more intrinsics in divergence analysis

  • nir: disable a NIR test due to undebuggable & locally unreproducible CI failures

  • nir: serialize divergent fields

  • nir: add nir_has_divergent_loop function

  • glsl: fix setting compiled_source_sha1 without a shader cache

  • radeonsi: add Wave32 heuristics and shader profiles

  • radeonsi: print more stats for shader-db

  • radeonsi: add shader profiles that disable binning

  • radeonsi: unroll loops of up to 128 iterations

  • mesa: include less stuff in dlist.c

  • mesa: inline vbo_initialize_save_dispatch and rename the functions

  • mesa: inline _mesa_install_arrayelt_vtxfmt

  • mesa: inline _mesa_install_eval_vtxfmt

  • mesa: inline _mesa_install_dlist_vtxfmt

  • mesa: move _mesa_initialize_vbo_vtxfmt calls to a common place and inline

  • mesa: inline _vbo_install_exec_vtxfmt

  • mesa: move the ES2 check from vbo_init_tmp.h to install_vtxfmt

  • glapi: rename exec=”dynamic” to exec “vtxfmt” to make it self-explanatory

  • mesa: don’t set CallList* redundantly in _mesa_initialize_save_table

  • mesa: rename dlist functions to match dispatch function names

  • glapi: rename gl_genexec.py to api_exec_init.py, api_exec.c to api_exec_init.c

  • glapi: move apiexec API condition determination to common code

  • glapi: replace dispatch.h inline functions with macros for faster compilation

  • mesa: add EXT suffix to VertexAttribI*EXT to match glapi name

  • vbo: rename vertex functions to match GL dispatch names

  • vbo: rename ES vertex functions to match GL dispatch names

  • glapi: move reusable glapi printing code to apiexec.py

  • glapi: autogenerate _mesa_initialize_save_table with python

  • glapi: autogenerate api_save.h with save_* function declarations

  • mesa: remove api_exec.h and move its contents into context.h

  • glapi: autogenerate all _mesa_* forward declarations in api_exec_decl.h

  • glapi: autogenerate install_vtxfmt with python

  • mesa: remove GLvertexformat

  • vbo: expose all exec entrypoints for glthread and match api_exec_decl.h names

  • glthread: add nop dispatch

  • glthread: set marshal functions in dispatch only if they exist in the API

  • glthread: inline _mesa_glthread_restore_dispatch and merge disable & destroy

  • glthread: fix restoring the dispatch in destroy when the context is not current

  • glthread: disable glthread if the context is lost

  • mesa: use ctx->GLThread.enabled now that it’s correct

  • mesa: rename _ae_ArrayElement -> _mesa_ArrayElement to match glapi

  • mesa: remove COPY_DISPATCH code that doesn’t do anything

  • glapi: add missing no_error settings for implemented functions

  • mesa,vbo: make ES wrapper functions static

  • mesa: remove all GL func forward declarations because they are autogenerated

  • mesa: use nop dispatch for ColorTable/Convolution/Histogram

  • radeonsi: add a debug option that disables DCC for all exported buffers

  • driconf: enable glthread for Minecraft-FTB, Stellaris, Battletech

  • ac/gpu_info: set cu_mask correctly for Arcturus

  • ac/gpu_info: add AMD_CU_MASK environment variable to set CU_EN

  • radeonsi: set COMPUTE_DESTINATION_EN_SEn to spi_cu_en

  • radeonsi: program COMPUTE_STATIC_THREAD_MGMT_SE4..7 on Arcturus

  • radeonsi: apply spi_cu_en to CU_EN

  • radv: set COMPUTE_DESTINATION_EN_SEn to spi_cu_en

  • radv: apply spi_cu_en to CU_EN

  • radeonsi: pack si_pm4_state

  • radeonsi: replace SI_PM4_MAX_DW with a max_dw field

  • radeonsi: decrease the size of si_pm4_state::pm4 except for cs_preamble_state

  • amd/registers: work around an assertion in parse_kernel_headers.py

  • ac/llvm: add vindex into ac_build_buffer_store_dword

  • ac/llvm: remove the num_channels parameter from ac_build_buffer_store_dword

  • radeonsi: modifiers can’t disable DCC

  • radeonsi: make get_thread_id_in_tg non-static

  • radeonsi: clean up si_export_mrt_color

  • radeonsi: set done=1 for PS exports at the end of si_llvm_build_ps_epilog

  • radeonsi: remove unnecessary code that was used to find the last export

  • radeonsi: export mrtz before color exports

  • radeonsi: simplify compacted_mrt_index in si_export_mrt_color

  • radeonsi: reorder slots for internal buffers, reuse a slot for GS_QUERY_BUF

  • radeonsi: don’t bind the ESGS ring twice, handle the difference in the shader

  • radeonsi: remove unused si_shader::prolog2

  • radeonsi: pass sample_coverage VGPR index to the PS prolog instead of guessing

  • radeonsi: move smoothing to the main shader part to remove 1 live VGPR

  • radeonsi: do opt_large_constants & lower_indirect_derefs after uniform inlining

  • radeonsi: use nir->scratch_size instead of ac_count_scratch_private_memory

  • radeonsi: change si_shader_output_values::vertex_stream to a bitmask

  • radeonsi: move si_nir_scan_shader into si_shader_info.c

  • radeonsi: add into the disk cache key whether cached shaders contain LLVM IR

  • radeonsi: move the GS copy shader into shader variants

  • ac: move ac_exp_param.h to ac_nir.h

  • ac/nir: move ac_are_tessfactors_def_in_all_invocs into radeonsi

  • radeonsi: print all streamout info

  • radeonsi: print the number of param exports for shader-db

  • ac/surface: allow displayable DCC with any resolution (e.g. 8K)

  • radeonsi: rename uses_vmem_* flags

  • radeonsi: apply fbfetch/indirect_descriptor to uses_vmem_load_other earlier

  • radeonsi: determine MEM_ORDERED after generating a shader variant

  • winsys/radeon: fix a hang due to introducing spi_cu_en

  • amd: add a workaround for an SQ perf counter bug

  • ac/surface: add more elements to meta equations because HTILE can use them

  • radeonsi: fix register shadowing after the pm4 state size was decreased

  • radeonsi: fix an assertion failure with register shadowing

Marius Hillenbrand (3):

  • util/cpu_detect: Add flag for IBM Z (s390x)

  • llvmpipe: Use lp_build_round_arch on IBM Z (s390x)

  • util/cpu_detect, gallium: use cpu_family CPU_S390X instead of separate flag

Markus_included (1):

  • Fixed you’re to your

Martin Roukala (né Peres) (1):

  • radv/ci: mark the dEQP fails related to a missing VKCTS 1.3 as expected

Matt Turner (7):

  • util/format: Add PIPE_FORMAT_Y8_UNORM as an “other” layout format

  • tu: Expose required VK_FORMAT_FEATURE bits for planar YUV formats

  • ir3: Add support for (dis)assembling flat.b

  • freedreno/ir3: Add infrastructure for flat.b

  • freedreno/ir3: Use flat.b to load flat varyings on a6xx

  • freedreno/ir3: Use immediate for flat.b’s src1

  • intel/genxml: capitalize decoder mode select properly

Matti Hamalainen (3):

  • aux/trace: print enum names instead of integer values in gallium traces

  • aux/trace: implement missing trace calls

  • aux/trace: cosmetic cleanup

Mauro Rossi (3):

  • android: define cpp_rtti=false because libLLVM is built w/o RTTI

  • Revert “android: define cpp_rtti=false because libLLVM is built w/o RTTI”

  • android: define cpp_rtti=false because libLLVM is built w/o RTTI (v2)

Melissa Wen (14):

  • v3dv: drop unused variable on handle_set_event_cpu_job

  • v3dv: wrap wait semaphores info in v3dv_submit_info_semaphores

  • v3dv: store wait semaphores in event_wait_cpu_job_info

  • drm-uapi/v3d: extend interface for multiple semaphores support

  • v3dv: check multiple semaphores capability

  • v3dv: enable multiple semaphores on cl submission

  • v3dv: enable multiple semaphores for tfu job

  • v3dv: enable multiple semaphores for csd job

  • v3dv: enable GPU jobs to signal multiple semaphores

  • v3dv: track submitted jobs by GPU queue type

  • v3dv: handle wait semaphores in the first job by queue

  • v3dv: process signal semaphores in the very last job

  • v3dv: signal fence when all submitted jobs complete execution

  • v3dv: move sems_info from event_wait job to wait_thread info

Michael Tang (2):

  • microsoft/spirv_to_dxil: turn sysvals into input varyings

  • microsoft/compiler: Use memcpy instead of a union to write dxil_features

Michel Dänzer (1):

  • Revert “wsi/x11: Avoid a class of deadlocks in the WSI queue thread”

Michel Zou (8):

  • vulkan: fix uninitialized variables

  • lavapipe: fix unused variable

  • llvmpipe: Fix Wpointer-to-int-cast

  • meson: check -mtls if has_exe_wrapper

  • meson: correctly detect linker arguments

  • zink: fix -Warray-bounds warning

  • zink: fix unused variable warning

  • vulkan/wsi: drop unused wsi_create_win32_image

Mike Blumenkrantz (278):

  • nir/print: print bindless info as applicable

  • aux/pb: add a tolerance for reclaim failure

  • virgl: remove unused pipebuffer include

  • aux/pb: more correctly check number of reclaims

  • zink: use static array for detecting VK_TIME_DOMAIN_DEVICE_EXT

  • zink: add a read barrier for indirect dispatch

  • zink: fully zero surface creation struct

  • zink: clear descriptor refs on buffer replacement

  • zink: assert compute descriptor key is valid before hashing it

  • zink: don’t update lazy descriptor states in hybrid mode

  • zink: move push descriptor updating into lazy-only codepath

  • zink: add an early return for zink_descriptors_update_lazy_masked()

  • zink: move last of lazy descriptor state updating back to lazy-only code

  • lavapipe: stop reading renderpass during pipeline creation

  • lavapipe: remove some unused struct members

  • lavapipe: use framebuffer attachment_count member instead of renderpass

  • lavapipe: remove lvp_subpass_attachment::in_render_loop

  • lavapipe: remove lvp_subpass_attachment::layout

  • lavapipe: add attachment index to lvp_render_pass_attachment

  • lavapipe: remove lvp_subpass::max_sample_count

  • lavapipe: remove lvp_subpass_attachment and use lvp_render_pass_attachment refs

  • lavapipe: remove last VK_ATTACHMENT_UNUSED check

  • lavapipe: store subpass directly to rendering_state

  • lavapipe: simplify some attachment derefs

  • lavapipe: remove lvp_subpass::has_color_att

  • lavapipe: pull layer count from render state during resolve

  • lavapipe: clamp attachment clear rect sizes

  • zink: don’t ralloc zink_resource structs

  • zink: align pipe_resource and sampler_view allocations to cachelines

  • zink: use ctx params for program ref/destroy functions

  • zink: fix descriptor interface param for program_deinit

  • zink: remove descriptor pools from hash table on deletion

  • zink: unref descriptor pools in hybrid mode when they explode

  • zink: always invalidate descriptor sets on pool free

  • zink: don’t clear descriptor pool cache on context destroy

  • zink: stop leaking descriptor pool references

  • zink: rescue surfaces/bufferviews for cache hits during deletion

  • zink: rename zink_descriptor_layout_key::num_descriptors -> num_bindings

  • zink: eliminate a hole in zink_descriptor_layout_key

  • zink: reduce hashed region of zink_descriptor_layout_key

  • zink: split out descriptor pool sizing into separate struct

  • zink: detect prim type more accurately for tess/gs lines

  • zink: don’t break early when applying fb clears

  • zink: only reset zink_resource::so_valid on buffer rebind

  • zink: don’t check rebind count outside of buffer/image rebind function

  • zink: add notes about binding points which aren’t counted in util funcs

  • zink: stop exporting PIPE_SHADER_CAP_FP16_DERIVATIVES

  • zink: don’t add dynamic vertex pipeline states if no attribs are used

  • zink: fix gl_SampleMaskIn spirv generation

  • zink: more accurately update samplemask for fs shader keys

  • nir/lower_samplers_as_deref: rewrite more image intrinsics

  • nir/lower_io_to_scalar: add support for bo and shared io

  • zink: run optimize_nir() only once during compile

  • zink: move bo load offset adjustment to compiler passes

  • zink: run lower_io_to_scalar before rewriting bo access

  • zink: move all 64-32bit shader load rewriting to nir pass

  • zink: move ssbo store offset adjustment to compiler passes

  • zink: move shared intrinsic offset adjustments to compiler passes

  • zink: move all 64-32bit shader store rewriting to nir pass

  • zink: add more glsl base types to get_glsl_basetype()

  • zink: move all shader bo/sharedmem access to compiler passes

  • zink: add better handling for CUBE_COMPATIBLE bit

  • zink: cache bo SpvId array types

  • zink: use align64 for allocation sizes

  • zink: set aspectMask for renderpass2 VkAttachmentReference2 structs

  • zink: always use explicit lod for texture() when legal in non-fragment stages

  • zink: be more permissive for injecting LOD into texture() instructions

  • zink: inject LOD for sampler version of OpImageQuerySize

  • zink: flag renderpass change when toggling fbfetch

  • zink: be more spec-compliant for unnormalizedCoordinates samplers

  • zink: don’t clamp cube array surfacess to cubes

  • zink: don’t clamp 2D_ARRAY surfaces to 2D

  • zink: error when trying to allocate a bo larger than heap size

  • zink: clamp max buffer sizes to smallest buffer heap size

  • zink: explicitly enable VK_EXT_shader_subgroup_ballot

  • zink: add more int/float types to cast switching in ntv

  • zink: force float dest types on some alu results

  • zink: stop double printing validation messages

  • zink: add SpvCapabilityStorageImageMultisample for multisampled storage images

  • zink: reject all storage multisampling if the feature is unsupported

  • gallium: add PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY

  • zink: set PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY

  • zink: add queue locking

  • build: add sha1_h to llvmpipe build

  • mesa/st: rework psiz lowering

  • mesa/st: lower psiz for shader precompile

  • anv: disable debug logging spam

  • zink: set fbfetch state on lazy batch data when enabling it

  • zink: always use lazy (non-push) updating for fbfetch descriptors

  • vk: update headers for 1.2.197

  • lavapipe: fix cmd queuing for dynamic render

  • lavapipe: VK_KHR_dynamic_rendering

  • features: add dynamic render for lavapipe

  • zink: do a better job conserving locations for packed xfb outputs

  • zink: clamp PIPE_SHADER_CAP_MAX_INPUTS for xfb

  • zink: remove lazy ci job

  • zink: add khr46 to ci

  • aux/primconvert: handle singular incomplete restarts

  • zink: rework cached fbfetch descriptor fallback

  • lavapipe: add some asserts for descriptor dynamic offsets

  • gallivm: handle TGSI SampleId sysval

  • Revert “gallium/u_blitter: work around broken sample shading in llvmpipe and zink”

  • aux/trace: fix PIPE_QUERY_PIPELINE_STATISTICS_SINGLE tracing

  • aux/trace: support pipe_context::get_query_result_resource

  • aux/trace: trace pipe_screen::is_format_supported better

  • aux/trace: fix vertex state tracing

  • aux/trace: add pipe_context::render_condition_mem

  • zink: set new point/line caps

  • zink: update radv ci passes

  • zink: flatten out draw templates a bit

  • zink: declare int/float size caps inline with type usage

  • zink: simplify 64bit vertex attrib lowering

  • zink: add another compiler pass to convert 64bit vertex attribs

  • zink: add 1DShadow sampler handling for drivers (radv) that don’t support it

  • zink: radv ci updates for 1dshadow stuff

  • zink: implement cs uniform inlining

  • zink: always inline uniforms when running on a cpu driver

  • zink: ci updates

  • zink: be more consistent about applying module hash for gfx pipeline

  • zink: update gfx pipeline shader module pointer even if the program is unchanged

  • aux/primconvert: break out primconvert internals into util function

  • aux/primconvert: support pipe_context::draw_vertex_state

  • zink: stop running discard_if in generated tcs

  • zink: always add VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for 3D images

  • move util/indices to core util

  • mesa: convert unsupported primtypes during display list compilation

  • zink: block suballocator caching for swapchain/dmabuf images

  • zink: set suballocator bo size to aligned allocation size

  • zink: implement pipe_context::draw_vertex_state

  • zink: stop using VK_IMAGE_LAYOUT_PREINITIALIZED for dmabuf

  • zink: always set matching resource export type for dmabuf creation

  • dri2: set dimensions on dmabuf import planes

  • zink: implement multiplanar modifier handling

  • zink: add error for bo allocation failure

  • zink: always use slab allocation placement for domains

  • zink: set zink_resource_object::host_visible based on actual bo placement

  • zink: demote BAR allocations to device-local on oom

  • zink: use IMMUTABLE for dummy xfb buffer

  • zink: fix memory availability reporting

  • zink: fail context creation more gracefully

  • zink: clamp to 500 max batch states on nvidia

  • gallium: add pipe_screen::is_compute_copy_faster hook

  • gallium: rename PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER

  • mesa/st: make sampler_type_for_target public

  • mesa/st: make some pbo functions public

  • gallium: implement compute pbo download

  • aux/pb: add a new slab alloc function for reclaiming all bo objects

  • zink: use pb_slab_alloc_reclaimed(reclaim_all) for BAR heap sometimes

  • zink: enable PIPE_TEXTURE_TRANSFER_COMPUTE on non-cpu drivers

  • zink: explicitly init glsl

  • zink: add a compiler pass to scan for shader image use

  • zink: set batch state queue on creation

  • zink: be consistent about waiting on context queue on context destroy

  • mesa/vbo: be more comprehensive for degenerate primitive conversion in dlists

  • radv: fix xfb query copy param ordering

  • zink: add missing assert for 8bit vertex decompose

  • zink: add some wsi instance extensions

  • zink: always unset vertex shader variant key data when changing last vertex stage

  • zink: add extra synchronization for buffer descriptor binds

  • zink: use device-local heap for sparse backing allocations

  • zink: add a better threshold for clamping query pool resets on suspend

  • zink: always set number of timestamp results to 1 for internal qbo

  • zink: fix availability buffer sizing/copying for xfb queries

  • zink: skip readback of qbos with no results

  • Revert “zink: when performing an implicit reset, sync qbos”

  • zink: use even more accurate stride values for query result copies

  • zink: ci updates

  • zink: add flake

  • aux/trace: copy over stream_output_target_offset method from context

  • util/vbuf: fix buffer translation sizing

  • zink: remove SpvMemorySemanticsMakeVisibleMask from nir_intrinsic_memory_barrier

  • zink: add some nv ci results

  • aux/trace: add pipe_context::fence_server_signal tracing

  • zink: update gfx_pipeline_state.vertex_strides when necessary

  • zink: check EXT_image_drm_format_modifier for dmabuf support

  • Revert “zink: update gfx_pipeline_state.vertex_strides when necessary”

  • zink: add VK_KHR_external_semaphore_fd to device exts

  • zink: add VK_KHR_external_memory_capabilities to instance exts

  • zink: add driver/device uuid screen hooks

  • zink: implement GL semaphores

  • zink: implement external memory object resource handling

  • zink: enable EXT_external_objects pipe caps

  • util: add ptralloc

  • lavapipe: replace hard pointer calcs in dynamic render with ptralloc

  • lavapipe: replace hard pointer calcs in push descriptors with ptralloc

  • zink: update nv ci baseline

  • zink: add deqp ci baseline for nv

  • lavapipe: fix ptralloc typo

  • zink: add get_sparse_texture_virtual_page_size hook

  • zink: set up image create bits for sparse textures

  • zink: support sparse texture range commits

  • zink: allow sparse buffers to be suballocated

  • zink: stop allocating such massive staging regions for buffer maps

  • zink: fake sparse R9G9B9E5 support as needed

  • zink: implement sparse shader instructions in ntv

  • zink: always set actual_dest_type for ntv tex instruction emission

  • zink: handle residency return value from sparse texture instructions

  • zink: rename zink_so_info -> zink_shader_info

  • zink: always pass shader info to ntv

  • zink: add nir_intrinsic_image_deref_sparse_load to image scanning in compiler

  • zink: only allocate ntv residency info if it will be used

  • zink: emit sparse residency cap in ntv

  • zink: handle min_lod texture operands

  • zink: batch sparse texture binds

  • zink: handle sparse texture miptail commits

  • zink: enable ARB_sparse_texture pipe caps

  • zink: ARB_sparse_texture2

  • docs: add features/relnotes for zink sparse texture support

  • zink: fix non-modifer dmabuf usage

  • zink: link with vulkan utils

  • zink: hook up planar image format creation

  • vulkan/wsi: add VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT for swapchain image caps

  • lavapipe: remove unused struct member

  • zink: update nv fails

  • zink: update radv fails list

  • zink: never use SpvOpImageQuerySizeLod for texel buffers

  • zink: add anv (icl) fails

  • zink: handle bogus xfb draws

  • zink: reorder fbfetch flag-setting to avoid null deref

  • zink: return 256 for PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT

  • anv: silence wsi debug logging

  • zink: unify some context casts in zink_create_sampler_view

  • zink: emit same number of timeline signals as semaphore signals

  • zink: flag has_work when a GL semaphore is signalled

  • zink: allow resource creation without VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT

  • zink: use VkImageViewUsageCreateInfo to remove attachment bits

  • zink: always create a separate VkBuffer for storage use

  • zink: use the storage buffer for bufferview creation when format allows

  • zink: flag all buffer resources with PIPE_BIND_SHADER_IMAGE

  • zink: simplify buffer case for zink_resource_object_init_storage()

  • zink: remove tmp buffer rebinds

  • aux/tc: add tc_buffer_write to replace pipe_buffer_write usage

  • zink: fix vertex buffer mask computation for null buffers

  • zink: replace qbo pipe_buffer_write usage with tc_buffer_write

  • zink: replace other pipe_buffer_write usage with pipe_buffer_write_nooverlap

  • zink: make pipe_buffer_write usage trigger compiler errors

  • zink: ci updates

  • zink: clamp tbo creation to maxTexelBufferElements

  • zink: add vertex shader pipeline bit for generated barrier construction

  • zink: print an error when the device is lost

  • zink: fix waiting on current batch id

  • zink: handle swizzled offset/count values for shader bitfield ops

  • zink: enable VK_EXT_shader_atomic_float

  • zink: add warning printf for drivers missing VK_EXT_shader_atomic_float

  • zink: cast image atomic op params/results based on image type

  • zink: use SpvScopeDevice over SpvScopeWorkgroup for atomic shader ops

  • aux/vbuf: use local var for modifying unaligned_vb_mask during update

  • aux/vbuf: move mask-clearing for vbuf updates after buffer scanning

  • aux/vbuf: add fastpath for skipping identical vbuf updates

  • mesa: stop truncating MESA_GLSL=dump

  • zink: ARB_sparse_texture_clamp

  • docs: update features/relnotes for zink sparse texture clamp

  • zink: disable PIPE_SHADER_CAP_FP16_CONST_BUFFERS

  • llvmpipe: disable PIPE_SHADER_CAP_FP16_CONST_BUFFERS

  • zink: add VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT for query binds

  • zink: use scanout obj when returning resource param info

  • zink: fix PIPE_CAP_TGSI_BALLOT export conditional

  • zink: reject invalid draws

  • zink: min/max blit region in coverage functions

  • aux/draw: fix llvm tcs lane vec generation

  • lavapipe: use util_pack_color_union() for generating clear colors

  • zink: ci updates

  • lavapipe: ci updates

  • zink: always set VkPipelineMultisampleStateCreateInfo::pSampleMask

  • zink: always invalidate streamout counter buffer if not resuming

  • zink: ci updates

  • zink: fix cached descriptor set invalidation for array bindings

  • zink: free push descriptor pools on deinit

  • zink: don’t free non-fbfetch dsl structs when switching to fbfetch

  • gallivm: avoid division by zero when computing cube face

  • zink: always update shader variants when rebinding a gfx program

  • zink: use a fence for pipeline cache update jobs

  • zink: wait on program cache fences before destroying programs

  • zink: fix descriptor cache pointer array allocation

  • zink: mark fbfetch push sets as non-cached

  • zink: stop leaking descriptor sets

  • zink: invalidate non-punted recycled descriptor sets that are not valid

  • zink: set shader key size to 0 for non-generated tcs

Mike Lothian (1):

  • meson: Fix dri.pc dridriverdir

Mykhailo Skorokhodov (3):

  • iris: Add missed tile flush flag

  • Revert “iris: add tile cache flush to iris_copy_region”

  • nir: Fix read depth for predecessors

Nanley Chery (82):

  • iris: Convert some mod_info checks to asserts

  • iris: Disable the MC_CCS modifier with norbc

  • iris: Set DISABLE_AUX_BIT for AUX_USAGE_NONE modifiers

  • iris: Refactor the assignment to possible_usages

  • intel/isl: Allow creating non-Y-tiled ASTC surfaces

  • iris: Allow GPU-based uploads of ASTC textures

  • anv: Require transfer features for transfer usages

  • anv: Allow transfer-only linear ASTC images

  • anv: Drop code from get_blorp_surf_for_anv_buffer

  • intel/isl: Unify fmt checks in isl_surf_supports_ccs

  • iris: Enable CCS_E on 32-bpc float formats on TGL+

  • iris: Drop redundant iris_resource_disable_aux call

  • intel/isl: Restore CCS_E support for YUYV and UYVY

  • iris: Drop the YCRCB cases in finish_aux_import

  • intel/isl: Drop extra devinfo checks for CCS support

  • intel/isl: Require aux map for some 64K alignment

  • intel/blorp: Modify the SKL+ CCS resolve rectangle

  • intel/blorp: Modify get_fast_clear_rect for XeHP

  • iris: Change a param of iris_resource_init_aux_buf

  • iris: Use the aux BO and surf less during init

  • iris: Move some BO setup to iris_resource_init_aux_buf

  • iris: Simplify iris_get_aux_clear_color_state_size

  • iris: Don’t allocate a clear color BO for some Z/S

  • iris: Drop row pitch param from iris_get_ccs_surf

  • iris: Don’t allocate and initialize CCS on XeHP

  • iris: Don’t assert a NULL aux BO during aux config

  • iris: Modify the comment about zeroing CCS

  • iris: Update the initial CCS state on XeHP

  • iris: Free the local cache bucket in bufmgr_destroy

  • iris: Replace bo->real.local with bo->real.heap

  • iris: Add and use flags_to_heap

  • iris: Use a num_buckets pointer in add_bucket

  • iris: Replace “local” with “heap” in bufmgr fn params

  • iris: Add and use BUCKET_ARRAY_SIZE

  • iris: Add and use bucket_info_for_heap

  • iris: Rework the DEVICE_LOCAL heap

  • iris: Disable the SMEM fallback for CCS on XeHP

  • iris: Use util packing fns in convert_clear_color

  • blorp: Drop multisampled code in blorp_can_hiz_clear_depth

  • intel/isl: Rework HiZ image align calculations

  • intel/isl: Update comment for the XeHP HiZ block

  • intel/isl: Use a new HiZ format on XeHP+

  • intel/isl: Require Y-tiling for depth on gfx4-5

  • intel/isl: Allow HiZ with Tile4/64 surfaces

  • intel/isl: Return false more in isl_surf_get_hiz_surf

  • anv,iris: Flush tile cache after color fast clears

  • anv,iris: Depth stall around color fast clears

  • intel: Rename the PSD bit in PIPE_CONTROL for XeHP

  • anv,iris: PSS Stall Sync around color fast clears

  • anv,iris: Flush HDC before color fast clears

  • anv: Don’t fill lowered_storage_image_param on SKL+

  • intel/isl: Don’t check pitch in isl_surf_get_mcs_surf

  • intel/isl: Strengthen MCS SINT format restriction

  • Revert “intel/isl: Don’t reconfigure aux surfaces for MCS”

  • intel/gen125.xml: Increase Auxiliary Surface Pitch

  • intel/isl: Allow creating MCS in Tile4 memory

  • anv: Drop assert against modifier with aux on gfx12

  • anv: Disable CCS_E for some 8/16bpp copies on TGL+

  • anv: Use ANV_FAST_CLEAR_DEFAULT_VALUE for CCS on TGL+

  • anv: Re-enable CCS_E on TGL+

  • anv: Drop redundant disabling of non-renderable CCS

  • anv: Disable the SMEM fallback for local memory

  • anv: Require the local heap for CCS on XeHP

  • anv: Don’t allocate VMA for CCS on XeHP

  • isl: Enable compression with multisampled Tile64

  • iris: Explicitly rely on gallium fallbacks for YUV

  • intel/isl: Support YUV pipe-to-isl format mapping

  • iris: Drop stale media compression import code

  • iris: Use iris_format_for_usage in map_aux_addresses

  • intel: Rename a RenderCompressionFormat field

  • intel/isl: Support the XeHP media compression format

  • iris: Support the XeHP media compression format

  • iris: Refactor a ternary in iris_resource_get_param

  • iris: Pick the right BO in iris_resource_get_param

  • iris: Return non-zero stride for clear color plane

  • intel/isl: Simplify Z-buffer tiling config during emit

  • intel/isl: Fix depth buffer TiledSurface programming

  • intel/isl: Add more PRM text for HiZ/STC requirement

  • iris: Don’t fast clear with the view format

  • Revert “anv: Require the local heap for CCS on XeHP”

  • anv: Refactor anv_image_init_from_create_info

  • anv: Disable aux if the explicit modifier lacks it

Neha Bhende (11):

  • st: Fix 64-bit vertex attrib index for TGSI path

  • st: Fix comments in commit be6d584de43966e

  • svga: Add GL43 commands support

  • svga: Add utility to check for GL43 support

  • tgsi: Add hw_atomic_declared in tgsi_info

  • svga: Add support for compute shader, shader buffers and image views

  • svga: shader translation for compute, image views and shader buffers

  • svga: add GL43 resource validation at draw time

  • svga: enable GL43 on SVGA GL43 capable device

  • svga: enable PIPE_CAP_IMAGE_STORE_FORMATTED on gl43 capable device

  • svga: store shared_mem_size in svga_compute_shader instead of svga_context

Neil Roberts (1):

  • v3d: Update prim_counts when prims generated query in flight without TF

Nicholas Bishop (1):

  • mesa/get: allow NV_pixel_buffer_object constants in GLES2

Niklas Haas (1):

  • wsi/x11: support depth 30 visuals

Omar Akkila (1):

  • llvmpipe: page-align memory allocations

Paulo Zanoni (12):

  • iris: also dump bo’s imported and exported flags

  • iris: destroy our mutexes a little later

  • iris: fix off-by-one error when clearing stale syncobjs

  • iris: call brw_process_intel_debug_variable() earlier

  • iris: extract iris_hw_context_set_unrecoverable()

  • intel/fs: Assert the GPU supports 64bit ops if present at lower_scoreboard time.

  • iris: improve error checking in functions that call vma_alloc()

  • iris: sprinkle some assertions for bufmgr->lock

  • iris: save some iris_syncobj_reference() calls at update_bo_syncobjs()

  • iris: implement inter-context busy-tracking

  • iris: handle IRIS_MEMZONE_BINDER with a real vma_heap like the others

  • iris: fix register spilling on compute shaders on XeHP

Pavel Asyutchenko (6):

  • llvmpipe: fix wrong assumption on FB fetch shader opacity

  • llvmpipe: fix gl_FragColor and gl_LastFragData[0] combination

  • llvmpipe: protect from doing FB fetch of missing buffers

  • llvmpipe: fix FB fetch with non 32-bit render target formats

  • llvmpipe: remove dead args from load_unswizzled_block

  • llvmpipe: enable PIPE_CAP_FBFETCH_COHERENT

Pavel Ondračka (9):

  • r300: Document the RADEON_DEBUG options

  • r300: Replace RADEON_NO_TCL with RADEON_DEBUG=notcl

  • r300: Remove broken optimization in rc_transform_KILL

  • r300: use point sprite coordinates only when drawing points (v5)

  • r300: fix translate_LRP

  • r300: properly initialize new_vs in r300_draw_init_vertex_shader

  • r300: Disable integers and indirect temporary addressing with swctl

  • r300: Set consistent PIPE_SHADER_CAP_PREFERRED_IR

  • r300: fix transformation of abs modifiers with negate

Philipp Zabel (1):

  • etnaviv: fix emit_if in case the else block ends in a jump

Pierre Moreau (1):

  • nv50/nir: Switch to the common NIR options

Pierre-Eric Pelloux-Prayer (57):

  • radeonsi: use viewport offset in quant_mode determination

  • gallium/dri: replace bool with flag parameter

  • gallium/dri: add createImageFromFds2

  • gallium/dri: let the driver know if the imported image is DRI_PRIME buffer

  • radeon_winsys.h: add a parameter to buffer_from_handle

  • winsys/amdgpu: add uncached flag to the imported DRI_PRIME buffer

  • radeonsi/gfx10.3: enable SDMA for DRI_PRIME copies

  • radeonsi: use PIPE_BIND_DRI_PRIME instead of is_dri_blit_image

  • Revert “gallium: add a is_dri_blit_image bool to pipe_blit_info”

  • glsl/drirc: add an option for gl_ClipVertex / gl_CullDistance checks

  • drirc: enable do_dce_before_clip_cull_analysis for ANSA

  • mesa: don’t reset SamplersValidated if nothing changed

  • glsl/nir: mark samplers inside a block as bindless

  • radeonsi: treat nir_intrinsic_load_constant as a VMEM operation

  • ac/surface: use a less strict condition in is_dcc_supported_by_L2

  • radeonsi/sdma: fix bogus assert

  • radeonsi: fix ps_uses_fbfetch value

  • ac/surface: don’t validate DCC settings if DCC isn’t possible

  • vbo/dlist: free copied.buffer if no vertices were copied

  • glx/drirc: add a force_direct_glx_context option

  • mesa: enable force_direct_glx_context for DiscoveryStudio2020

  • llvmpipe: add missing NIR alu-op handling

  • mesa: print a warning when an extension can’t be disabled

  • mesa: don’t use dummy_true for some MESA extensions

  • mesa/init: replace call_once with manual implementation

  • drirc: add mesa_extension_override option

  • drirc: add options for BETA CAE Ansa application.

  • mesa: always call _mesa_update_pixel

  • mesa: remove NEW_COPY_TEX_STATE

  • radeonsi/sqtt: fix shader stage values

  • radeonsi/sqtt: fix FINISH_DONE / BUSY usage

  • radeonsi/sqtt: reserve a vmid when sqtt is enabled

  • radeonsi: unreference framebuffer state after use

  • radeonsi/sqtt: increase the default buffer size to 32MB

  • radeonsi: fix fast clear / depth decompression corruption

  • radeonsi: silence a warning

  • radeonsi: use max_zplanes after the last write

  • glx: fix querying GLX_FBCONFIG_ID for Window

  • radeonsi: don’t use perp. end caps when line smoothing is on

  • glthread: only log glthread destroy reason when it’s not NULL

  • radeonsi/gfx8: use the proper dcc clear size

  • vbo/dlist: fix loopback crash

  • vbo/dlist: add vertices to incomplete primitives

  • amd: add SDMA_NOP_PAD

  • radv: partial sdma support

  • radv: allocate the prime buffer as uncached

  • vulkan/wsi: add use_prime_blit param to wsi_swapchain_init

  • vulkan/wsi: add a private transfer pool to exec the DRI_PRIME blit

  • radv: implement wsi’s private transfer queue using SDMA

  • radeonsi/gfx10: fix si_texture_get_offset for mipmapped tex

  • radeonsi,radv: fix usages of surf_pitch

  • radeonsi/tests: update expected results

  • radeonsi/tests: add expected results for vega20

  • driconf: enable vs_position_always_invariant for Dirt Rally

  • mesa: use less temporaries in build_lighting

  • radeonsi: limit loop unrolling for LLVM < 13

  • radeonsi: change rounding mode to round to even

Qiang Yu (76):

  • driconf: add executable_regexp application attribute

  • drirc: add Mari application workaround

  • xmlconfig_test: add unit test for executable_regexp

  • radeonsi: add radeonsi_force_use_fma32 driconf option

  • driconf: support META application

  • glx/dri3: fix glXQueryContext does not return GLX_RENDER_TYPE value

  • loader/dri3: fix piglit egl-copy-buffer test

  • ci: remove egl-copy-buffers from fail list

  • glx: no need to create extra pixmap for pbuffer

  • glx: check drawable type before create drawble

  • glx: add drawable type argument when create drawable

  • loader/dri3: add drawable type set by GLX and EGL

  • loader/dri3: remove unused present capability query

  • loader/dri3: pack window present event setup into a function

  • loader/dri3: setup present event with drawable type info

  • loader/dri3: replace is_pixmap with drawable type

  • loader/dri3: rename dri3_fake_front_buffer

  • loader/dri3: stop doing anything in swap buffer for some drawable

  • loader/dri3: support glx pbuffer swap

  • glx: fix regression for drawable type detection

  • glapi: should not add alias function to static_data.py

  • gallium: add caps for sparse texture support

  • mesa: add ARB_sparse_texture extension

  • mesa: add ARB_sparse_texture constants

  • gallium: add screen get_sparse_texture_virtual_page_size callback

  • gallium: add get_sparse_texture_virtual_page_size for noop/rbug/trace

  • mesa: add ARB_sparse_texture query in glGetInternalformativ

  • mesa: add ARB_sparse_texture texture param set/get

  • mesa/st: add st_GetSparseTextureVirtualPageSize interface

  • mesa: glTexStorage* support sparse texture allocation

  • mesa/st: add st_TexturePageCommitment interface

  • mesa: implement glTexPageCommitmentARB/glTexturePageCommitmentEXT

  • mesa/st: update NumSparseLevels from pipe_resource

  • winsys/radeon: change surface_init flags to 64bit

  • ac/surface: fix prt_first_mip_tail calculation for gfx9+

  • ac/surface: add prt_tile_depth

  • radeonsi: support alloc a sparse texture

  • radeonsi: use staging buffer for sparse texture when transfer map

  • radeonsi: implement get_sparse_texture_virtual_page_size

  • radeonsi: support texture resource commit

  • radeonsi: enable ARB_sparse_texture

  • nir: fix nir_tex_instr hash not count is_sparse field

  • gallium/dd_debug: add get_sparse_texture_virtual_page_size

  • gallium: add PIPE_CAP_QUERY_SPARSE_TEXTURE_RESIDENCY

  • mesa: add ARB_sparse_texture2 extension

  • mesa/main: relax alignment check when ARB_sparse_texture2 available

  • glsl: add ARB_sparse_texture2 extension

  • glsl: ir_texture support sprase texture

  • glsl: add _texture related sparse texture builtin functions

  • glsl: add _textureCubeArrayShadow related sparse texture builtin func

  • glsl: add _texelFetch related sparse texture builtin function

  • glsl: add sparse texture image load builtin functions

  • glsl: add vec5 glsl types

  • glsl/nir: convert sparse ir_texture to nir

  • glsl/nir: convert sparse image load to nir

  • glsl/nir: adjust sparse texture nir_variable

  • glsl: add sparseTexelsResidentARB builtin function

  • glsl/nir: convert is_sparse_texels_resident to nir

  • radeonsi: lower nir_intrinsic_is_sparse_texels_resident

  • mesa/main: allow multi sample sparse texture

  • mesa/main: export _is_multisample_target for external usage

  • gallium: add multi_sample parameter to get_sparse_texture_virtual_page_size

  • radeonsi: enable multi sample sparse texture support

  • radeonsi: enable ARB_sparse_texture2

  • gallium: add PIPE_CAP_CLAMP_SPARSE_TEXTURE_LOD

  • mesa: add ARB_sparse_texture_clamp extension

  • glsl: add ARB_sparse_texture_clamp extension

  • glsl: ir_texture add clamp field

  • glsl: _texture support clamp parameter

  • glsl: _textureCubeArrayShadow support clamp

  • glsl: add ARB_sparse_texture_clamp builtin functions

  • glsl/nir: convert ir_texture->clamp to nir

  • radeonsi: enable ARB_sparse_texture_clamp

  • radeonsi: workaround Specviewperf13 Catia hang on GFX9

  • radeonsi: fix depth stencil multi sample texture blit

  • glx: fix pbuffer refcount init

Rafael Antognolli (2):

  • intel/compiler: Assert that unsupported tg4 offsets were lowered for XeHP

  • intel: Emit 3DSTATE_BINDING_TABLE_POOL_ALLOC for XeHP

Renato Pereyra (2):

  • anv: Enable implicit CCS for external images

  • anv: add helper methods related to enabling CCS for external images

Rhys Perry (83):

  • radv: Use nir_var_mem_image in meta shaders

  • aco: disable mul(cndmask(0, 1, b), a) optimization sometimes

  • aco: simplify emit_stream_output()

  • radv: don’t use a separate cache entry for GS copy shaders

  • aco: use std::vector and IDSet in RA validator

  • docs: update radv extensions in features.txt

  • nir/algebraic: optimize Cyberpunk 2077’s open-coded bitfieldReverse()

  • nir/lower_system_values: replace local_invocation_id components with zero

  • radv: lower load_local_invocation_index with 1D workgroups

  • aco: optimize load_local_invocation_index with single-wave workgroups

  • aco: consider pseudo-instructions reading exec in needs_exec_mask()

  • aco/spill: use spills_entry instead of spills_exit to kill linear VGPRs

  • radv: make RADV_FORCE_FAMILY case-insensitive

  • radv: fix max_render_backends for Sienna Cichlid null winsys

  • spirv: run nir_copy_prop before nir_rematerialize_derefs_in_use_blocks_impl

  • radv: stop running copy-propagation before nir_opt_deref

  • nir/lower_tex: don’t calculate texture_mask for texture_index>=32

  • nir/lower_subgroups: fix left shift of -1

  • aco: properly update use counts if a extract is still used

  • nir/dce: fix DCE of loops with a halt or return instruction in the pre-header

  • nir/cf: fix insertion of loops/ifs after jumps

  • nir/tests: add DCE test for loops following a jump

  • aco: don’t create DPP instructions with SGPR operands

  • nir/opt_offsets: fix try_extract_const_addition recursion

  • nir/opt_offsets: remove need to loop try_extract_const_addition

  • nir/algebraic: optimize a*#b & -4

  • radv: add radv_meta_init_shader

  • radv: include RT shaders in RADV_DEBUG=shaders,shaderstats

  • radv: clone shader in radv_shader_compile_to_nir

  • radv: initialize workgroup_size in radv_meta_init_shader

  • aco: don’t create unnecessary addition in indirect get_sampler_desc()

  • aco: improve clrx disassembly

  • aco: use more predictable tiebreaker when forming MADs

  • aco: create v_fmamk_f32/v_fmaak_f32 from nir_op_ffma

  • aco: swap operands if necessary to create v_madak/v_fmaak

  • aco: swap multiplication operands if needed to create v_fmac_f32/etc

  • radv,aco: implement nir_op_ffma

  • radv,aco: don’t lower some ffma instructions

  • radv: have the null winsys set more fields

  • aco: fix check_vop3_operands() for f16vec2 ffma fneg combine

  • nir/opt_load_store_vectorize: improve ssbo/global alias analysis

  • nir/algebraic: optimize more 64-bit imul with constant source

  • nir/opt_access: infer CAN_REORDER for global access

  • aco: disallow SMEM offsets that are not multiples of 4

  • aco: skip &-4 before SMEM

  • aco: remove SMEM constant/addition combining out of the loop

  • radv: increase maxTaskOutputCount to 65535

  • nir/lower_shader_calls: fix store_scratch write_mask

  • ac/nir: fix store_buffer_amd write_masks

  • nir/uniform_atomics: fix is_atomic_already_optimized without workgroups

  • aco: remove pack_half_2x16(a, 0) optimization

  • radv: add RADV_DEBUG=splitfma

  • radv: set radv_split_fma=true for Proton SotTR

  • nir/unsigned_upper_bound: don’t follow 64-bit f2u32()

  • aco: use p_extract for SGPR nir_op_unpack_half_2x16_split_y

  • nir: add nir_op_fmulz and nir_op_ffmaz

  • radv,aco,ac/llvm: implement fmulz and ffmaz

  • aco: consider legacy multiplications in optimizer

  • aco: create v_mac_legacy_f32/v_fmac_legacy_f32

  • nir/algebraic: add ignore_exact() wrapper

  • nir/algebraic: optimize open-coded fmulz/ffmaz

  • nir: add some missing nir_alu_type_get_base_type

  • nir/algebraic: optimize expressions using fmulz/ffmaz

  • nir/builder: set write mask if not provided

  • nir/builder: assume scalar alignment if not provided

  • radv: avoid providing a write_mask to intrinsic builders

  • radv: avoid providing an align_mul to intrinsic builders

  • radv: avoid providing an align_offset to intrinsic builders

  • ac/nir: avoid providing a write_mask to intrinsic builders

  • ac/nir: avoid providing an align_mul to intrinsic builders

  • ac/nir: use shorter builder names

  • radv: fix raytracing with wave32

  • radv: use wave32 for raytracing

  • radv: use 8x4 workgroups for wave32 RT

  • radv: fix optimized MSAA copies with suballocated images

  • aco: fix neg(abs(mul(a, b))) if the mul is not VOP3

  • aco: optimize abs(mul(a, b))

  • aco: preserve pass_flags during format conversions

  • aco: fix v_mac_legacy_f32

  • aco: don’t encode src2 for v_writelane_b32_e64

  • radv: fix R_02881C_PA_CL_VS_OUT_CNTL with mixed cull/clip distances

  • anv: Enable nir_opt_access

  • radv: include disable_aniso_single_level and adjust_frag_coord_z in key

Rob Clark (63):

  • freedreno: Fix for large epilogues

  • freedreno/ir3+isa: Cleanup bindless cat5 samp/tex encoding

  • freedreno/isa: Fixes for validation

  • freedreno/ir3/tests: Fix indentation

  • freedreno/ir3/tests: Add additional disasm test vectors

  • freedreno/ir3: Don’t lower s2en if samp/tex is too large

  • isaspec: Fix derived field width

  • isaspec: Do not emit duplicate field encodes

  • isaspec: Add bitfield size assertions

  • freedreno/isa: Add immed reg accessors

  • freedreno/ir3/tests: Don’t skip encode test if decode fails

  • freedreno/ir3/tests: Add some 8/16b ldg/stg tests

  • freedreno/isa: Fix ldg/stg “halfness”

  • freedreno/computerator: Fix mergedregs

  • freedreno/ir3: 64b intrinsic lowering

  • freedreno/ir3: Lower 64b phis

  • freedreno/ir3: Add load/store_global lowering

  • isaspec: Fix gpu_id for default_options

  • freedreno: Skip built-in shaders for clover

  • freedreno/ir3: Handle MESA_SHADER_KERNEL

  • freedreno: implement set_compute_state()

  • freedreno/ir3: vec8+vec16 support

  • freedreno/ir3: implement load_work_dim intrinsic

  • freedreno/ir3: Add support for load_kernel_input

  • freedreno/ir3: Move lower_idiv_options

  • freedreno: Fix set_global_binding

  • freedreno/ir3: Deal with zero-source instructions

  • freedreno/ir3: 16b bools

  • freedreno/ir3: 8bit fixes

  • freedreno/ir3: Fix load/store_global_ir3 type

  • freedreno/ir3: Fix reg size validation

  • freedreno/ir3: Add wide load/store lowering

  • freedreno/ir3: Add ihadd/uhadd

  • freedreno/ir3: Get req_local_mem from pipe_compute_state

  • freedreno/ir3: Fix validation of subgroup macros

  • freedreno/drm: Add some asserts

  • freedreno/drm: Move suballoc_bo to device

  • freedreno/ir3/print: Show end’s outidxs

  • freedreno/ir3: xfb fix for duplicate outputs

  • freedreno: Add PIPE_SHADER_IR_NIR_SERIALIZED support

  • freedreno: caps for clover

  • isaspec: Add prototypes for expr evaluators

  • freedreno/crashdec: Split out mempool decoding

  • freedreno/crashdec: HFI queue decoding

  • freedreno/crashdec: Fallback to chip_id for GPU id

  • freedreno/crashdec: Basing GMU log decoding

  • freedreno/ir3: Handle instr->address when cloning

  • freedreno/computerator: Fix @buf header

  • freedreno/computerator: Mark shader bo for dumping

  • freedreno/ir3: Dump const state with shader disasm

  • clover: Move min image support check

  • freedreno: Report system memory as video memory

  • freedreno: Small dev_id_compare() cleanup

  • freedreno: Rearrange dev_id_compare() logic

  • freedreno: Handle wildcard fuse-id in device matching

  • freedreno: Update chip-ids

  • freedreno/decode: Handle chip-id

  • mesa/st: Lowered ucp should still mark rast state dirty

  • freedreno: Pass shader cache key instead of shader key

  • freedreno: Add FD_DIRTY_RASTERIZER_CLIP_PLANE_ENABLE

  • freedreno/a6xx: Fix clip_mask

  • freedreno/a5xx: Fix clip_mask

  • freedreno: Add missing generated header dependency

Rohan Garg (7):

  • intel/fs: OpImageQueryLod does not support arrayed images as an operand

  • ci: Do not remove libgbm-dev

  • ci: Move common variables out into a separate file

  • ci: Do not remove wget

  • ci/piglit: Start vtest server if driver is set to virpipe

  • anv: Enable VK_VALVE_mutable_descriptor_type

  • docs: Update features and new_features for anv

Roland Scheidegger (1):

  • llvmpipe: adjust rounding for viewport scissoring

Roman Gilg (1):

  • vulkan/wsi/x11: document implementation

Roman Stratiienko (6):

  • android.mk: Add missing variables to the make target

  • v3dv: Fix dEQP-VK.info#instance_extensions test

  • v3dv: Fix V3DV_HAS_SURFACE preprocessor condition

  • v3dv: Hotfix: Rename remaining V3DV_HAS_SURFACE->V3DV_USE_WSI_PLATFORM

  • v3d: Don’t force SCANOUT for PIPE_BIND_SHARED requests

  • v3dv: add Android support

Ruijing Dong (6):

  • frontends/omx: preserve omx to keep current mode for avc decoding

  • frontends/va: preparing to disable h264 extension flag in vaapi dec path

  • radeon/vcn: enable dynamic dpb Tier2 support for h264 dec vaapi path

  • radeon/vcn: enable dynamic dpb Tier2 for hevc dec vaapi path

  • frontend/va: Keep surface buf addr before reallocation

  • radeon/vcn: Updating render_pic_list for correction

Ryan Houdek (1):

  • util/xmlconfig: Allow DT_UNKNOWN files

Ryan Neph (1):

  • venus: ignore framebuffer for VkCommandBuffer executed outside of render pass

Sagar Ghuge (16):

  • intel/compiler: Set correct cache policy for A64 byte scattered read

  • intel/genxml: Add new Primitive ID Not Required bit field to 3DSTATE_DS

  • intel/compiler: Track primitive id in domain/evaluation shader

  • anv: Drop hint if primitive id is required or not

  • iris: Drop hint if primitive id is required or not

  • anv: Pass correct aux usage while filling out surface state

  • anv: Enable CCS for storage image formats

  • intel/compiler: Set correct return format for brw_SAMPLE

  • intel/compiler: Don’t hardcode padding source type to 32bit

  • intel/compiler: Fix instruction size written calculation

  • intel/compiler: Add helper to support half float payload with padding

  • intel/fs: Define and set correct sampler simd mode

  • intel/compiler: Prepare disasm for 16-bit sampler params

  • anv, iris: Implement Wa_14014890652 for DG2

  • intel/genxml: Add L1 Cache Control bit field

  • intel/genxml: Add Un-Typed Data-Port Cache Flush field to pipe control

Sajeesh Sidharthan (1):

  • frontends/va/av1: handle multiple slice params

Samuel Pitoiset (158):

  • aco: do not return an empty string when disassembly is not supported

  • radv: fix removing PSIZ when it’s not emitted by the last VGT stage

  • radv: fix OpImageQuerySamples with non-zero descriptor set

  • radv: do not remove PSIZ for streamout shaders

  • aco: fix invalid IR generated for b2f64 when the dest is a VGPR

  • aco: fix emitting stream outputs when the first component isn’t zero

  • radv: add an assertion to prevent GPU hangs when VRS isn’t supported

  • ac/rgp: remove useless code related to GFX6-7

  • aco: fix loading 64-bit inputs with fragment shaders

  • radv,aco: decouple shader_info/options from radv_shader_args

  • radv: re-emit prolog inputs when the nontrivial divisors state changed

  • radv: remove old RADV_TRACE_FILE warning

  • radv: fix build errors with Android

  • radv: report error messages when the driver can’t be initialized

  • aco: only load streamout buffers if streamout is enabled

  • radv: lower the viewport index to zero when the VGT stage doesn’t export it

  • radv: fix invalid wait_dst_stage_mask type

  • ac/nir: remove bogus assertion about the position for culling

  • zink: add CI lists and deqp-suite configuration for RADV

  • radv: move freeing the trigger SQTT file at a better place

  • radv: remove useless checks about GFX7 for SQTT

  • radv: enable SQTT instruction timing by default

  • radv: stop reporting SQTT/RGP support as experimental

  • docs: document RADV_THREAD_TRACE_* envvars

  • radv: rename radv_shader_variant to radv_shader

  • radv: only enable VK_EXT_display_control for vrcompositor (SteamVR)

  • radv: optimize subpass barrier flushes for imageless framebuffers

  • Revert “radv: only enable VK_EXT_display_control for vrcompositor (SteamVR)”

  • radv: remove unused parameter in radv_emit_subpass_barrier()

  • radv/sqtt: reserve a VMID for better profiling

  • radv/sqtt: stop calling radv_cs_add_buffer() for the thread trace BO

  • radv: do not expose buffer features for depth/stencil formats

  • ac/rgp: fix alignment of code object records to follow the RGP spec

  • radv: only emit PGM_LO for the vertex prolog

  • ac/rgp: add support for queue event timings

  • ac/rgp: add support for clock calibration

  • radv/winsys: use same IBs padding as the kernel

  • zink: update the CI lists for RADV

  • radv/sqtt: fix GPU hangs when capturing from the compute queue

  • ac: add initial SPM support

  • ac/rgp: add support for dumping SPM data

  • radv: fix a sync issue on GFX9+ by clearing the upload BO fence

  • ac/spm: fix determing the SPM wire

  • ac/spm: fix determining the counter slot

  • zink: update the CI lists for RADV

  • zink: skip one GLES31 subset to avoid GPU hangs on Navi10

  • nir: fix constant expression of ibitfield_extract

  • radv: simplify re-using cache entries in radv_pipeline_cache_insert_shaders()

  • radv: disable HTILE for D32S8 format and mipmaps on GFX10

  • util/queue: fix a data race detected by TSAN when finishing the queue

  • radv: allow TC-compat CMASK with storage images on GFX10+

  • radv: ignore the descriptor set layout when creating descriptor template

  • radv: convert remaining enums/structs to 1.2 versions

  • ac: change family names to uppercase in ac_get_family_name()

  • radv/winsys: report the real family name instead of OVERRIDDEN

  • radv: fix emitting VBO when vertex input dynamic state is used

  • radv: make radv_break_on_count() a non-static function

  • radv: make radv_copy_buffer() a non-static function

  • radv: implement optimized MSAA copies using FMASK

  • ac/nir: fix left shift of 1 by 31 places detected by UBSAN

  • radv: fix OOB access for inline push constants detected by UBSAN

  • aco: fix right shift of exponent 32 detected by UBSAN

  • radv: implement vkCmdWriteTimestamp2KHR()

  • radv: implement vkCmd{Reset,Set}Event2KHR()

  • radv: implement vkCmdWriteBufferMarker2AMD()

  • radv: implement vkCmdWaitEvents2KHR()/vkCmdPipelineBarrier2KHR()

  • radv: implement vkQueueSubmit2KHR()

  • radv: add support for VkMemoryBarrier2KHR

  • radv: add support for creating device-only events

  • radv: add support for new pipeline stages and access masks

  • radv: add support for VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR

  • radv: switch the remaining stages/access to VK_PIPELINE_STAGE_2/VK_ACCESS_2

  • radv: advertise VK_KHR_synchronization2

  • radv: fix accessing NULL pointers when destroy the VRS image

  • radv: add a workaround to fix a segfault with Metro Exodus (Linux native)

  • radv: configure the number of SGPRs/VGPRs directly from the arguments

  • radv: copy the user SGPRs locations outside of radv_declare_shader_args()

  • radv: constify radv_shader_info in radv_declare_shader_args()

  • radv/llvm: stop trying to eliminate VS outputs

  • radv/llvm: constify radv_shader_info

  • radv: fix resetting the entire vertex input dynamic state

  • radv: remove never reached free() when compiling shaders

  • radv: add a helper function to upload a shader binary

  • radv: upload shader binaries after they are all compiled

  • radv: pass a pointer to a pipeline for the create/insert cache functions

  • radv: upload shader binaries of a pipeline contiguously in memory

  • radv: move a comment at the right place in CmdBindVertexBuffers2EXT()

  • radv: constify radv_vertex_binding in CmdSetVertexInputEXT()

  • radv: constify radv_vs_input_state() in more places

  • radv: fix dynamic rendering with VRS

  • radv: avoid prefixing few VkXXX structures by struct

  • radv/sqtt: always dump pipelines and shaders ISA

  • radv: add few helpers for configuring performance counters

  • radv: add initial SPM support on GFX10+

  • radv: fix resume/suspend render pass with depth/stencil attachment

  • radv: mark GFX10.3 (aka RDNA2) as conformant products with CTS 1.2.7.1

  • Revert “radv: Add bufferDeviceAddressMultiDevice support.”

  • radv: do not perform depth/stencil resolves for suspended render pass

  • nir/lower_tex: add lower_lod_zero_width

  • radv: enable lower_lod_zero_width

  • radv: fix dynamic rendering inheritance if the subpass index isn’t 0

  • radv: ignore dynamic inheritance if the render pass isn’t NULL

  • radv/winsys: remove useless has_sparse_vm_mappings checks

  • radv/winsys: clear the PRT VA range when destroying a virtual BO

  • radv/winsys: stop using reference counting for virtual BOs

  • radv/winsys: update sparse mappings with OP_REPLACE instead of OP_MAP/OP_UNMAP

  • ac/nir: add an option to disable anisotropic filtering for single level images

  • radv,aco: do not disable anisotropy filtering for non-mipmap images

  • radv: fix dynamic rendering global scissor

  • radv: remove unnecessary NULL checks in vkMapMemory()/vkUnmapMemory()

  • radv/winsys: stop zeroing few structs in buffer_from_fd()

  • radv/winsys: remove radv_amdgpu_winsys_bo::is_shared

  • radv: fix restoring subpass during hw/fs color resolves

  • radv: re-enable fast clears for images that support comp-to-single

  • radv: re-apply “Do not access set layout during vkCmdBindDescriptorSets.”

  • radv: fix clears with value of “1” and different DCC signedness

  • radv: stop checking buffer size in vkCreateBuffer()

  • radv: print number of levels with RADV_DEBUG=img

  • radv: fix copying mutable descriptors to sampler descriptors

  • radv: add drirc radv_disable_htile_layers and enable it for F1 2021

  • aco: fix a dynamic-stack-buffer-overflow when printing instructions

  • aco: do not print prologs disassembly if no disassembler

  • radv,aco: keep track of the prolog disassembly if necessary

  • radv: save the vertex prolog to the trace BO for debugging

  • radv: dump the VS prolog disassembly to the hang report

  • radv: add UMR markers for the vertex prolog

  • radv: do not use the common entrypoint for the Metro Exodus layer

  • radv: remove remaining dead code related to the old sync code

  • radv/winsys: remove unused syncobj functions

  • radv: stop checking if dynamic states changed

  • radv: reset VRS if the current subpass doesn’t have a VRS attachment

  • radv: fix computing the fb size in presence of dynamic VRS attachment

  • radv: only clear VRS_HTILE_ENCODING on GFX10.3+

  • radv: allow to disable anisotropic filtering for single level image with drirc

  • radv: enable radv_disable_aniso_single_level for Battlefield 1 & V

  • radv/winsys: fix zero submit if no timeline semaphore support

  • vulkan/runtime: fix accessing NULL pointers detected by UBSAN

  • radv: fix missing destroy for the overallocation mutex

  • radv: fix computing the number of color samples if no attachments

  • radv: optimize CPU overhead of si_cp_dma_prefetch() slightly

  • radv: disable attachmentFragmentShadingRate for RADV_DEBUG=nohiz

  • radv: fix copying VRS rates to HTILE if the depth/stencil is cleared

  • radv: fix copying VRS rates if the ds attachment uses mips

  • radv/winsys: set GTT_WC flag for CS IBs on GFX6

  • radv: do not restore NULL compute pipelines after meta operations

  • radv: stop checking if pipelines are NULL during draws/dispatches

  • vulkan: Update the XML and headers to 1.3.204

  • radv: implement 1.3 features/properties

  • radv: report textureCompressionASTC_HDR as not supported

  • radv: add a no-op version of vkGetPhysicalDeviceToolPropertiesEXT()

  • radv: switch a bunch of struct/enum to 1.3 versions

  • radv: bump conformance version to 1.3.0.0 for RDNA2

  • radv: advertise Vulkan 1.3

  • radv/ci: mark dEQP-VK.api.version_check.version as expected failure on Stoney

  • radv/winsys: fix missing buffer_make_resident() for the null winsys

  • Revert “radv: re-apply “Do not access set layout during vkCmdBindDescriptorSets.””

  • radv/winsys: fix initializing debug/perftest options if multiple instances

  • radv: enable radv_disable_aniso_single_level for The Evil Within 1&2

Scott Anderson (1):

  • egl/wayland: Remove unused wayland enum

Sergii Melikhov (1):

  • vulkan: Unlock before return.

Shmerl (1):

  • docs/features: Add VK_KHR_acceleration_structure, VK_KHR_pipeline_library, VK_KHR_ray_query, VK_KHR_ray_tracing_pipeline.

Silvestrs Timofejevs (2):

  • egl: introduce a log level getter function

  • egl: add config debug printout

Simon McVittie (1):

  • meson: Try to link all-targets module if Gallium OpenCL is enabled

Simon Ser (4):

  • renderonly: write down usage rules

  • vulkan/wsi/wayland: use enum wl_shm_format

  • vulkan/wsi/wayland: use DRM_FORMAT_INVALID

  • vulkan/wsi/wayland: remove format switch from wl_shm_format_for_vk_format

Stefan Brüns (1):

  • llvmpipe: Add get_{driver,device}_uuid implementations

Tapani Pälli (18):

  • iris: clear bos_written when resetting a batch

  • vulkan/wsi: provide api for drivers to setup syncobj fd

  • radv: setup syncobj fd via wsi_device_setup_syncobj_fd

  • anv: setup syncobj fd via wsi_device_setup_syncobj_fd

  • vulkan/wsi: implement missing wsi_register_device_event

  • anv: allow VK_IMAGE_LAYOUT_UNDEFINED as final layout

  • glsl: fix invariant qualifer usage and matching rule for GLSL 4.20

  • iris: unref syncobjs and free r/w dependencies array for slab entries

  • mesa: free idalloc storage for display lists

  • mesa: free vbo_save_vertex_list store prims

  • mesa: refactor GetProgramiv to use program resource list

  • mesa: move GetProgramInterfaceiv as a shader_query function

  • mesa: change GetProgramiv name length queries to use program resources

  • intel/genxml: add PIPE_CONTROL field for L3 read only cache invalidation

  • anv: invalidate L3 read only cache when VF cache is invalidated

  • iris: invalidate L3 read only cache when VF cache is invalidated

  • iris: fix a leak on surface states

  • mesa/st: always use DXT5 when transcoding ASTC format

Tatsuyuki Ishi (3):

  • aco: support DPP8

  • aco: lower masked swizzle to DPP8

  • radv/sqtt: Add and enable basic EXT_debug_utils support.

Thierry Reding (2):

  • tegra: Use private reference count for sampler views

  • tegra: Use private reference count for resources

Thomas H.P. Andersen (49):

  • nine: remove dead code

  • svga: fix bitwise/logical and mixup

  • meson: drop compatability with < 0.48

  • meson: drop a comment relating to old meson version

  • docs: update the required meson version

  • meson: drop a temp formatting variable

  • ci: clean up debian-clang no-error list

  • gallivm: avoid a self-assign warning

  • ci: debian-clang: drop -Wno-error for self-assign

  • lavapipe: fix implicit-fallthrough warning

  • i915g: fix implicit-fallthrough warning

  • r300: remove a set but not used variable

  • r600: remove a set but not used variable

  • glx: remove a set but not used variable

  • gallium/u_threaded: drop unused function

  • gallium/tgsi_exec: drop unused function

  • draw: drop unused function

  • microsoft/compiler: dxil_nir_opt_alu_deref_srcs: return progress

  • lavapipe: fix string-plus-int warning

  • i915g: avoid left shifting a negative number

  • panvk: use FALLTHROUGH to stop a warning

  • panvk: cast negative value to unint8_t

  • ci: debian-clang: build more drivers

  • tu/clear_blit: use || when working with bools

  • r600/sb: silence a sometimes-uninitialized warning

  • ci: debian-clang: -Wno-error for sometimes-uninitialized

  • zink: malloc/sizeof mismatch

  • xa: fix compile warning for -Wabsolute-value

  • broadcom/compiler: fix compile warning -Wabsolute-value

  • ci: debian-clang: drop -Wno-error=absolute-value

  • replace 0 with NULL for NULL pointers

  • freedreno: silence sometimes-uninitialized warning

  • freedreno: drop dead assignment

  • meson: add check kwarg to run_command

  • ci: clean up debian-android no-error list

  • anv: drop unused label

  • ci: debian-android: drop -Wno-error=unused-label

  • vulkan/vk_extensions_gen: fix -Wextern-initializer warning

  • ci: debian-android: drop -Wno-error=extern-initializer

  • microsoft/compiler: fix -Wbitwise-instead-of-logical warning

  • anv: avoid warning about unused function

  • vc4: drop unused function

  • v3d: avoid warning about unused function

  • v3d: avoid warning about unused function

  • broadcom: drop unused functions

  • panfrost: mark two variables as unused

  • anv: drop a set but unused variable

  • anv: drop a set but unused variable

  • svga: silence -Wsometimes-uninitialized

Thomas Wagner (1):

  • util: use anonymous file for memory fd creation

Thong Thai (8):

  • frontends/va: disable packed header support for h264 encoder

  • frontends/va/enc: hardcode h265 encoder ref pic list size

  • radeon/vcn: increase encoder dpb size

  • frontends/va/enc: allow for frames to be marked as (not) referenced

  • radeon: hardcode uvd/vce encoder not_referenced value to false

  • radeon/vcn: implement encoder dpb management

  • frontends/va/enc: default motion estimation parameters for performance

  • radeonsi: add check for graphics to si_try_normal_clear

Timothy Arceri (16):

  • mesa: fix buffer overrun in SavedObj texture obj array

  • mesa: remove old tnl device driver header files

  • mesa: remove _mesa_ir_link_shader()

  • mesa: make _mesa_associate_uniform_storage() static

  • mesa: remove GLSL IR to Mesa IR code

  • mesa/st: move _mesa_generate_parameters_list_for_uniforms() code to st

  • mesa: move _mesa_ensure_and_associate_uniform_storage() to uniform_query.cpp

  • mesa: tidy up ir_to_mesa.{cpp,h} includes, comments, etc

  • mesa: rename ir_to_mesa.{cpp,h} -> link_program.{cpp,h}

  • mesa: update or remove out of date references to ir_to_mesa

  • doc: update source tree doc to reflect recent classic/swrast deletions

  • util: add dri config option force_compat_shaders

  • util: add workaround for SNK HEROINES Tag Team Frenzy

  • mesa: make struct in gl_program a union and remove FIXME

  • glsl/glcpp: make sure to expand new token after concatenation

  • glsl/st: move st_nir_opts() into gl compiler common code

Timur Kristóf (44):

  • radv: Use MESA_VULKAN_SHADER_STAGES to make room for mesh/task.

  • aco: Fix how p_is_helper interacts with optimizations.

  • nir: Rename nir_get_io_vertex_index_src and include per-primitive I/O.

  • nir: Print Mesh Shader specific info.

  • nir: Fix nir_lower_io with per primitive outputs.

  • nir, spirv: Don’t mark NV_mesh_shader primitive indices as per-primitive.

  • nir: Add new option to lower invocation ID from invocation index.

  • nir: Lower cull and clip distance arrays for mesh shaders.

  • nir: Don’t compact per-vertex and per-primitive outputs together.

  • nir: Group per-primitive outputs at the end for driver location assign.

  • nir: Fix sorting per-primitive outputs.

  • util: Add util_widen_mask function.

  • aco: Use util_widen_mask.

  • radv: Use util_widen_mask.

  • nir: Print task and mesh shader I/O variable names.

  • aco: Clean up and fix quad group instructions with WQM.

  • aco/optimizer_postRA: Fix combining DPP into VALU.

  • aco/optimizer_postRA: Fix applying VCC to branches.

  • spirv: Allow VRS with mesh shaders.

  • gitlab-ci: Disable radv-fossils again.

  • ac/nir/ngg: Lower NV mesh shaders to NGG semantics.

  • radv: Add radv_pipeline_has_mesh helper.

  • radv: Add mesh shader specific info.

  • radv: Cleanup PS input generation.

  • radv: Cleanup VS output param assignment.

  • radv: Add support for per-primitive mesh shader outputs.

  • radv: Setup shader arguments for mesh shaders.

  • radv: Compile mesh shaders and apply the necessary NIR lowerings.

  • radv: Set output driver locations for mesh shaders.

  • radv: Create mesh shading pipelines.

  • radv: Add support for mesh shading pipelines in the command buffer.

  • aco: Add Mesh and Task shader stages.

  • aco: Update README about NGG and mesh shaders.

  • aco: Add 1D workgroup_id support for mesh shaders.

  • aco: Use the correct outinfo for mesh shaders.

  • aco: Export per-primitive mesh shader output attributes.

  • radv: Implement NV_mesh_shader draw calls.

  • radv: Enable NV_mesh_shader with a perftest flag.

  • radv: Note when a mesh shader writes the primitive shading rate.

  • radv: Lower primitive shading rate for mesh shaders.

  • aco: Emit VRS rate when it’s per-primitive.

  • radv: Support VRS for mesh shaders.

  • radv: Disable IB2 on compute queues.

  • ac/nir/ngg: Fix mixed up primitive ID after culling.

Tomeu Vizoso (13):

  • ci: Add support for lazor Chromebooks

  • ci: Let manual LAVA jobs have a longer timeout than others

  • freedreno/ci: Test Turnip on Adreno 618

  • ci: Create symlink to /install early

  • ci: Don’t set GALLIVM_PERF in the scripts

  • virgl/ci: Set GALLIVM_PERF=nopt,no_quad_lod

  • ci: Remove syslogd

  • virgl/ci: Run each dEQP instance in its own VM

  • ci: Uprev Crosvm

  • lvp: Free the driver_data pointer for all commands

  • anv/ci: Test with deqp-vk on Tiger Lake

  • anv/tests: Free BO cache and device mutex

  • ci: Rebalance Iris jobs

Topi Pohjolainen (6):

  • intel/compiler: Handle new sampler descriptor fields for 16bit sampler

  • intel/compiler/fs: Add support for 16-bit sampler msg payload

  • intel/compiler: Demote sampler params to 16-bit for CMS/UMS/MCS

  • intel/compiler: Prepare ld2dms_w for 4 mcs components

  • intel/compiler: Add new variant for TXF_CMS_W

  • intel/compiler: Deprecate ld2dms and use ld2dms_w instead

Uday Kiran Pichika (2):

  • iris: enable adaptive sync for IRIS

  • anv: enable adaptive sync for ANV

Vadym Shovkoplias (3):

  • intel/fs: Fix a cmod prop bug when cmod is set to inst that doesn’t support it

  • anv: Include viewport size in scissor rectangle

  • glthread: Check out of bounds for MultiDrawElementsBaseVertex cmd

Vasily Khoruzhick (14):

  • gallium: add PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS

  • lima: enable PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS

  • lima: add native txp support

  • lima: add support for 3D textures

  • lima: handle 1D samplers

  • lima: add more wrap modes

  • lima/ppir: check if mul node is a source of add node before inserting

  • lima/ppir: implement gl_FragDepth support

  • lima: fix crash with sparse samplers

  • lima: disasm: use last argument as a filename

  • lima: disasm: call util_cpu_detect() to init CPU caps

  • lima: implement dual source blend

  • lima: use 1 as blend factor for dst_alpha for SRC_ALPHA_SATURATE

  • lima: fix blending with min/max ops

Viktoriia Palianytsia (1):

  • glsl: fix for unused variable in glsl_types.cpp

Vinson Lee (17):

  • anv: Fix assertion.

  • radv: Fix memory leak on error path.

  • clover: Add constructor for image_rd_argument.

  • zink: Remove duplicate variable unsized.

  • intel/compiler: Change selected_simd return type to int.

  • intel/compiler: Initialize SIMDSelectionTest member error.

  • vulkan/wsi: Unlock before return on error path.

  • microsoft/spirv_to_dxil: Fix non-Windows build.

  • virgl: Allocate qdws after virgl_init_context to avoid leak.

  • ac/rgp: Initialize clock_calibration with memset.

  • ir3: Make shift operand 64-bit.

  • panfrost: Avoid double unlock.

  • isaspec: Sort field names to generate deterministic output.

  • radv: Fix memory leak on error path.

  • r600/sfn: Remove unused AluInstruction members.

  • isaspec: Remove duplicate return statement.

  • v3dv: Add missing unlocks on errors.

Witold Baryluk (2):

  • zink: Do not access just freed zink_batch_state

  • zink: Fully initialize VkBufferViewCreateInfo for hashing

Xiaohui Gu (1):

  • iris: Mark a dirty update when vs_needs_sgvs_element value changed

Yiwei Zhang (27):

  • dri_interface: remove obsolete interfaces

  • dri_interface: remove gl header

  • venus: refactor private descriptor_set helpers to be private

  • venus: assign valid memoryTypeIndex of exportable ahb memory for image

  • venus: release queues on device creation failure

  • venus: refactor to add vn_device_init

  • venus: refactor to add vn_buffer_init

  • venus: refactor the ahb buffer mem_type_bits query api

  • venus: add struct vn_buffer_memory_requirements

  • venus: add struct vn_image_memory_requirements

  • venus: add buffer cache init and usage flows

  • venus: implement vn_buffer_get_max_buffer_size

  • venus: implement vn_buffer_cache_get_memory_requirements

  • venus: implement vn_buffer_cache_entries_create

  • venus: refactor vn_device_memory_simple_alloc

  • venus: simplify device memory pool alloc and refcount

  • venus: defer roundtrip waiting to vkFreeMemory time

  • venus: track memory type property flags in vn_device_memory

  • venus: move bo allocation for mappable memory to vn_MapMemory

  • venus: subtract appended header size in vn_CreatePipelineCache

  • venus: VkExternalImageFormatProperties is optional

  • tu: VkExternalImageFormatProperties is optional

  • venus: update some obsolete assumptions described

  • venus: track whether a fence is external

  • Revert “venus: remove vn_ring_wait_all”

  • venus: make vn_QueueSubmit async for native submissions

  • venus: properly destroy deferred ahb image before real image creation

Yonggang Luo (2):

  • vulkan: Open registry XML files as UTF-8

  • win32: Fixes thread local on win32 with clang/mingw (!14062)

mwezdeck (1):

  • virgl/drm: New optimization for uploading textures

orbea (1):

  • build: add sha1_h for lp_texture.c

satmandu (1):

  • Fix compilation on armv7l with gcc 11.2.0

shanshengwang (1):

  • radeon/vce: Limiting max supported refernce frames to 1 for h264 encoding