Mesa 24.3.0 Release Notes / 2024-11-21 — The Mesa 3D Graphics Library latest documentation (2024)

Mesa 24.3.0 is a new development release. People who are concernedwith stability and reliability should stick with a previous release orwait for Mesa 24.3.1.

Mesa 24.3.0 implements the OpenGL 4.6 API, but the version reported byglGetString(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. OpenGL4.6 is only available if requested at context creation.Compatibility contexts may report a lower version depending on each driver.

Mesa 24.3.0 implements the Vulkan 1.3 API, but the version reported bythe apiVersion property of the VkPhysicalDeviceProperties structdepends on the particular driver being used.

Changes

Aaron Germuth (1):

  • Add VK_EXT_host_query_reset to guest’s allowed device extensions

Aaron Ruby (15):

  • gfxstream: Advertise VK_KHR_external_semaphore_fd always on Linux/Android guests.

  • gfxstream: logging on Linux guests

  • gfxstream: Fix createResource call for Linux-guest VirtGpu layer

  • gfxstream: translate physicalDevices list in VkPhysicalDeviceGroupProperties to their gfxstream objects

  • gfxstream: Use vk_find_struct for other struct searches in gfxstream_vk_CreateDevice

  • Revert “Reland “Partial revert of aosp/2858589 to avoid Mesa layer for Android””

  • gfxstream: Add “transformList” method for VkFences, in addition to VkSemaphores

  • gfxstream: Clean up VK_KHR_external_memory_fd support for Linux

  • gfxstream: Revert all unnecessary gfxstream_vk_* object types and corresponding translations in functable.

  • gfxstream: Remove VkImage from functable handle translation

  • gfxstream: Change createResource to use stride instead of bpp

  • gfxstream: Switch to using scanout path with native DRM images for Linux WSI

  • gfxstream: Add linearPeerImage for Linux guests, to use for imageLayout queries

  • gfxstream: Add vkCmdPipelineBarrier2 implementation in VkDecoderGlobalState

  • gfxstream: ResourceTracker: Fix bug in return-code check for blob wait

Adam Jackson (8):

  • meson: Introduce the legacy-x11 option

  • glx: Move DRI2 client support behind legacy-x11

  • egl/x11: Move DRI2 client support behind legacy-x11

  • gallium/video: Move DRI2 support behind legacy-x11

  • rusticl: Add clCreateSubDevices stub

  • vtn: Handle SPV_INTEL_optnone

  • rusticl: Enable out-of-order execution

  • glx: Fix the GLX_EXT_swap_control_tear drawable attributes

Aditya Swarup (3):

  • iris: Disable fast clear when surface height is 16k

  • anv: Disable fast clear when surface height is 16k

  • anv: Use RCS engine for copying stencil resource for gfx125

Agate, Jesse (2):

  • amd/vpelib: Refactor structs for API change

  • amd/vpelib: Refactor frontend and backend config callback

Alan Liu (2):

  • amd/vpelib: Amend log for tone map support check

  • amd/vpelib: Remove unused structs

Alejandro Piñeiro (5):

  • v3dv/device: set value for maxInlineUniformTotalSize

  • v3dv: update conformanceVersion to 1.3.8.3

  • v3dv: expose Vulkan 1.3

  • panfrost: add support for DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO on drm-shim

  • panfrost: make DRM version panfrost/panthor conditional on drm-shim

Aleksi Sapon (16):

  • gallivm: Fix LLVMPipe codegen issues discovered on Apple Silicon

  • util: const hash_table for some readonly operations

  • llvmpipe: much faster sample function cache using RCU pointers

  • llvmpipe: half_to_float use LLVM fpext when fp16 is available

  • llvmpipe: improvements to JIT assembly dump

  • llvmpipe: FlameGraph profiling support

  • wsi: Metal support

  • wsi: Fix Metal WSI CAMetalDrawable leak

  • llvmpipe: fix quad group helper invocation masking

  • llvmpipe: correctly implement output variables loads

  • llvmpipe: implement alpha-to-coverage dithering

  • lavapipe: enable alpha-to-coverage dithering

  • llvmpipe: Fix anisotropic sampling aliasing bug

  • llvmpipe: Fix pmin calculation

  • softpipe: Fix anisotropic sampling aliasing bug

  • llvmpipe: update traces for aniso filtering fix

Alessandro Astone (2):

  • egl/gbm: Walk device list to initialize DRM platform

  • panvk: Add missing headers to android platform

Ali Homafar (1):

  • zink: Optimize descriptor buffers struct filling

Alvin Wong (1):

  • hasvk: Conditionally expose VK_KHR_present_wait

Alyssa Rosenzweig (403):

  • vk/meta: add buffer view tracking

  • vk/meta: add VK_IMAGE_VIEW_CREATE_INTERNAL_MESA flag

  • asahi: drop dead code

  • asahi: drop unused patch index buffer lowering

  • asahi: refactor prolog lowering

  • asahi: drop pointless conversion

  • asahi: drop #includes

  • libagx: fix prefix sum kernel

  • asahi: make GS inputs explicit

  • asahi: add TES->compute lowering

  • asahi: split up agx_nir_lower_vs_before_gs

  • libagx: hoist code out of loop

  • asahi: offset buffer images in software

  • ail: constify more arguments

  • ail: add ail_get_level_size_B helper

  • libagx: add statistic increment kernel

  • libagx: mask counters to 32-bit

  • libagx: rework tess i/o

  • hk: add Vulkan driver for Apple GPUs

  • agx: fix ballot extend packing

  • asahi: don’t count helper invs in pipeline stats query

  • nir/opt_uniform_atomics: add fs atomics predicated? flag

  • nir/divergence_analysis: handle AGX stuff

  • agx: add some SRs

  • agx: use opt_uniform_atomics

  • nir/opt_peephole_select: allow speculatable load constant

  • nir: add derivative intrinsics

  • nir/opt_peephole_select: allow derivatives

  • nir/gather_info: handle derivative intrinsics

  • nir/lower_wpos_ytransform: handle intrinsic ddx

  • nir/opt_constant_folding: handle derivative intrinsics

  • nir/divergence_analysis: handle derivative intrinsics

  • nir/instr_set: allow derivative intrinsics

  • nir/schedule: handle derivative intrinsics

  • treewide: use new-style derivative builders

  • vtn: use new derivative builders

  • radv: use glsl function name for dFdxfine

  • amd: switch to derivative intrinsics

  • agx: convert to ddx intrinsics

  • agx: fix clang-format

  • r600: remove 64-bit ddx handling

  • r600: switch to derivative intrinsics

  • dxil: switch to derivative intrinsics

  • broadcom: switch to derivative intrinsics

  • vc4: switch to derivative intrinsics

  • brw: switch to derivative intrinsics

  • elk: switch to derivative intrinsics

  • ir3: switch to derivative intrinsics

  • nir: add nir_shader_alu_pass

  • treewide: use nir_shader_alu_pass

  • nir/lower_alu: use alu_pass

  • nir/scale_fdiv: use alu_pass

  • nir/opt_idiv_const: use alu_pass

  • nir/lower_packing: use alu_pass

  • nir/opt_reassociate_bfi: use alu_pass

  • asahi: fix warning

  • agx: factor out agx_device_key

  • agx: exploit soft fault info

  • hk,asahi: pass through soft fault to VBO lower

  • asahi: optimize out vbo clamp with soft fault

  • hk: optimize bounded loads with soft fault

  • asahi: remove agx_bo::dev

  • asahi: drop segment list parsing

  • asahi: drop mprotect in decoding

  • asahi: drop agx_bo::type

  • asahi: stop fixing up USC addresses

  • asahi: drop iThing logic

  • asahi: always pass align parameter for BOs

  • asahi: introduce agx_va data structure

  • hk: fix BDA alignment

  • asahi,hk: generalize bo_bind hook

  • hk: fix restart index overemit

  • nir,agx: add “active threads in subgroup” intrinsic

  • libagx: add drawIndirectCount clone&patch kernel

  • hk: implement drawIndirectCount

  • hk: fix vkd3d-proton descriptor-performance

  • agx: optimize popcount(ballot(true))

  • agx: handle min_lod sources

  • hk: advertise shaderResourceMinLod

  • hk: advertise more eds features

  • agx: tweak jmp_exec_none heuristic

  • agx: fuse not into if

  • agx: let if-fusing opts interact

  • hk: denouveau

  • hk: advertise KHR_sampler_ycbcr_conversion

  • agx: fix block_image_store indirect ts

  • nir: model AGX explicit coordinate intrinsics

  • nir: add image_block_size_per_thread_agx info

  • agx: plumb imageblock stride

  • agx: allow st_tile in compute shaders

  • agx: handle explicit coordinate tib instructions

  • agx: add a comment about an unknown bit

  • asahi: pack imageblock words for compute

  • asahi: switch to block based compute blitter

  • agx: lower exact frcp

  • elk: fix compute shader derivatives

  • ntt: switch to derivative intrinsics

  • r300: switch to derivative intrinsics

  • pan/bi: switch to derivative intrinsics

  • pan/mdg: convert to derivative intrinsics

  • nak: switch to derivative intrinsics

  • vtn: infer SpvCapabilityLinkage

  • asahi/clc: drop caps list

  • nir/divergence_analysis: handle load_agx

  • nir,agx: make block image store an image() intrinsic

  • agx: support bindless block image store

  • agx: fix wait_pix scheduling with eMRT

  • ail: swallow up formats

  • ail: consider format for compressability

  • ail: clarify metadata buffer calculation

  • ail: add metadata width/height in tile helpers

  • ail: add enums/queries for AGX compression modes

  • asahi/clc: add bindless image intrinsics

  • libagx: add in-place decompression kernel

  • asahi,ail: pull texture view logic into ail

  • asahi,hk: deduplicate txf sampler settings

  • asahi: skip unmapped bo in fault dbg

  • asahi: optimize aligned blits

  • asahi: allow rgb9e5 rendering internally

  • asahi: factor out agx_usc_shared_non_fragment

  • asahi: allow compute blitter to handle rgb9e5 blits

  • asahi: fix fbfetch with eMRT

  • asahi: add agx_fill_decompress_push helper

  • asahi: handle cross-process eMRT

  • asahi: add missing upcast for eMRT MSAA

  • hk: be stricter about formats in copies

  • hk: rework meta for compression

  • hk: prep for block based blitter

  • hk: remove texel buffers from meta

  • hk: fix bg key with eMRT

  • hk: handle compressed eMRT

  • hk: lock device-wide scratch access

  • hk: drop irrelevant comments

  • hk: shrink cmd bo

  • hk: disable submission merging

  • hk: wire up compression

  • lima: set no_integers

  • etnaviv: set no_integers

  • freedreno/a2xx: set no_integers

  • svga: set no_integers

  • virgl: set no_integers

  • nir: use Horner’s method for atan

  • nir: correct comment for atan range reduction

  • nir: simplify atan range reduction

  • nir: push down fabs for atan

  • nir: extend copysign for no-integer hw

  • nir: use copysign for atan

  • nir: simplify atan range reduction fixup

  • nir: negate an expression in atan

  • nir: fuse ffma for atan range fixup

  • nir: push up abs in atan2 calculation

  • nir: drop NaN fixup for atan

  • nir: CSE comparisons in atan2

  • ci: update traces

  • virtio/vdrm: don’t spam

  • tu/virtio: silence startup spam on asahi

  • zink: fix buffer view clamp overflow

  • vulkan: merge driver internal bits

  • vulkan: export vk_robustness_disabled

  • hk: add missing dep

  • ail: pull in DRM modifier helper

  • hk: handle compression modifiers

  • hk: disable mods on funny float formats

  • hk: advertise modifiers

  • hk: switch to vk_meta for buffer copies

  • hk: drop some dead code

  • hk: drop bad comment

  • hk: quiet gcc warning

  • asahi: add tib sample setter helper

  • hk: fix attachmentless multisampling tile sizes

  • hk: ban compression with feedback loops

  • hk: lower memory model

  • agx: pull out the big hammers for device-barriers

  • agx: plumb COHERENT

  • hk: free large_bos

  • hk: don’t leak NIR with VS/GS

  • hk: don’t leak GS rast with rast disc

  • hk: don’t leak GS subparts in an error path

  • libagx: cleanup loop vars

  • libagx: simplify tcs out calc

  • libagx: drop unused arg

  • asahi: fix UB affecting x86 builds

  • asahi: identify factor buffer size

  • asahi/decode: fix ptr casts

  • asahi/virtio: fix ptr cats

  • asahi/virtio: fix allocate-with-alignment

  • agx: fix spilling in i686 builds

  • agx: fix =spill

  • agx: clarify scratch size units

  • agx: allocate scratch in spilling unit test

  • agx: clarify spill lowering math

  • hk: fix weird formatting

  • hk: quiesce gcc uninitialized var warning

  • hk: fix debug cache key

  • hk: fix ptr cast

  • hk: shush gcc warning

  • hk: fix loop submit with NONE

  • hk: fix vertex clustering

  • hk: fix oq availability set

  • hk: fix phi ordering

  • hk: drop dead

  • hk: clarify spilling

  • hk: mutex shader compiles when debugging

  • hk: add notess perftest

  • hk: add noborder perf test

  • hk: soup up =perf

  • hk: optimize empty tiles

  • hk: optimize out empty VDM batches

  • hk: assert batches are nonempty

  • hk: parallelize after-graphics available sets

  • hk: run opt_access

  • nir: add bounds_agx opcode

  • asahi: carveout lower VAs

  • hk: use 0 pointer for 0-sized buffers

  • agx: handle bounds_agx

  • hk: clean up before lowering bounds checks

  • hk: smarten bounds check lowering

  • agx: optimize robust access

  • agx: clean up packs from bounds check

  • asahi/lower_vbo: optimize robustness2

  • asahi: fix speculation of rgb32 loads

  • asahi,hk: disable rgb32 buffer textures

  • asahi: optimize trivial load_invocation_id

  • agx: handle hw tess eval shaders

  • asahi: add tess assert

  • asahi: add nosoft debug

  • agx: increase lower vars to scratch thresh

  • hk: fix =spill with tess

  • agx: add spilling debug helpers

  • agx: fix spilling around exports

  • agx: add helper to pad 16-bit to 32-bit

  • agx: use padding helper

  • agx: factor out reserved_region

  • agx: fix RA shuffling algorithm

  • agx: add helper to visualize reg file

  • asahi/genxml: add nicer error checking

  • asahi: fix AGX_MAX_OCCLUSION_QUERIES

  • asahi,hk: fix st_tile mask size

  • agx: validate phi sources are defined

  • agx: validate sizes are consistent in the IR

  • agx: add pass manager

  • agx: split up optimizer

  • agx: use reserved_size

  • asahi: #define the ABI

  • asahi: move sample mask to r1l

  • agx: quiesche assert with r1l preload

  • agx: fix corner case scratch allocation

  • agx: don’t reserve regs if we won’t use them

  • agx: fix shuffling with large reserved region

  • agx: print pack assertions to stderr

  • agx: don’t propagate constants from trivial phis

  • hk: bump max input/output components

  • agx: expand macro

  • agx: fix backwards copyprop with phis

  • agx: add unit test for tricky backwards phi case

  • hk: fix tess with notess

  • hk: drop dead

  • hk: flush with events

  • agx: gimme c23

  • agx: fix corner with uniform source lowering

  • agx: use reserved_size more

  • agx: commonize reg_to_ssa update

  • agx: factor out insert_copy

  • agx: add another RA torture mode

  • agx: fix shuffling with partial clobbered vector

  • agx: add reg to agx_index

  • agx: reset kill bits in liveness

  • agx: strengthen assert

  • agx: assert a subtle invariant

  • agx: produce regful SSA in RA

  • agx: lower swaps late

  • agx: commonize ra_class

  • agx: fix shuffles of vectors

  • agx: validate RA

  • hk: fix shadowing

  • hk: fix partial EOT program

  • hk: fix ZLS across split CRs

  • hk: add helper to dump draw

  • agx: fix load_first_vertex

  • hk: split out HK_PERFTEST

  • hk: add nobarrier test

  • hk: add =batch perftest

  • hk: add norobust test

  • hk: parametrize sysmem heap fraction

  • hk: reduce heap size

  • asahi: optimize !robustness with soft fault

  • asahi: optimize !robust VBO

  • hk: optimize !robust VBO

  • hk: use vk_meta for compressed MSAA copies

  • hk: fix eMRT decompress of msaa

  • hk: end pregfx even if there’s no gfx

  • hk: fix emrt compressed msaa arrays

  • hk: enable compressed MSAA

  • hk: reformat driconf

  • util,hk: add border colour driconf

  • hk: use real opaque black with integers

  • hk: drop #include

  • hk: perf debug resolves

  • hk: perf debug some meta

  • hk: Reset rendering attachment locations in BeginCommandBuffer/Rendering

  • asahi,hk: implement remapping in epilog

  • hk: advertise KHR_dynamic_rendering_local_read

  • asahi: rm include

  • agx: inline texture states into EOT

  • hk: fix store_op_none

  • hk: support geom/tess subgroups

  • hk: drop FSR todo

  • hk: check arch in pipeline cache

  • hk: fail probing silently

  • hk: drop gunk

  • nir: extract round component helper

  • nir/opt_algebraic: optimize patterns hit with OpenCL

  • util/ralloc: add total_size helper

  • nir: correct comment

  • nir/serialize: fix name

  • asahi: split out genxml header

  • asahi: fix spacing

  • asahi: assume compiler is not stupid

  • asahi: normalize enum formatting

  • asahi: migrate f-strings

  • asahi: fix indentation

  • asahi: cleanup validation

  • asahi: cleanup generate valid

  • asahi: drop extra new line

  • asahi: guard some apple code

  • asahi: guard darwin stuff

  • asahi: fix newlines

  • asahi: add exact fields to genxml

  • asahi: convert to exact

  • asahi: drop trailing

  • asahi: be explicit about LOD clamps

  • asahi: drop zero defaults

  • asahi: drop macOS defaults

  • asahi: drop PBE default

  • asahi: drop fragment face 2 defaults

  • asahi: set exact on some fixed? unknown fields

  • asahi: drop comment

  • asahi: drop comment about blob weirdness

  • asahi: drop dated comments

  • asahi: idetnify Clamp W

  • asahi: set clamp W? explicitly

  • asahi: drop unused default

  • asahi: be explicit about usc reg unk

  • asahi: be explicit about frag properties

  • asahi: automatically set default to encode to zero

  • asahi: drop implied defaults

  • asahi: get rid of default from the XML

  • asahi: make wrapping less silly

  • asahi: don’t do extra runtime validation for exact

  • asahi: defer fixed->float to tess

  • asahi: rm tessellator branch

  • asahi,agx: clang-format

  • agx: split up f16 ops

  • agx: special case mov_imm

  • agx: drop encoding_16

  • agx: encoding_32 -> encoding

  • agx: consistent ffma name

  • asahi: presumably fix indirect indexed tess

  • libagx: extend indirect tess to handle indexed

  • hk: plumb indirect_local

  • hk: add mechanism to test indirects

  • hk: wire up indirect tess

  • hk: drop store_op_dontcare w/a

  • hk: switch to 64-bit queries

  • hk: use push size macro

  • hk: bump max push size

  • asahi: fix no16 flag

  • agx: fix uniform packing with local_load

  • agx: pack agx_cf_binding

  • agx: move binary_size into info

  • hk: fix alpha-to-coverage with sample shading

  • hk: allow tess modes in either stage

  • hk: make tess partitioning dynamic

  • libagx: fix missing statics

  • libagx: don’t rely on loop unroll in txs

  • libagx: drop generated VDM tess path (for now?)

  • libagx: make points mode dynamic

  • libagx: always tessellate clockwise

  • asahi/clc: strip nir

  • asahi: drop unused

  • asahi: pad blit key

  • asahi: use indirect ptr helper more

  • asahi: add the BO even for internal dispatches

  • asahi: fix indirect buffer UAF

  • asahi: fix extremely subtle UAF

  • asahi: assert guard previously-subtle code

  • asahi: don’t leak blit shaders

  • asahi: don’t leak binaries

  • asahi: don’t leak linked shaders

  • asahi: don’t leak drm version

  • nir,agx: lower fmin/fmax in NIR

  • agx: optimize wait_pix a bit

  • agx: negate iadd/imsub constants

  • agx: test immediate packing opt

  • agx: run algebraic later

  • asahi,agx: rework constant promotion upload

  • agx: don’t upload constant padding at the start

  • agx: fold more inots

  • hk: enable constant promotion

  • nir/divergence_analysis: add AGX atomics

  • clc: add mesa_clc tool

  • asahi/clc: ingest spir-v

  • asahi: fix a2c with sample shading, harder

Amber (4):

  • ir3: add encoding support for 64-bit atomics introduced in a7xx.

  • ir3: add support for 64 bit atomics

  • nir: add pass to lower atomic arithmetic to a loop with cmpxchg.

  • tu, ir3: Implement VK_KHR_shader_atomic_int64 for a7xx.

Andrew Woloszyn (2):

  • Added some fixes for zircon tests in the Android CTS.

  • Fix for dynamic rendering.

Anil Hiranniah (1):

  • panfrost: Fix a memory leak in the CSF backend

Antonio Ospite (2):

  • android: simplify building libgallium_dri on Android

  • android: fix build by removing references to dri-search-path

Asahi Lina (9):

  • asahi: Add 1queue debug option

  • asahi: Print queue ID with batch debug

  • asahi: Add more batch debug

  • asahi: Fix non-async flush

  • asahi: Relax cross-context flush

  • asahi: Update to UAPI 10011

  • asahi: Do not sync against our own queue

  • agx: Fix implicit sync for virtgpu

  • agx: Fix queue destroy op for virtgpu

Assadian, Navid (8):

  • amd/vpelib: Change Max DS support to 4:1

  • amd/vpelib: Add API function to get taps

  • amd/vpelib: Fix CS translation for geometric downscaling

  • amd/vpelib: Fix whitepoint for geometric downscaling

  • amd/vpelib: Add 420 semi-planar 12bit handling

  • amd/vpelib: Document public API structures

  • amd/vpelib: Add better rotation and mirror capability check

  • amd/vpelib: Add mirror & rotation capability check function for vpe1.1

Bas Nieuwenhuizen (1):

  • radv: Disable EXT BDA capture and replay.

Benjamin Cheng (1):

  • radv/video: add event support for VCN4

Benjamin Herrenschmidt (1):

  • dril: Fixup order of pixel formats in drilConfigs

Benjamin Lee (6):

  • nvk: implement vkCmdDispatchIndirect on pre-turing

  • panvk: don’t dirty preloaded tiles for writeback

  • panvk: fix combined image/sampler descriptor arrays

  • panvk: allow resuming secondary cmdbufs with dynamic rendering

  • panvk: flush sync point before executing secondary cmdbufs

  • panvk: hack to improve depth clipping with small viewport depth range

Benjamin Otte (2):

  • nvk: Don’t emit critical messages during init

  • pvr: Don’t emit critical warning all the time

Bernhard Rosenkränzer (1):

  • dril: Fix return types of peglInitialize and peglTerminate

Bo Hu (2):

  • goldfish: handle null handle

  • gfxstream: global_state_wrapped_decoding of vkCreateComputePipelines

Boris Brezillon (157):

  • panvk: Adjust RGB component order for fixed-function blending

  • util/hexdump: Squeeze repeated patterns instead of zero-ed chunks

  • panvk: Make sure we emit blend descriptors even if no FS shader is provided

  • pan/genxml: Fix Resource descriptor alignment

  • pan/decode: Select the right registers when dumping local storage descriptors

  • pan/decode: Interpret LOAD_MULTIPLE opcode when decoding a command stream

  • pan/cs: Allow lazy root chunk allocation

  • pan/cs: Provide cs_root_chunk_{gpu_addr,size}() and cs_is_empty() helpers

  • pan/shader: Fix FS varyings.input_count initialization on v9+

  • pan/bi: Support native layer_id store/load on Valhall

  • pan/tex: Allow format reinterpretation on v9+

  • vk/sync: Use the proper type in vk_filter_{src,dst}_access_flags2()

  • nir/format_convert: Promote input to 32-bit before packing integers

  • vk/format: Add missing R10G10B10A2_SINT entry in the pipe -> vk table

  • vk/image: Add a vk_image_buffer_range() helper

  • vk/image: Fix the view extent of uncompressed views of compressed images

  • vk/meta: Let meta users pass the color attachment write mask explicitly

  • panvk: Don’t spam the error output if the device is not for us

  • panvk: Rename the error labels in create_device()

  • panvk: Add missing vk_device_finish() calls

  • pan/texture: Allow uncompressed view of compressed image

  • panvk: Rework the NULL test in panvk_buffer_{gpu_ptr,range}()

  • panvk: Constify the shader pointers in the graphics state

  • panvk: Add helpers to save/restore the compute/graphics state for meta operations

  • panvk: Rework the modifier selection

  • panvk: Switch to vk_meta

  • panvk: Lower load_multisampled_pan

  • panvk: Add support for render-pass resolve operations

  • panvk: Fix depth-stencil AFBC support

  • panvk: Allow compressed formats

  • panvk: Allow ZS formats on 1D/3D images

  • panvk: Lower var copies before lowering IOs

  • panvk/ci: Enable clearing tests

  • panvk: Prepare the blend logic for Valhall

  • panvk: Collect allocated push sets at the command level

  • panvk: Prepare panvk_cmd_pool for CSF

  • panvk: Make panvk_queue_finish() a per-arch function

  • panvk: Allow more descriptor sets on Valhall

  • panvk: Move panvk_debug_adjust_bo_flags() to panvk_device.h

  • panvk: Conditionally register an host address when tracking user memory

  • panvk: Prepare the cmd_desc_state logic for Valhall

  • panvk: Prepare cmd_meta for Valhall

  • pan/cs: Make sure we’re not passed cs_now() to asynchronous instructions

  • pan/cs: Accept val=undef when cs_branch_label() condition is ALWAYS

  • pan/cs: Add helpers to emit match (AKA switch-case) blocks

  • pan/cs: Allow sparse register set passed to loads/stores

  • pan/cs: Add an optional load/store tracker to make sure we don’t omit waits

  • pan/cs: Add inline specifiers to a bunch of cs_ helpers

  • pan/cs: Add a facility to restrict register access

  • pan/kmod: Don’t cap VM bind operations to one

  • pan/desc: Add a struct for valhall/bifrost to the union in pan_tiler_context

  • pan/desc: Make vertex_count a Midgard field

  • panvk: Fix the varying pool label

  • panvk: Kill the set_dirty() macro

  • panvk: Drop the NO_MMAP flag when PANVK_DEBUG=trace

  • panvk: Fix valhall_pack_buf_idx()

  • panvk: Don’t open-code vk_index_type_to_bytes()

  • panvk: Don’t make panvk_device size gen dependent

  • panvk: Make sure push sets are reset when picked from the CommandPool

  • panvk: Prepare the panvk_device logic for CSF

  • panvk: Set the submit mode to THREADED_ON_DEMAND

  • panvk: Move Cmd{Bind,Push}DescriptorSets implementation to cmd_desc_state.c

  • panvk: Move cmd_bind_shaders() to panvk_vX_shader.c

  • panvk: Move CmdPushConstants2KHR to panvk_vX_cmd_push_constant.c

  • panvk: Be robust against allocation failures in a command buffer context

  • panvk: Don’t pretend we can compile for v9

  • panvk: Transition to explicit VA assignment on v10+

  • panvk: Add a read-write non-cached memory pool for CSF events

  • panvk: Add a CSF backend for panvk_queue/cmd_buffer

  • panvk: Advertize v10 support

  • panvk/csf: Fix missing TSD pointer initialization on RUN_IDVS

  • panvk/csf: Fix inverted address/destination register in CmdSetEvent2()

  • pan/va: Accept DIM_SUBPASS[_MS] in valhall_tex_dimension()

  • panvk: Temporarily disable VK_FORMAT_D32_SFLOAT_S8_UINT on Valhall

  • panvk: Fix valhall_pack_buf_idx() for SSBO store/atomic operations

  • panfrost: Emit an SSBO table on v9+

  • nir/lower_ssbo: Add an option to conditionally lower loads

  • nir/lower_ssbo: Extend the load_ssbo_address intrinsic to pass an offset

  • panfrost: Pass the architecture to panfrost_nir_lower_sysvals()

  • pan/va: Optimize SSBO lowering on Valhall

  • panvk/csf: Unconditionally clean L2 and LS caches when closing a CS

  • pan/cs: Fix buffer overflow in cs_block_end()

  • pan/cs: Make sure we don’t overflow the chunk capacity

  • pan/cs: Make sure cs_alloc_ins() is never passed num_instrs=0

  • pan/cs: Make the CS loop helpers more robust

  • pan/cs: Pass the block to end to cs_block_end()

  • pan/cs: Drop the cs_builder::blocks::cur field

  • pan/cs: Don’t use a list for our block stack

  • pan/cs: Add helpers for if/else blocks

  • panvk/csf: Replace a cs_while() by a cs_if()

  • panvk/csf: Pass a non-zero flush-id to benefit from cache flush reduction

  • panvk/csf: Fix TLS pointer copy

  • panvk: Use nir_metadata_control_flow

  • panvk: Lower get_ssbo_size() on Valhall

  • panvk: Pass the robustness state to nir_lower_descriptors()

  • panvk: Hook up descriptor array bounds checking

  • vk/meta: Make sure texel is 32-bit in build_buffer_to_image_cs()

  • panfrost: Don’t turn 3D/cube images into 2D arrays

  • pan/decode: Interpret CS_BRANCH instructions

  • pan/desc: Add layer_offset field to pan_tiler_context::valhall

  • pan/genxml: Fix layer_offset definition on v9+

  • panvk/csf: Fix multi-layer rendering

  • panvk: Protect access to the virtual address heap

  • pan/va: Fix nir_op_pack_uvec4_to_uint

  • pan/genxml: Remove surface descriptors on v6/v7

  • pan/genxml: Fix surface descriptor alignment on v6

  • pan/genxml: Fix resource table alignment constraint on v9

  • pan/kmod: Try to use local storage in panthor_kmod_vm_bind()

  • panvk: Don’t reset errno in panvk_kmod_zalloc()

  • panvk: Stop including pan_blend.h from panvk_device.h

  • panvk: Use the proper alignment for texture payloads

  • panvk: Check allocation failures in panvk_shader_upload()

  • panvk: Report allocation failures in the CreateImageView path

  • panvk: Fix FB initialization when using non-compressed views of compressed images

  • panvk: Fix stencil attachment resolve on JM

  • panvk/v10: Add missing cleanup_queue() in queue_finish()

  • panvk: Don’t call queue_finish() on non-initialized queues

  • panvk: Don’t leak vertex shader program descriptors

  • panvk: Let panvk_priv_bo_create() return a VkResult

  • panvk: Catch indirect allocation failures

  • panvk: Make sure RUN_IDVS has a valid tiler descriptor

  • panvk: Fix bounds checking in upload_shader_desc_info()

  • panvk/csf: Fix prepare_vp() when viewport->x is negative

  • panvk: Advertise KHR_create_renderpass2 support

  • vk/meta: Fix buffer -> image copy using a graphics pipeline

  • zink: Adjust the surface size of non-compressed views

  • vk/image: Fix the extent adjustment of non-compressed views

  • vk/meta: Support VkShaderExt objects to allow tracking internal shaders

  • vk/meta: Allow tracking of driver-specific objects in the meta list

  • vk/meta: Make some helpers public

  • panvk: Add a debug flag to force image copies through the gfx pipeline

  • panvk: Add an helper to create internal shaders

  • panvk: Keep our blend shaders in vk_meta_device

  • panvk: Keep our copy_desc shader in vk_meta_device

  • panvk: Emit textures needed for FB preload at image view creation time

  • panvk: Store attachment image views in the graphics state

  • panvk: Implement a custom FB preload logic

  • panfrost: Move pan_blitter.{c,h} to the gallium driver

  • panvk: Make panvk_pool_free_mem() error proof

  • panvk/csf: Fix no-fragment IDVS

  • panvk/csf: Fix dirty checking in prepare_ds()

  • panvk/csf: Fix cmd_emit_dcd() in the FB preload logic

  • panvk/csf: Fix a buffer/stack-overflow when PANVK_DEBUG=sync

  • panvk: Advertise dynamic rendering support

  • panvk/csf: Fix the clear-only RUN_FRAGMENT case

  • pan/util: Discard depth/stencil writes when early fragment test is forced

  • panvk: Set .is_blit=true when compiling preload shaders

  • panvk: Fix the ZStencil descriptor initialization in the preload logic

  • panvk: Fix the hierarchy_mask selection

  • panvk: Fix the maximum sampler LOD bias

  • pan/va: Don’t set bit 26:27 on texture instructions

  • pan/va: Add support for nir_texop_lod

  • pan/bi: Add support for nir_texop_lod

  • pan/desc: Fix the CRC validity update when clean tiles are not written

  • pan/cs: Fix lazy allocation support

  • pan/bi: Expose the packed TextureOperationDescriptor in bifrost_texture_operation

  • panvk/csf: Fix a wait-LS operation in finish_cs()

Boyuan Zhang (3):

  • frontends/va: get cu_qp_delta from vaapi

  • radeonsi/vcn/enc:enable hevc cu_qp_delta for vcn2+

  • radeonsi/vcn: fix loop filter across slices

Brendan (5):

  • amd/vpelib: Create virtual stream concept

  • amd/vpelib: Multiple instance support in caching framework

  • amd/vpelib: Update configs to be per-pipe specific

  • amd/vpelib: Visual confirm on input

  • amd/vpelib: Fix duplicate config writer bug

Caio Oliveira (91):

  • intel/brw: Simplify @file annotations

  • intel/brw: Move remaining compile stages to their own files

  • intel/brw: Move and reduce scope of run_*() functions

  • intel/brw: Reduce scope of some VS specific functions

  • intel/brw: Reduce scope of some FS specific functions

  • intel/brw: Reduce scope of some GS specific functions

  • intel/brw: Reduce scope of some TCS specific functions

  • intel/brw: Reduce scope of some TES specific functions

  • intel/brw: Reduce scope of some MESH specific functions

  • intel/brw: Move printing functions to its own file

  • intel/brw: Move out of fs_visitor and rename print instructions

  • intel/brw: Remove workgroup_size() helper from fs_visitor

  • intel/brw: Move regalloc and scheduling functions out of fs_visitor

  • intel/brw: Move calculate_cfg out of fs_visitor

  • intel/brw: Move VARYING_PULL_CONSTANT_LOAD from fs_visitor to fs_builder

  • intel/brw: Move interp_reg and per_primitive_reg out of fs_visitor

  • intel: Let compiler set indirect_ubos_use_sampler

  • intel/brw: Don’t retype load_subgroup_invocation result to signed

  • intel/brw: Use CSE for LOAD_SUBGROUP_INVOCATION

  • meson: Update Lua dependency version to 5.3

  • intel/brw: Also return the size of the assembled shader

  • intel: Add executor tool

  • intel/executor: Use PRIx64 to fix building in 32-bit

  • intel/brw: Use %td format for pointer difference

  • meson: Only use fallback for Lua if building freedreno tools

  • intel/brw: Avoid modifying the shader in assign_curb_setup if not needed

  • intel/brw: Remove unused variable

  • intel/brw: Use a helper for common VEC pattern

  • intel/brw: Remove more uses of variable length arrays

  • intel/brw: Move encoding of Gfx11 3-src inside the inst helpers

  • intel/brw: Explicitly map brw_reg_file into hardware values

  • intel/brw: Make BAD_FILE the zero value for brw_reg_file

  • intel/brw: Remove unused ARF values and helpers

  • intel/brw: Remove long register file names

  • intel/brw: Pack brw_reg struct

  • intel/brw: Simplify fs_inst annotation

  • intel/brw: Remove special treatment for 2-src in emit() helper

  • intel/brw: Use linear walk when shader requires DERIVATIVE_GROUP_LINEAR

  • intel/executor: Fix SWSB for sync.nop

  • compiler: Allow derivative_group to be used for all stages in shader_info

  • vk/runtime: Allow “require full subgroups” for Mesh/Task

  • intel/executor: Small fixes to the help message

  • spirv: Rename vtn_type::deref to vtn_type::pointed

  • spirv: Remove (pointed) type from vtn_pointer

  • spirv: Rename vtn_pointer::ptr_type to vtn_pointer::type

  • vulkan: Update XML and headers to 1.3.295

  • spirv: Update headers and metadata from latest Khronos commit

  • spirv: Prefer symbols from Khronos extension for compute shader derivatives

  • nir: Allow Mesh/Task to use implicit LOD when DERIVATIVE_GROUP is set

  • spirv: Allow Mesh/Task to use derivative execution modes

  • anv: Advertise VK_KHR_compute_shader_derivatives

  • intel/executor: Fix a couple of memory leaks in the tool

  • intel/brw: Only validate GRF boundary crossing restriction for GRFs

  • intel/brw: Consider pipe when comparing SWSB in tests

  • intel/brw: Add SWSB MATH pipe to assembler

  • intel/brw: Add DUMP flag to brw_assemble

  • intel/executor: Dump both pre-processed source and assembly

  • intel/brw: Skip per-primitive inputs when computing flat input mask

  • intel/brw: Remove Gfx8- from test_eu_validate.c

  • intel/brw: Update DPAS validation tests for Xe2

  • intel/brw: Enable EU validation and compaction tests for Xe2

  • intel/brw: Enable mi_builder test for Xe2

  • spirv: Update SPIR-V grammar to use aliases

  • intel/brw: Add ERROR helper variant that returns to EU validation

  • intel/brw: Create a struct to hold a decoded brw_inst in eu_validation

  • intel/brw: Add opcode to brw_hw_decoded_inst

  • intel/brw: Add num_sources to brw_hw_decoded_inst

  • intel/brw: Add has_dst to brw_hw_decoded_inst

  • intel/brw: Add exec_size to brw_hw_decoded_inst

  • intel/brw: Add access_mode to brw_hw_decoded_inst

  • intel/brw: Add dst/srcs reg file to brw_hw_decoded_inst

  • intel/brw: Add dst/srcs type to brw_hw_decoded_inst

  • intel/brw: Add pred/cmod/sat to brw_hw_decoded_inst

  • intel/brw: Add dst/src0 address_mode to brw_hw_decoded_inst

  • intel/brw: Add abs/negate to brw_hw_decoded_inst

  • intel/brw: Add dst/srcs register numbers to brw_hw_decoded_inst

  • intel/brw: Add vstride/width/hstride to brw_hw_decoded_inst

  • intel/brw: Remove the remaining DO_SRC macro from EU validation

  • intel/compiler: Rename shader_stats structs

  • intel: Add statistic for Non SSA registers after NIR to BRW

  • intel/brw: Print Non-SSA regs after NIR in debug output

  • intel/brw: Fix Gfx9 3-src validation to handle FIXED_GRF

  • intel/brw: Add phases to backend

  • intel/brw: Validate some instructions exists only up until some phases

  • intel/brw: Reduce scope of has_source_and_destination_hazard

  • intel/brw: Add SHADER_OPCODE_REDUCE

  • intel/brw: Add SHADER_OPCODE_*_SCAN

  • intel/brw: Move emit_scan/emit_scan_step near its usage

  • intel/brw: Add fs_builder::BROADCAST() helper

  • intel/brw: Ensure BROADCAST() value respect register alignment

  • intel/brw: Add SHADER_OPCODE_VOTE_*

Carlos Santa (2):

  • intel/hang_replay: fix the typo in the ioctl call

  • intel/hang_replay: remove EXEC_OBJECT_WRITE

Casey Bowman (5):

  • vulkan/screenshot-layer: Add Vulkan screenshot layer

  • vulkan/screenshot-layer: Fix image index selection

  • vulkan/screenshot-layer: Increase buffer sizes

  • vulkan/screenshot-layer: Fix memory leaks

  • vulkan/screenshot-layer: Remove extraneous malloc operations

Chan, Roy (2):

  • amd/vpelib: Fix compilation warnings

  • amd/vpelib: Revise the config sharing handling

Chang, Tomson (2):

  • amd/vpelib: Add and fix collaborate sync data

  • amd/vpelib: Fix color fill performance issue on VPE1.1 (#419)

Charmaine Lee (1):

  • svga: sync up with the latest svga include files

Chenyu Chen (1):

  • amd/vpelib: Remove unused define macro

Chia-I Wu (32):

  • panvk: remove unused panvk_physical_device::master_fd

  • panvk: refactor panthor_kmod_dev creation

  • panvk: query device ids of drm device nodes

  • panvk: advertise VK_EXT_physical_device_drm

  • panvk: fill in VkExternalBufferProperties

  • panvk: fill in VkExternalImageFormatProperties

  • panvk: remove panvk_GetPhysicalDeviceImageFormatProperties

  • panvk: advertise VK_KHR_external_memory_fd

  • panvk: advertise VK_EXT_external_memory_dma_buf

  • panvk: advertise VK_KHR_external_{fence,semaphore}_fd

  • panvk: remove panvk_GetImageDrmFormatModifierPropertiesEXT

  • panvk: fix VkDrmFormatModifierPropertiesListEXT query

  • panvk: check VkPhysicalDeviceImageDrmFormatModifierInfoEXT

  • panvk: advertise VK_KHR_image_format_list

  • panvk: advertise VK_EXT_image_drm_format_modifier

  • panvk: remove unused is_sampler and is_texture

  • panvk: fix descriptor set layout hash

  • panvk: fix texture size/levels/samples query

  • panvk: fix gl_VertexIndex

  • panvk: fix scissor box

  • panvk: disable depth write when depth test is disabled

  • panvk: remove an incorrect assert in collect_cs_deps

  • Revert “panvk: Set the submit mode to THREADED_ON_DEMAND”

  • panvk/jm: assert that the submit mode is not threaded

  • panvk: add support for VK_KHR_timeline_semaphore

  • panvk: fix truncated access flags in collect_cs_deps

  • panvk: expand meta stage and access flags

  • panvk: use force_fb_preload for unaligned preload

  • panvk: force_fb_preload should insert a barrier

  • panvk: fix missing same-subqueue wait for CmdWaitEvents2

  • panvk: fix dummy sampler handle for vs

  • panvk: ensure res table is restored after meta

Christian Gmeiner (70):

  • etnaviv: isa: left shift is 3 bit long

  • dri: fix driver names

  • etnaviv: Rework uniform handling for UBO addresses

  • meson: Add missing inc’s to idep_nir_headers

  • nir_lower_mem_access_bit_sizes: Support load_kernel_input

  • ci: austriancoder farm maintenance

  • nak: Move bitset to compiler crate

  • nak: Move cfg to compiler crate

  • etnaviv: Move halti determination to drm

  • etnaviv: Switch etna_compiler_create(..) to etna_core_info

  • etnaviv: Extend shader structs with etna_core_info

  • etnaviv: Drop halti from etna_specs

  • etnaviv: isa: Add conv instruction

  • etnaviv: Drop has_sin_cos_sqrt and has_sign_floor_ceil

  • etnaviv: Switch to shader_core_count from etna_core_info

  • etnaviv: Switch to vertex_cache_size from etna_core_info

  • etnaviv: Switch to vertex_output_buffer_size from etna_core_info

  • etnaviv: npu: Switch to use etna_core_info

  • etnaviv: npu: Drop not used spec values

  • etnaviv: Switch to num_constants from etna_core_info

  • etnaviv: Switch to max_registers from etna_core_info

  • etnaviv: Switch to stream_count from etna_core_info

  • etnaviv: Switch to etna_core_has_feature(..) for npot_tex_any_wrap

  • etnaviv: Switch to etna_core_has_feature(..) for has_halti2_instructions

  • etnaviv: Drop assignment of get_timestamp

  • broadcom/simulator: Add support for asahi based systems

  • compiler/rust: Copy MappedInstrs from NAK

  • etnaviv: Update headers from rnndb

  • etnaviv: nir: Make use of nir_lower_fragcolor

  • etnaviv: Report number of render targets

  • etnaviv: nir: Make use of reported number of render targets

  • etnaviv: Call etna_resource_level_mark_changed(..) for all rts

  • etnaviv: Extend frag_rb_swap for MRTs

  • etnaviv: Extend compiled_shader_state for MRTs

  • etnaviv: Extend compiler for MRTs

  • etnaviv: Extend etna_record_flush_resources(..) for MRTs

  • etnaviv: Extend etna_update_blend_color(..) for MRTs

  • etnaviv: Extend etna_update_zsa(..) for MRTs

  • etnaviv: Extend etna_set_framebuffer_state(..) for MRTs

  • etnaviv: Extend etna_update_ts_config(..) for MRTs

  • etnaviv: Emit MRT states

  • etnaviv: Emit PS_OUTPUT_REG2 if num_rt is 8

  • etnaviv: blend: Store information per render target

  • etnaviv: blend: Move logicop_enable assignment

  • etnaviv: blend: Add support for MRTs

  • etnaviv: blt/rs: Just pass the color to the callee

  • etnaviv: rs: Extend to support MRTs

  • etnaviv: blt: Extend to support MRTs

  • etnaviv: shader: Apply output remapping

  • etnaviv: shader: Apply output saturation

  • etnaviv: Relink shader when framebuffer state changed

  • etnaviv: TS usage for MRT needs HALTI2

  • etnaviv: Limit max supported render targets

  • etnaviv: Report correct PIPE_CAP_MAX_RENDER_TARGETS value

  • etnaviv: Enable EXT_draw_buffers2 for HALTI5+

  • etnaviv: Enable ARB_draw_buffers_blend for HALTI5+

  • etnaviv: Improve split sampler check

  • etnaviv: blt: Convert assert to real if

  • etnaviv: Implement ARB_draw_indirect

  • v3d: Add a few function traces

  • vc4: Add a few function traces

  • docs: Update the list of drivers with CPU tracepoints

  • etnaviv: nir: Enforce stricter swizzle for virtual scalar x register

  • etnaviv: nir: Switch to derivative intrinsics

  • compiler/rust: Copy NirInstrPrinter from NAK

  • etnaviv: isa: Add clamp0_max instruction

  • etnaviv: isa: Add img_load instruction

  • etnaviv: Enable ARB_framebuffer_no_attachments

  • etnaviv: isa: Add img_store instruction

  • etnaviv: Fix incorrect pipe_nn creation

Colin Marc (2):

  • vulkan/video: set HEVC nuh_temporal_id_plus1 and nal_unit_type correctly

  • radv/video: set TemporalId correctly

Collabora’s Gfx CI Team (10):

  • Uprev Piglit to 4a62c26721a47552a96416a134b789a813dd51a6

  • Uprev Piglit to 0453436872b6e4d502c2e87817addb95e0d77e3b

  • Uprev Piglit to f11abb664bfcad09586f32f411b90331e23be2e5

  • Uprev Piglit to 1d8fab9b49cc487ebcc949119eeb166fb3fa7591

  • Uprev Piglit to 6533b66878c8cb9361c554b7ff940518ab12c816

  • Uprev Piglit to a3826de3c26a279599d15b018a9a3e75ca46f4f8

  • Uprev Piglit to 93b4bd2e0aaab1c22ae3e1a23f9e057a8f7451b2

  • Uprev Piglit to 7ce69da1199d12ed0ddaa251ed489750523798fb

  • Uprev Piglit to 791e420b2628c1e35eea81b3bafdb1c904a141e8

  • Uprev Piglit to c2b31333926a6171c3c02d182b756efad7770410

Connor Abbott (60):

  • egl/x11: pass render fd to screen create for zink

  • freedreno/ci: Combine and document failures due to test bug

  • ci: Move two failing loader-related tests to all-skips.txt

  • ci: Uprev VK-CTS to 1.3.9.0

  • tu: Fix off-by-one in UBO CP_LOAD_STATE size

  • ir3, tu: Use a UBO for VS primitive params on a750+

  • Revert “tu/a750: Disable HW binning when there is GS”

  • ir3: Fix nir_op_vec8/vec16

  • freedreno/computerator: Fix enabling wave128

  • freedreno/a7xx: Document compute dispatch tiling registers

  • freedreno, tu, ir3: Enable tiled workgroup item dispatch on a7xx

  • ir3: Move reconvergence backedge handling

  • tu: Fix passthrough D24S8 attachments

  • tu: Treat partially-bound depth/stencil attachments as passthrough

  • tu: Add a750 flush workaround and re-enable UBWC for storage images

  • freedreno: Rename CP_SET_CTXSWITCH_IB to CP_SET_AMBLE

  • ir3: Increase compute const size on a7xx

  • tu: Initial support for VK_KHR_calibrated_timestamps on a750

  • freedreno/a6xx+: Add CP_CONTEXT_SWITCH_CNTL bitfields

  • ir3: Ban conversions with mismatching sizes

  • Reapply “ci/lima: Temporarily disable”

  • ir3, turnip: Support VK_*_compute_shader_derivatives on a7xx

  • tu: Don’t WFI after initializing RB_CCU_CNTL on a7xx

  • tu: Split out register setting from tu6_init_hw()

  • tu: Write bin size for each bin

  • tu: Re-emit LRZ state before each bin

  • tu: Simplify device startup CS creation

  • tu: Emit CP_SET_AMBLE packets

  • freedreno: Bump kernel uapi

  • tu/virtio: Make virtio_simple_ioctl take a vdrm_device

  • tu: Allow being preempted on a7xx

  • tu: Add TU_DEBUG=hiprio

  • vulkan/state: Handle NULL in DS input attachment mapping correctly

  • vulkan/state: Track the input attachment count

  • v3dv: Don’t misuse nir_variable::data.index

  • spirv: Make the default input attachment index ~0

  • nir/lower_input_attachments: Handle unscaled input attachments with no index

  • ir3: Fix non-bindless s2en texture/sampler order

  • tu: Support color attachment remapping

  • tu: Support dynamic input attachments

  • tu: Make input attachments always contain a real descriptor

  • tu: Fix flushes for feedback_invalidate case

  • tu: Track possible feedback loops for dynamic renderpasses

  • tu: Expose VK_KHR_dynamic_rendering_local_read

  • ir3, tu: Plumb through support for per-shader robustness

  • tu: Implement VK_EXT_pipeline_robustness

  • freedreno/fdl: Extend 2bpp UBWC special case to 1bpp

  • freedreno/a6xx: Remove dead fd6_get_ubwc_blockwidth() call

  • freedreno/fdl: Add UBWC config struct

  • freedreno: Add default UBWC config values

  • virtio/drm: Update header

  • tu: Gather UBWC config

  • freedreno/fdl: Add tiling/untiling implementation for a6xx/a7xx

  • tu: Add a flag for cached non-coherent BOs

  • tu: Implement VK_EXT_host_image_copy

  • freedreno: Add compute constlen quirk for X1-85

  • tu: Implement VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR

  • tu: Don’t invalidate CS state for 3D blits

  • ir3: Fix detection of nontrivial continues

  • tu: Re-emit visibility stream before each render pass

Constantine Shablia (4):

  • vk/meta: Add copy/fill/update helpers

  • pan/va: Define the TEX_GRADIENT instruction

  • pan/va: Lower nir_texop_txd to TEX_GRADIENT with derivs followed by TEX_SINGLE

  • pan/bi: Lower nir_texop_txd to TEXC in GRDESC_DER mode followed by sampling TEXC

Corentin Noël (2):

  • ci: Allow to pass the PIGLIT_RUNNER_OPTIONS variable

  • virgl: Avoid a race condition on handle removal

Craig Stout (18):

  • util: fix fossilize_db compile error

  • util: fix 32bit compiler error in fossilize_db

  • [guest] Check that the singleton VirtGpuDevice matches desired capset

  • Reapply “[guest] Check that the singleton VirtGpuDevice matches desired capset”

  • Fix dispatchable object layout on Fuchsia

  • Exclude Android entry points on Fuchsia

  • [guest] Fix Fuchsia build

  • [guest] Add skeleton Fuchsia VirtGpu implementation

  • [guest] Build fixes for Fuchsia

  • [guest] Fuchsia: include missing Vulkan entry points

  • [guest] Remove Fuchsia syslog_static dependency

  • [guest] Fix Fuchsia build, add missing header

  • [guest] Fuchsia: open magma device

  • [guest] Fuchsia: initialize queries

  • [guest] Fix Fuchsia build

  • tu: add OS guards to drm_format_mod

  • u_gralloc: include dep_android_mapper4 as needed

  • meson: add log dependency to dep_android

Daniel Almeida (6):

  • nouveau/headers: Run rustfmt on generated files

  • nouveau/headers: Add a Rust struct for each method

  • nouveau/headers: Add an nv_push crate in Rust

  • util: memstream: add fflush support

  • nak: memstream: move into common code

  • util: u_memstream: add tests

Daniel Schürmann (55):

  • aco/reindex_ssa: free memory of previous live variable sets

  • aco: implement aco::validate_live_vars()

  • aco/scheduler: enable live variables validation when ACO_DEBUG=validate-livevars is set

  • aco: don’t attempt to spill dead phis

  • aco/cssa: fix kill flags during lowering to CSSA

  • aco: change signature of get_live_changes() and get_temp_registers()

  • aco/cssa: update RegisterDemand and validate live variable information

  • aco/cssa: short-cut some trivial case

  • aco: call nir_copy_prop() and nir_opt_dce() before instruction selection

  • nir: add nir_block *nir_src_get_block(src) helper

  • nir/opt_if: optimize phis between similar IFs

  • nir/opt_if: merge IFs which have phis between them

  • aco/ra: add add_rename() helper

  • aco/ra: avoid rename map lookups in most cases

  • aco/ra: use auto for std container iterators

  • aco/ra: use arena allocator for hash maps

  • aco/live_var_analysis: Don’t attempt to re-insert the same temporary twice into live set

  • aco: introduce new Operand flag ‘Clobbered’

  • aco/live_var_analysis: use Clobbered flag to calculate additional operand demand

  • aco: introduce Operand flag ‘CopyKill’

  • radv: promote VK_NV_compute_shader_derivatives -> VK_KHR_compute_shader_derivatives

  • aco/live_var_analysis: don’t set lateKill for p_interp_gfx11 m0 operand

  • aco: simplify Definition constructors

  • aco/lower_to_hw: don’t allocate new temporaries

  • aco/reindex_ssa: remove update_live_out parameter

  • aco: remove Program::allocationId

  • aco/live_var_analysis: don’t test whether phis are assigned to VCC

  • aco/ra: add RegisterFile::fill_killed_operands(Instruction*) helper

  • aco/ra: manually fill killed operands when required

  • aco/ra: remove unnecessary check for duplicate precolored operands

  • aco: introduce ‘isPrecolored’ flag for Operand and Definition

  • aco: set Precolored flag before register allocation

  • aco/live_var_analysis: check for isPrecolored flag rather than isFixed

  • aco/ra: make use of Precolored flag

  • aco/ra: always block register file for precolored operands

  • aco/live_var_analysis: check isFixed() for definitions in order to set needs_vcc

  • aco/spill: fix faulty assertions

  • aco/spill: use float division for score() calculation rather than integers

  • nir/divergence: separately indicate whether loops have divergent continues or breaks

  • nir/opt_uniform_atomics: don’t preserve divergence information

  • nir: remove nir_update_instr_divergence()

  • nir: change signature of nir_src_is_divergent()

  • treewide: use nir_src_is_divergent() rather than checking the divergence of the SSA

  • nir/divergence: require nir_metadata_block_index

  • nir/divergence: Introduce and set nir_def::loop_invariant

  • nir: consider loop invariance in nir_src_is_divergent()

  • nir/divergence: calculate divergence without requiring LCSSA form

  • nir/divergence: skip expensive nir_src_is_divergent() check in most cases

  • nir/divergence: Don’t assume that LCSSA phis are not loop-invariant

  • treewide: don’t lower to LCSSA before calling nir_divergence_analysis()

  • aco: Respect addressible SGPR limit in VS prologs

  • aco/ssa_elimination: perform jump threading after parallelcopy insertion

  • aco/ssa_elimination: remove some redundant checks during jump threading

  • aco: move jump threading optimization into separate pass

  • aco/README: add descriptions of recently added passes

Daniel Stone (146):

  • build: Check for PyYAML in Meson build

  • dri: Allow INVALID for modifier-less drivers

  • gbm/dri: Remove erroneous assert

  • ci: Create new ‘performance’ stage

  • ci/amd: Move manual/nightly jobs to postmerge stage

  • ci/intel: Move manual/nightly jobs to postmerge stage

  • ci/broadcom: Move manual/nightly jobs to postmerge stage

  • ci/zink: Move manual/nightly jobs to postmerge stage

  • ci/llvmpipe: Move manual/nightly jobs to postmerge stage

  • ci/nouveau: Move manual/nightly jobs to postmerge stage

  • ci/etnaviv: Move manual/nightly jobs to postmerge stage

  • ci/panfrost: Move manual/nightly jobs to postmerge stage

  • ci/run_n_monitor: Add –include-stage argument

  • ci/run_n_monitor: Add –exclude-stage filtering

  • ci/run_n_monitor: Remove –force-manual

  • ci/run_n_monitor: Add –dry-run argument

  • ci: Make per-build dependencies optional

  • doc/llvmpipe: Update URL to fix linkcheck

  • ci/fdno: Add some flaky tests for a618

  • ci/dozen: Add a couple more skips

  • ci/windows: Don’t upload shader cache to artifacts

  • ci/{lvp,venus}: Skip massive-alloc tests

  • intel/tests: Reduce load from anv_tests

  • util/tests: Reduce load from sparse-array test

  • ci/angle: Clean up stray open-coded path

  • ci/lava: Fix path to structured logger

  • ci/lava: Make it easier to run pytest locally

  • ci/lava: Don’t dump venv into .venv

  • ci/lava: Allow passing more args to pytest

  • ci/lava: Fix pytest not passing farm value

  • ci/lava: Fix fastboot tests

  • ci/alpine: Fix shellcheck errors

  • ci: Fix shellcheck warnings in firmware download

  • ci: Bring back yamllint and shellcheck

  • ci: Run pytest once for both LAVA and bin/ci

  • ci: Bring back shader-db and drop LTO

  • ci/intel-gpu-freq: Fix shellcheck warning

  • ci/vulkan: Backport dEQP commit to make it less OOMy

  • ci/lima: Temporarily disable

  • ci: Add Python requirements include

  • ci: Add pyutils container

  • ci/python: Allow empty PYTHONPATH

  • ci/lava: Use new pyutils container

  • doc/llvmpipe: Fix broken link syntax

  • docs/gallium: Fix broken GL extension link

  • doc/linkcheck: Exclude cgit.fd.o

  • doc/vc4: Remove reference to old shader-db

  • ci/windows: Increase dozen-deqp fraction

  • ci/svga: Add two Piglit flakes seen in the wild

  • ci/svga: Only run half the Piglit tests

  • ci/virgl: Special-case llvmpipe parallelisation

  • ci: Avoid subshell for executing HWCI_TEST_SCRIPT

  • ci/bare-metal: Don’t move structured log file

  • ci: Always create results dir from init

  • ci/android: Use common $RESULTS_DIR for cuttlefish

  • ci/deqp: Use common $RESULTS_DIR

  • ci/dxvk: Use common results dir

  • ci/piglit: Use common $RESULTS_DIR

  • ci/trace: Move trace cleanup to Piglit runner

  • ci/gtest: Use common $RESULTS_DIR

  • ci/kdl: Use common $RESULTS_DIR

  • ci/devcoredump: Use common $RESULTS_DIR

  • ci/xorg: Capture Xorg log in results artifacts

  • ci/kdl: Fix KDL install location

  • ci: Upgrade ci-kdl

  • ci: Use new arguments to ci-kdl to avoid child management

  • ci: Make token parsing more robust

  • ci: Make common rules common

  • ci: Make setup-test-env safe for set -u

  • ci/piglit: Make build-piglit safe for set -u

  • ci/deqp: Make build-deqp safe for set -u

  • ci/apitrace: Make build-apitrace safe for set -u

  • ci/va: Make build-va-tools safe for set -u

  • ci/crosvm: Make build-crosvm safe for set -u

  • ci/wayland: Make build-wayland safe for set -u

  • ci/libdrm: Make build-libdrm safe for set -u

  • ci/windows: Make build-directx-headers safe for set -u

  • ci/wine: Make build-wine safe for set -u

  • ci/libclc: Make build-libclc safe for set -u

  • ci/vulkan: Make build-vulkan-validation safe for set -u

  • ci/vkd3d: Make Proton build safe for set -u

  • ci/angle: Make build-angle safe for set -u

  • ci/deqp-runner: Make build-deqp-runner safe for set -u

  • ci/skqp: Make build-skqp safe for set -u

  • ci/skqp: Reorder some things

  • ci/skqp: Don’t hardcode LLVM version

  • ci/kernel: Make download-prebuilt-kernel safe for set -u

  • ci/swrast: Fix library paths for llvmpipe/softpipe

  • ci/swrast: Archive Xvfb logs

  • ci/zink: Fix library path

  • ci/virgl: Fix library path

  • ci/{b2c,swrast,layered}: Strip unnecessary things from runtime containers

  • egl/x11: Downgrade warning to info

  • ci: Disable trace jobs using old Wine

  • ci: Remove non-Proton Wine

  • ci/vk: Strip and optimise validation layers

  • ci: Strip yet more unnecessary things from the rootfs

  • ci/deqp: Flatten fraction/shard sed into a single pass

  • ci/deqp: Compress caselists with zstd

  • ci/angle: Update ANGLE, reduce build times

  • ci: Don’t carry static libraries around for tests

  • ci/shellcheck: Don’t overwrite SCRIPTS_DIR with relative path

  • ci/shellcheck: Don’t exit on first failure

  • ci/python: Fix section emission

  • ci: Don’t move results directory

  • ci: Don’t print structured log data URL

  • ci/lava: Remove pointless messages

  • ci/lava: Quieten timestamp warnings from tar

  • ci/lava: Break section-header print into separate function

  • ci/lava: Add section for device wait

  • ci/lava: Rename lava_boot section

  • ci/lava: Hide more boot details into sections

  • ci/lava: Explicitly pass UTC timezone

  • ci/lava: Truncate printed times

  • ci/lava: Fix colour definitions

  • ci/lava: Be a little less enthusiastic with bold

  • ci/lava: Change default section colour to cyan

  • ci/hw: Wrap pre-test setup in collapsed section

  • ci/lava: Print relative timestamps in sections

  • ci/lava: Coalesce post-processed job information

  • ci/bare-metal: Move preparation steps into section

  • ci/bare-metal: Use section for boot messages from cros-servo

  • ci/bare-metal: Truncate printed times and prefixes

  • ci/bare-metal: Use section for boot messages from poe-powered

  • ci/crosvm: Make crosvm-runner safe for set +u

  • ci/crosvm: Replace SCRIPT_DIR with SCRIPTS_DIR

  • ci/traces: Use sections to quiet execution

  • ci: Quieten post-test cleanup

  • ci: Make section emission really quiet

  • ci: Quieten test execution

  • ci/lava: Source setup-test-env

  • ci/mold: Use appropriate parallelism and strip binaries

  • ci: Really remove Mesa drivers from rootfs

  • ci/firmware: Allow calling firmware as sourced script

  • ci/angle: Use relative paths

  • ci/skqp: Fix relative paths

  • ci: Use sections for test container builds

  • ci/skqp: Set $SKQP_ARCH from build-skqp.sh

  • ci/rpi: Add flakes seen in the wild

  • ci/fdno: Add flake seen in the wild

  • ci/lava: Remove duplicate build download

  • ci/lava: Use LAVA rootfs overlays for build/per-job

  • ci/lava: Provide LAVA rootfs URL directly

  • ci/lava: Provide list of overlays to submitter

  • ci/lava: Refactor is-rootfs-uploaded function

  • build: Don’t run wayland-protocols tests

Daniel Svensson (1):

  • zink: add spirv_info_h dep to libzink.

Danylo Piliaiev (20):

  • tu/a750: Allow mutable images to have UBWC with all compatible formats

  • tu: Enable UBWC for D24S8 with USAGE_SAMPLED and formatless border color

  • freedreno: Add enum for fd_lrzfc_layout::dir_track values

  • tu/u_trace: Add support for u_trace inidirect params

  • tu/u_trace: dispatch indirect dims and LRZ status as indirect params

  • freedreno: Clarify RB_BLIT_INFO::TYPE field

  • tu/a7xx: Use generic clear for LOAD_OP_CLEAR

  • tu/a7xx: Use generic clear for CmdClearAttachments

  • tu/a7xx: Use generic clear for image clears

  • tu/a7xx: Use BLIT_EVENT_STORE_AND_CLEAR when appropriate

  • tu: Fix ZPASS_DONE having stale value with generic clear+early frag test

  • ir3: Respect aligment of required consts when allocating ubo,preamble

  • u_trace: Fix trace_payload_as_extra_func desync between drivers

  • tu/a750: Workaround GPU fault when fast-clearing R8G8 formats

  • freedreno/rnndec: Consider array length when finding by reg name

  • freedreno/cffdec: Add option to dump bindless descriptors

  • nir/opt_16b_tex_image: Sign extension should matter for texel buffer txf

  • util/vma: Fix util_vma_heap_get_max_free_continuous_size calculation

  • ir3: Fix cat5 parsing with a1.x src present

  • nir/nir_opt_offsets: Do not fold load/store with const offset > max

Dave Airlie (27):

  • draw/orcjit: supply stub function for tcs coro

  • llvmpipe/cs/orcjit: add stub function name for coro

  • gallivm/sample: fix sampling indirect from vertex shaders

  • nvc0: fix null ptr deref on fermi due to debug changes.

  • anv/video: add mode costs for h264 encoding

  • vulkan/video: handle KHR_video_maintenance1 lack of profile list.

  • radv/video: handle inline queries for vulkan video encode.

  • radv/video: add KHR_video_maintenance1 support

  • radv/video: fix reporting video format props for encode.

  • radv: move video decode enable test into a flag

  • radv: turn video decode/encode on for VCN4 with latest fw

  • llvmpipe: handle stride properly on lvp udmabuf imports

  • llvmpipe: make sure to duplicate the fd handle before giving out

  • vulkan/video: fix vui encoding

  • vl/bitstream: use an int32_t for se encoding.

  • radv/anv/video: handling encoding both sps and pps in same buffer

  • radv: Fix radeon_enc_code_ue with values over 2^16

  • radv/video: fix encode reference slot counting

  • radv/video/enc: report pps overrides in feedback for h265

  • radv/video: use the h264 defines for macroblock w/h

  • radv/video/enc: report pictureAccessGranularity of CTB size.

  • radv/video: add encode field for vcn4

  • radv/video: handle missing h265 feedback struct.

  • zink: free modifiers

  • zink: handle mutable check without crashing if format list not found

  • zink: whitespace fixups

  • va: add some h264 fields

David Heidelberg (66):

  • freedreno: Enable Adreno 306A

  • freedreno: support lua pkgconfig variants

  • freedreno: drop hack for old dEQP

  • freedreno: Introduce emit_blit_fini

  • freedreno: introduce color format parameter to emit_blit_buffer_dst

  • freedreno: Implement fast clear_buffer for Adreno 6xx and 7xx

  • freedreno: drop dEQP hacks

  • intel/genxml: fix length of HCP_FQM_STATE for gen20 and 125

  • llvmpipe: Silence “possibly uninitialized value” warning for ssbo_limit (cont)

  • meson/addrlib: allow unintialized callbacks

  • ci/alpine: use llvm variables

  • ci/alpine: build test with LLVM 18

  • ci/alpine: use packaged spirv-llvm-translator-dev

  • ci/alpine: enable ORCJIT

  • ci/alpine: libclc on Alpine offering necessary targets spirv-mesa3d-;spirv64-mesa3d-

  • freedreno: Implement get_compute_state_info for Adreno 6xx/7xx

  • freedreno: update night expectations

  • etnaviv: rename enums_h appropriately

  • etnaviv: build dependency for the etnaviv tests

  • freedreno: Convert to SPDX-License-Identifier instead of pasting whole license

  • freedreno: use unicode © instead of DOS-like (C) copyright sign

  • bin/gen_release_notes: adjust checksums section

  • ci/freedreno: add Adreno 306/307 occasional timeout

  • ci/iris: implement nightly CL testing using piglit on ADL

  • panfrost: drop leftover definition after pan_nir_lower_64bit_intrin removal

  • nir_lower_mem_access_bit_sizes: Assert when 0 components or bits are requested

  • freedreno/ir3: Use nir_lower_mem_access_bit_sizes instead custom lowering

  • ci/intel: Officially switch intel-adl-cl to pre-merge

  • ci/freedreno: move disabled a530 entries back to main gitlab-ci.yml

  • ci/freedreno: mark jobs to be retested with patched 6.11 kernel

  • ci/freedreno: re-enable piglit tests for Adreno 530 in nightly runs

  • ci/freedreno: mark a530_piglit as postmerge job

  • panfrost/midgard: Implement nir_lower_mem_access_bit_sizes pass

  • panfrost/midgard: Support 64bit pack/unpack

  • panfrost/midgard: Lower fisnormal

  • panfrost/midgard: Lower *hadd instructions

  • ci/panfrost: Implement basic nightly OpenCL testing on T860

  • ci/panfrost: switch to 6.11 with timestamp patches for traces

  • ci/panfrost: update furmark checksum for T860 traces

  • ci/panfrost: update rock-5b from rc5 to rc7

  • freedreno/ir3: mad.x24 is not safe to lower

  • freedreno/ir3: Do not allow 16-bit mad.x24

  • pvr: unify code into one condition

  • ci/piglit: keep the include_test.h used for OpenCL testing

  • ci/fedora: when doing non-LTO build, we need C_ARGS too

  • ci: enable IPO/LTO only for nightly builds

  • ci: restrict number of maximum threads

  • util: add aarch64 fast half-float to float conversion

  • amd: Pass addrlib cpp args to the tests

  • osmesa: Fix OSMesaGetDepthBuffer() test without depth

  • ci/etnaviv: unify job naming with the rest of the CI

  • ci/freedreno: switch to dash instead of underscore, same as rest of the CI

  • ci/alpine: stay trendy, Alpine flies on LLVM 19 now

  • build: Fix LTO with Android NDK

  • ci/build: debian-build-testing should follow same limit as other jobs

  • ci/fedora: add workaround for buggy GCC warning triggered by r600

  • ci/build: Do not do LTO on any pre-merge job

  • freedreno/ir3: Lower fisnormal op

  • ci/freedreno: Introduce OpenCL testing for Adreno 618, 660, and 750

  • freedreno: python fixes

  • util: Drop 3Dnow optimisation leftovers

  • util: Remove MMX/MMXext detection code

  • util: Drop ancient Intel CPU detection

  • util: drop XOP detection code

  • llvmpipe: align with u_cpu_detect struct changes

  • compiler/rust: drop duplicated bindgen check

David Rosca (147):

  • radeonsi/vcn: Only enable filler data for CBR

  • radeonsi/vcn: Bump enc FW interface version for VCN3 and VCN4

  • radeonsi/vcn: Add support for QVBR rate control mode

  • radeonsi/vcn: Fix MB/CTB calculation for slice encoding

  • dri: Use –whole-archive when linking libdri

  • radeonsi/vcn: Allow dynamic change of QVBR quality level

  • radeonsi/vcn: Add decode DPB buffers as CS dependency

  • gallium: Add header_flags to pipe_h2645_enc_picture_desc

  • frontends/va: Don’t check header type for packed header buffers

  • frontends/va: Keep track if VPS/SPS/PPS/AUD was sent

  • frontends/omx: Request SPS PPS for IDR pictures

  • radeonsi/vcn: Only insert headers when requested for H264/5

  • frontends/va: Fix use after free with EFC

  • radeonsi: Don’t allow DCC for encode in is_video_target_buffer_supported

  • vulkan/format: Add VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16

  • radv/video: Add support for 12-bit AV1 decode

  • gallium: Change pipe_h265_enc_rate_control to array

  • frontends/va: Assert maximum number of temporal layers

  • frontends/va: Get per temporal layer params for HEVC

  • frontends/va: Parse packed header slice for HEVC TemporalId

  • frontends/va: Fix leaks with multiple coded buffer segments

  • util/rbsp: Fill bits again if reading more than 16 leading zeros

  • frontends/va: Implement DPB management for H264/5 encode

  • frontends/va: Only use parameters for first slice in H264/5 encode

  • frontends/va: Parse H264 slice packed header

  • frontends/va: Parse HEVC slice packed header

  • frontends/omx: Adjust to encoding changes

  • radeonsi: Add GPU copy path to si_video_resize_buffer

  • radeonsi/vcn: Switch to app DPB management for H264 and HEVC encode

  • radeonsi/vcn: Deduplicate header encoding functions

  • radeonsi/vcn: Fix radeon_enc_code_ue with values over 2^16

  • radeonsi/vcn: Use pipe header params in HEVC header encoder

  • radeonsi/vcn: Use pipe header params in H264 header encoder

  • radeonsi: Enable transform_skip HEVC feature support

  • radeonsi: Implement buf_ofst_info in si_video_resize_buffer GPU copy path

  • radeonsi/vcn: Support H264 constrained intra prediction

  • d3d12: Remove get_feedback_fence implementation

  • frontends/va: Implement sync buffer/surface timeout for encode feedback

  • pipe: Add int return value to video end_frame

  • frontends/va: Check for errors from end_frame in vlVaEndPicture

  • radeonsi/vcn: Implement get_feedback_fence

  • pipe: Use correct struct for h264/h265 dpb entry

  • frontends/va: Allocate surface buffers on demand

  • frontends/va: Allow drivers to allocate and use encode DPB surface buffers

  • egl/wayland: Fix flush after blit in swap buffers multi-GPU case

  • frontends/va: Fix locking in vlVaDeriveImage

  • frontends/va: Fix locking in vlVaQueryVideoProcPipelineCaps

  • vulkan/wsi: Fix stack-use-after-scope in x11_surface_create_swapchain

  • frontends/va: Parse more H264 PPS for transform_8x8_mode_flag

  • radeonsi/vcn: Stop hardcoding values in VCN version overrides

  • radeonsi/vcn: Add support for H264 8x8 transform on VCN5

  • radv/video: Don’t use op_close in encode

  • radv/video: Don’t use multiple tasks for one encode operation

  • ci: Disable building OMX driver

  • Remove OMX

  • docs: Remove OMX frontend

  • glx: Destroy base screen after deinitScreen

  • pipe: Add pipe_h264_nal_unit_type and pipe_h265_nal_unit_type enums

  • frontends/va: Support raw packed headers for H264 and HEVC

  • frontends/va: Allow multiple NALUs in coded buffer segments

  • radeonsi/vcn: Support raw packed headers for H264 and HEVC

  • radeonsi: Remove unused radeon_temporal.h

  • radeonsi/vcn: Don’t copy the pipe enc structs

  • pipe: Remove video enc header_flags

  • meson/megadriver: Add megadriver_libdir argument

  • targets/va: Build va driver into libgallium when building with dri

  • targets/vdpau: Build vdpau driver into libgallium when building with dri

  • radeonsi/vce,uvd_enc: Stop using obsolete rate control params

  • radeonsi/vce: Stop using base.level and base.max_references

  • radeonsi/uvd_enc: Stop using base.level

  • radeonsi/vcn: Stop using base.level for H264 level_idc

  • d3d12: Stop using base.level for H264 level_idc

  • frontends/va: Set default encoding parameters at context creation

  • Revert “frontends/va: Process VAEncSequenceParameterBufferType first in vaRenderPicture”

  • frontends/va: Create encoder at context creation

  • pipe: Remove unused fields in video rate control

  • frontends/va: Reset intra refresh in beginPicture

  • radeonsi: Fix reported minimum width for video encode

  • frontends/va: Remove fallback if app doesn’t enable packed headers

  • radeonsi: Disable EFC on VCN 2.2

  • radeonsi/vcn: Add rc_per_pic_ex encode command

  • ac: Fix typo RENCDOE -> RENCODE

  • ac: Add ac_vcn_init_enc_cmds

  • ac: Add remaining VCN encode defines

  • radeonsi/vcn: Use ac_vcn_enc_init_cmds and AV1 defines from ac

  • ac: Add VCN IB parser

  • radeonsi/vcn: Enable IB parsing with AMD_DEBUG=ib

  • radeonsi/vcn: Don’t reuse context with multiple VCN instances

  • frontends/va: Fix AV1 packed header parsing

  • pipe: Add video fence_wait

  • radeonsi/uvd: Implement fence_wait

  • radeonsi/vcn: Implement fence_wait

  • radeonsi/vpe: Implement fence_wait

  • d3d12: Implement fence_wait

  • r600/uvd: Implement fence_wait

  • frontends/va: Use fence_wait instead of get_*_fence

  • pipe: Remove video get_*_fence

  • radeonsi/vcn: Allow per-frame QP and max frame size changes

  • radeonsi/vcn: Use correct initial DPB size for HEVC encode

  • radeonsi/vcn: Don’t hardcode nal_ref_idc

  • radeonsi/vcn: Fix some small coverity issues

  • radeonsi/vcn: Fix out of bounds write when invalidating QP map regions

  • radeonsi/vcn: Fix out of bounds read in H264 decode

  • frontends/va: Implement DPB management for AV1

  • frontends/va: Parse more AV1 frame and sequence header params

  • frontends/va: Support raw packed headers for AV1

  • radeonsi/vcn: Switch to app DPB management for AV1

  • frontends/va: Remove now unused ref fields for AV1 encode

  • radeonsi/vcn: Support raw packed headers for AV1

  • radeonsi/vcn: Fix coded size in sequence header on VCN5

  • radeonsi/vcn: Add support for VCN5 AV1 compound

  • radeonsi/vcn: Add support for VCN5 dpb tier2

  • frontends/va: Fix parsing HEVC st_ref_pic_set

  • frontends/va: Parse H264 prefix for temporal_id

  • frontends/va: Calculate VBV params for other layers relative to base layer

  • radeonsi/vcn: Implement per-layer rate control for HEVC

  • radeonsi/vcn: Select layer for rate control

  • frontends/va: Fix some small coverity issues

  • frontends/va: Fix NULL check in intra refresh params

  • frontends/va: Fix parsing leb128 when using more than 4 bytes

  • frontends/va: Don’t relock mutex in vlVaEndPicture

  • pipe: Fix video enc max DPB size for H264

  • frontends/va: Evict unused surfaces from encode DPB

  • radeonsi/vcn: Only enable skip mode with matching references

  • frontends/va: Add support for AV1 still picture encode

  • radeonsi/vcn: Add support for AV1 still picture encode

  • radeonsi/uvd_enc: Implement fence_wait

  • radeonsi/vce: Implement fence_wait

  • radeonsi: Enable VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION on VCE/UVD

  • radeonsi/uvd_enc: Allocate session buffer in VRAM

  • radeonsi: Support HEVC features and block sizes for UVD

  • radeonsi/vcn: Enable VCN4 AV1 encode WA

  • radeonsi/vce: Remove dual instance support

  • frontends/va: Remove H264 encode delayed flush

  • frontends/va: Stop using PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION

  • pipe: Remove PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION

  • frontends/va: Move encode fence to coded buffer

  • radeonsi/vcn: Don’t try to override HEVC SPS conformance window

  • radeonsi/vcn: Gracefully handle encode errors and report to frontend

  • radeonsi/vcn: Rework encode padding and session init params

  • radv/video: Fix H264 slice control

  • radv/video: Fix HEVC slice control

  • radv/video: Report correct encodeInputPictureGranularity

  • radv/video: Avoid selecting rc layer over maximum

  • radeonsi/vcn: Use correct frame context buffer for preencode on VCN5

  • frontends/va: Create surfaces with correct fourcc for RT format

  • frontends/va: Use compositor blit with different number of planes

Deborah Brouwer (15):

  • ci/lava: Detect a6xx gpu recovery failures

  • ci: add firmware files to rootfs

  • ci/intel: add i915/MTL firmware to rootfs

  • ci: remove xfail program@build@include-directories

  • ci: remove obsolete build-hang-detection script

  • ci/deqp-runner: fix option to build from a commit

  • ci/deqp-runner: print version info

  • ci/deqp-runner: update instructions for uprevving

  • ci/deqp-runner: uprev from 0.20.0 to 0.20.2

  • ci/deqp-runner: implement max-fails

  • freedreno/ci: remove redundant skip files

  • ci: simplify .baremetal-arm32-asan-test

  • ci: simplify .baremetal-arm64-asan-test

  • freedreno/ci: convert a630-gles-asan to toml suite

  • ci/b2c: update RESULTS_DIR for .b2c-test jobs

Denis (1):

  • freedreno: Enable A505

Derek Foreman (5):

  • meson: Update wayland-protocols to 1.38

  • vulkan/wsi/wayland: Use presentation timing v2 when available

  • vulkan/wsi/wayland: Use fifo protocol for FIFO

  • vulkan/wsi/wayland: Pace frames with commit-timing-v1

  • adv+zink/ci: Add a recent flake

Dmitry Baryshkov (3):

  • freedreno/ir3: Treat MESA_SHADER_KERNEL in the same way as compute

  • freedreno/ir3: Lower the hadd operations

  • rusticl: Enable on freedreno

Dmitry Osipenko (6):

  • util/mesa-db: Fix missing O_CLOEXEC

  • util/mesa-db-multipart: Open one cache part at a time

  • util/mesa-db: Open DB files during access time

  • util/mesa-db: Fix crash on compacting empty DB

  • util/cache_test: Add mesa-db test for adding cache entry bigger than empty cache

  • ci/zink: Mark glx-multithread-clearbuffer flake on ADL

Donald Robson (2):

  • pvr: Stop creating waits when there are no waits

  • pvr: Fixed creation of waits in queue submission

Dylan Baker (35):

  • compilers/clc: Add missing break statements.

  • mesa: fix memory leak when using shader cache

  • util/glsl2spirv: fixup the generated depfile when copying sources

  • util/glsl2spirv: only copy the input file if we’re going to change it

  • tgsi_to_nir: free disk cache value if the size is wrong

  • crocus: properly free resources on BO allocation failure

  • crocus: check for depth+stencil before creating resource

  • mesa/program: remove memcpy where src == dst

  • docs: add release notes for 24.2.2

  • docs: update sha sums for 24.2.2

  • docs: update sha sums for 24.2.2

  • iris: Run checks that do not require resources before creating them

  • anv: if queue is NULL in vm_bind return early

  • intel: replace `(uint64_t - uint64_t) > 0` with `uint64_t > uint64_t`

  • anv: assert we don’t write past the end of an array

  • anv: enforce state->cmd_buffer is never null in emit_Simpler_shader_init_fragment

  • intel/elk: delete copy constructor and copy-assignment-operator

  • compiler/glsl: explicitly delete copy constructor and copy-assign

  • util/fossilize_db: don’t use check_files_opened_successfully for foz_prepare

  • anv: remove useless uint >= 0 check

  • hasvk: remove useless uint >= 0 check

  • intel/perf: delete dead code.

  • meson: use `add_project_arguments` instead of `global`

  • anv: enable VK_EXT_ycbcr_2plane_444_formats

  • release: push 24.3 out two weeks

  • anv: assert that we don’t read off the end color_att array

  • anv: when handling descriptor sets, layout cannot be NULL if dynamic_offets are used

  • VERSION: bump for 24.3.0-rc1 release

  • .pick_status.json: Update to ced2404cb433deaa84cf6cf9edce212733117c0b

  • .pick_status.json: Update to 5e0b81413de588803c9a0736acd8decd40d19ab6

  • .pick_status.json: Update to b0c9789bc1ed808d29f642e9445599dc85896444

  • VERSION: bump for 24.3.0-rc2 release

  • .pick_status.json: Update to b8d253b30c0a8c1878f2429f0a4df0a068bbf0aa

  • .pick_status.json: Update to 8845255881f03df9a695fae164a64201c4211d35

  • .pick_status.json: Update to 9b779068c3a7a8ded00f1d2519fd01dd1d05f3d8

Echo J (3):

  • d3d10umd: Use pipe_resource_usage enum in translate_resource_usage()

  • util: Fix the integer addition in os_time_get_absolute_timeout()

  • compiler/rust: Force native build for the compiler_proc library

Eric Engestrom (249):

  • VERSION: bump to 24.3

  • docs: reset new_features.txt

  • loader: gc loader_get_extensions_name() and __DRI_DRIVER_{GET_,}EXTENSIONS defines

  • radeonsi/ci: skip timing out test

  • freedreno/ci: double job timeout for a306

  • freedreno/ci: document extra variants of failing tests on a618 and a630

  • anv+zink/ci: mark some tests as fixed

  • anv+zink/ci: document two tests, one failing and one crashing

  • anv+zink/ci: mark a couple of tests as flaky

  • venus/ci: skip timing out test

  • nak: fix meson typo

  • venus: initialize bitset in CreateDescriptorPool()

  • v3d/ci: mark spec@amd_performance_monitor@vc4 tests as flaky

  • meson: xcb & xcb-randr are needed by the loader whenever x11 is built

  • docs: add stub header for u_format_gen.h

  • v3d,v3dv: reuse dep_v3d_hw from simulator/meson.build

  • v3d,v3dv: figure out whether we’re using the simulator only once

  • v3d,v3dv: simplify USE_V3D_SIMULATOR/using_v3d_simulator logic

  • vc4,v3d,v3dv: avoid compiling in unused `sim_file` field in the {vc4,v3d}_screen/v3dv_physical_device struct

  • ci/baremetal: fix logic for retrying boot when it failed

  • v3d/ci: mark spec@amd_performance_monitor@api as flaky on rpi4

  • v3d/ci: mark glx@glx-visuals-depth as flaky on rpi4, just like the -stencil variant

  • meson: don’t select the deprecated `swrast` option ourselves

  • meson: improve wording of “incompatible llvm options” error

  • ci: remove llvmpipe in the job that disables llvm

  • rpi4/ci: mark fs variant of arb_texture_buffer_object as flaky too

  • docs/meson: add missing newline at the begining of code-block

  • bin/ci: update python-gitlab to 4.x

  • ci/prepare-artifacts: use find’s -exec instead of iterating over its output with xargs

  • ci/prepare-artifacts: check if we’re about to overwrite ci config/expectations files

  • llvmpipe/ci: bump timeout for nightly job to 1h

  • ci: drop dead VKD3D_CONFIG

  • ci/vkd3d: rename vkd3d runner script to vkd3d-runner.sh to match the other ones

  • ci/vkd3d: store vkd3d “errors” in the results file instead of spamming the job log

  • ci/vkd3d: use GPU_VERSION to identify the list of failures, unifying with deqp-runner.sh

  • ci/vkd3d: move test expectations file to the results folder

  • ci/vkd3d: move expectation file creation logic out of the test results handling

  • ci/vkd3d: be more specific for what to grep

  • ci/vkd3d: rename vkd3d expected failures list to be more explicit

  • ci/vkd3d: add support for *-skips.txt list files

  • ci/vkd3d: add support for *-flakes.txt list files

  • pick-ui: move NominationType values around so that None is 0

  • ci/poe-powered: rename –test-timeout to –test-timeout-minutes to be more explicit

  • ci/bare-metal: rename fastboot & cros-servo TEST_PHASE_TIMEOUT to TEST_PHASE_TIMEOUT_MINUTES to be coherent

  • ci/poe-powered: allow setting a different boot timeout than 5 minutes

  • rpi/ci: shorten the boot timeout to 90 seconds

  • docs: add release notes for 24.1.5

  • docs: update calendar for 24.1.5

  • docs: add sha256sum for 24.1.5

  • nvk/ci: bump vkcts job timeout

  • meson,ci: remove dead `kmsro` option in `gallium-drivers`

  • ci: remove dead start-x.sh script

  • rpi3/ci: remove {version,render}_check from [piglit.env]

  • ci/deqp-runner: fix –fraction-start in non-parallel jobs

  • ci: pass MESA_SPIRV_LOG_LEVEL from job to the test

  • android: fix build in multiple ways

  • docs: update calendar for 24.2

  • docs: add release notes for 24.2.0

  • docs: add sha256sum for 24.2.0

  • docs: update calendar for 24.1.6

  • docs: add release notes for 24.1.6

  • docs: add sha256sum for 24.1.6

  • ci/container: define LLVM_VERSION in the alpine container job

  • ci/build: reuse alpine llvm version to make sure it stays coherent

  • ci/build: add comment to explain why s390x is useful

  • ci/build: document @ajax as a stakeholder for s390x

  • ci/build: drop softpipe from s390x job

  • nvk/ci: add vkd3d job on the ga106

  • llvmpipe/ci: mark now-skipping test as no longer failing

  • nvk+zink/ci: mark `spec@arb_sample_shading@samplemask .*@0\..* partition` as fixed

  • nvk/ci: document regressions

  • turnip/ci: document regressions

  • turnip/ci: skip timing out tests

  • turnip/ci: document flakes

  • nvk/ci: mark a bunch of tests as fixed

  • turnip/ci: add a750_vk flakes

  • docs/envvars: fix reference

  • broadcom/ci: set default TEST_PHASE_TIMEOUT_MINUTES so that jobs never timeout without uploading results

  • broadcom/ci: increase the timeout of the nightly job v3d-rpi4-gl:arm32 by 10min

  • ci/build: add honeykrisp (asahi vk) to several builds

  • intel/ci: don’t trigger anv-jsl-full & anv-tgl-full on GL changes

  • nvk/ci: document CTS bug

  • ci: add check for misleading indentation in ci toml files

  • ci: don’t run hardware tests if the toml files don’t pass validation

  • ci: fix toml-lint rules to not block nightly pipelines

  • r300/ci: move postmerge jobs to -postmerge stage

  • lavapipe/ci: move postmerge jobs to -postmerge stage

  • venus/ci: move postmerge jobs to -postmerge stage

  • ci/rules: make every job exist as manual in fork pipelines

  • kopper: only include loader_dri3_helper.h when xcb is enabled

  • zink+nvk/ci: document new variant of test failing

  • zink+nvk/ci: document all the flakes seen in the last week

  • turnip/ci: document all the a750 flakes seen in the last week

  • vc4: Add missing libvc4_neon build dependencies

  • vc4/meson: simplify neon build now that the android build system doesn’t exist anymore

  • ci/deqp-runner: restore CC after temporarily overriding it

  • ci/deqp: simplify command to list local deqp patches

  • ci/deqp-runner: be less verbose in the loop printing the deqp builds info

  • ci/deqp-runner: build from git checkout even on linux

  • ci/deqp-runner: add infra to apply patches

  • ci/image-tags: re-generate all the images building deqp-runner

  • ci/build: fix ppc64le and s390x jobs rules

  • ci: take igalia farm offline

  • docs: add release notes for 24.2.1

  • docs: add sha sum for 24.2.1

  • docs: update calendar for 24.2.1

  • nvk/ci: drop skip of fixed vkd3d test

  • ci/vkd3d: make the job output less spammy, focus on what is useful to print

  • ci/vkd3d: use upstream test-runner.sh for process isolation

  • ci: run only one vkd3d test at a time

  • ci/vkd3d: check for tests listed in fails but not actually failing

  • v3dv/ci: fix test timeout for v3dv-rpi5-vk-full:arm64

  • etnaviv/ci: fix gc2000_piglit test timeout

  • freedreno/ci: fix a630_*_full tests timeout

  • nouveau/ci: fix gk20a-gles test timeout

  • freedreno/ci: drop unused TEST_PHASE_TIMEOUT_MINUTES in LAVA jobs

  • ci/bare-metal/poe: change the default TEST_PHASE_TIMEOUT_MINUTES to `CI_JOB_TIMEOUT - 5min`

  • broadcom/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value

  • broadcom/ci: use TEST_SETUP_AND_UPLOAD_MARGIN_MINUTES

  • etnaviv/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value

  • freedreno/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value

  • nouveau/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value

  • ci/build: untangle debian-s390x from debian-ppc64el

  • freedreno/ci: add a630 flake

  • docs: add release notes for 24.1.7

  • docs: update calendar for 24.1.7

  • docs: add sha sum for 24.1.7

  • ci: move build jobs that are used by tests to an earlier stage

  • ci: merge build-x86_64 & build-misc

  • ci: do not start build-only jobs until the critical build-for-tests jobs are done

  • nvk/ci: mark -dEQP-VK.drm_format_modifiers.export_import* as fixed

  • radeonsi/ci: bump timeout for nightly job glcts-vangogh-valve

  • Revert “freedreno/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value”

  • freedreno/ci: fix test timeout for a306_piglit

  • radeonsi/ci: mark a bunch of subgroups tests as failing

  • venus/ci: drop redundant flakes definitions

  • venus/ci: add flake and skip timing out test

  • zink+nvk/ci: bump zink-nvk-ga106-valve timeout as more tests are being run

  • zink+nvk/ci: mark a ton of tests as fixed

  • zink+turnip/ci: fix .zink-turnip-valve-manual-rules

  • turnip/ci: add vkd3d job on the a750

  • ci: add virgl & venus to the s390 build

  • docs: Fix linkcheck failures

  • zink+nvk/ci: mark test as fixed

  • zink+nvk/ci: add flakes seen recently

  • docs: add release notes for 24.2.3

  • docs: update calendar for 24.2.3

  • docs: add sha sum for 24.2.3

  • amd/ci: track changes to the global driver `*-skips.txt` files

  • broadcom/ci: track changes to the global driver `*-skips.txt` files

  • llvmpipe/ci: track changes to the global driver `*-skips.txt` files

  • lavapipe/ci: track changes to the global driver `*-skips.txt` files

  • intel/ci: track changes to the global driver `*-skips.txt` files

  • v3dv/ci: drop skip of fixed test

  • docs/release-calendar: add 24.3 branchpoint and rcs

  • zink+nvk/ci: document spec@egl_ext_surface_compression@create as crashing

  • zink+nvk/ci: add flakes seen recently

  • lavapipe/ci: document regression

  • llvmpipe/ci: document regression

  • radeonsi/ci: document spec@egl_ext_surface_compression@create as crashing

  • radeonsi/ci: mark KHR-GL46.shader_image_load_store.basic-allTargets-atomic as fixed

  • ci/build: move debian-clang-release to priority build-for-tests stage

  • lavapipe/ci: document ray tracing regression

  • mr-label-maker: add gfxstream

  • ci/deqp: make sure the git commit hash of deqp is stable across rebuilds

  • ci: fix windows container jobs being missing on forks

  • ci/build: don’t wait on the windows build anymore

  • turnip/ci: mark vkd3d test_planar_video_formats as fixed

  • zink+nvk/ci: mark spec@egl 1.4@egl-ext_egl_image_storage as fixed

  • zink+nvk/ci: document more flakes seen lately

  • egl: fix dri2_from_names() call

  • docs: add release notes for 24.2.4

  • docs: update calendar for 24.2.4

  • docs: add sha sum for 24.2.4

  • Revert “ci/build: move debian-clang-release to priority build-for-tests stage”

  • ci/build: move debian-build-testing to priority build-for-tests stage

  • ci/build: mention the .build-for-tests-jobs exception

  • docs: add release notes for 24.2.5

  • docs: update calendar for 24.2.5

  • docs: add sha sum for 24.2.5

  • ci: drop spec@egl_ext_surface_compression@create from the rest of the expected fails

  • zink+nvk/ci: document regression

  • zink+nvk/ci: document more flakes seen

  • zink+radv/ci: document more flakes seen

  • nvk/ci: document more flakes seen

  • ci: run shader-db only when one of the drivers it tests is modified

  • zink+nvk/ci: mark a few tests as fixed

  • zink+nvk/ci: document more flakes seen

  • ci/{deqp,piglit}-runner: make zstd respect FDO_CI_CONCURRENT when set, and fallback to the current “all the threads”

  • ci/prepare-artifacts: use more than one thread when compressing the install tarball

  • freedreno/ci: add {freedreno,turnip}{,-manual}-rules to simplify the rest of the code

  • freedreno/ci: use {freedreno,turnip}{,-manual}-rules

  • ci: rename “freedreno” farm to “google-freedreno”

  • {freedreno,intel}/ci: rename “premerge-skips.txt” to “merge-skips.txt” to accurately reflect what they are

  • {freedreno,intel}/ci: add missing tracking of `merge-skips.txt` files

  • ci: simplify ci-tron priority variable

  • ci: simplify setting lava job priority

  • ci: fix shader-db rules

  • ci/b2c: allow B2C_DTB_URL to be set to an empty string to unset it

  • ci/b2c: make initramfs & kernel urls optional

  • ci: move yaml-toml-shell-test out of build-for-tests stage

  • ci: move comment into the appropriate section

  • zink+turnip/ci: update a750 results

  • docs: update link to `perf` wiki

  • nvk/ci: add back a crash that was mistakenly removed from the expectations

  • zink+nvk/ci: document ext_egl_image_storage regression in c06a55fd…2fb4aed9 (likely !31585)

  • all-drivers/ci: drop duplicate flakes lines

  • zink+nvk/ci: drop duplicate flakes lines

  • zink+nvk/ci: add flakes seen recently

  • turnip/ci: add more dEQP-VK.renderpass2.fragment_density_map.* flakes seen recently

  • nvk/ci: add flakes seen recently

  • lavapipe/ci: group & sort fails

  • lavapipe/ci: group & sort skips

  • lavapipe/ci: skip builtin ray query tests that take too long and time out

  • lavapipe/ci: document regression in the commit range 765d1c47…366f63fd

  • ci: move shellcheck options to .shellcheckrc

  • ci: rename “merge-skips” to “slow-skips” as they’re about to be used outside of merge piplines

  • ci: skip slow tests on all non-“full” jobs

  • ci: drop dead “load jwt in the environment just before exiting the job” code

  • egl: error out during setup if the configuration is invalid

  • freedreno/ci: abort a750 testing when a hang is detected

  • freedreno/ci: add nightly freedreno gl testing on a750

  • ci/build: deduplicate meson build command

  • ci/build: handle build timeout ourselves to give more time to nightly LTO builds

  • ci/build: lower most job’s timeout from 30 to 15 min

  • docs: add release notes for 24.2.6

  • docs: update calendar for 24.2.6

  • docs: add sha sum for 24.2.6

  • ci: only end current section if there is a current section

  • ci: initialize state_x (tracking `set -x`)

  • ci: consistently restore `-x` after temporarily disabling it

  • ci: rename state_x to previous_state_x to be clear about what it contains

  • ci/b2c: properly escape double-quoted container command

  • ci/b2c: make dut boot quieter on ci-tron jobs

  • ci: properly quote ccache dir and path

  • ci: don’t replace ld with ld.gold if ld.gold doesn’t exist

  • ci: bump ci-templates

  • amd/ci: document flakes seen lately

  • nvk/ci: document flakes seen lately

  • freedreno/ci: document flakes seen lately

  • broadcom/ci: document flakes seen lately

  • meson: drop variable initialized twice

  • meson: add dependencies needed by wsi_common_x11.c even on non-drm platforms

  • ci: drop unused extra args in build-vkd3d-proton.sh

  • ci: replace plain `meson` with explicit `meson setup`

  • meson: bump spirv-tools version needed to v2022.1

  • ci: move error handling functions at the end

  • ci: use quiet alias for commands

  • ci: raise priority of release manager pipelines

Eric R. Smith (19):

  • panfrost: make PAN_MESA_DEBUG=dump really show all GPU memory

  • panfrost: fix texture.border_clamp regression for valhall

  • panfrost: use RGB1 component ordering for R5G6B5 pixel formats

  • panfrost: Make the unit to use for instructions explicit

  • panfrost: Update bifrost_isa.py to handle some Valhall constructs

  • panfrost: refactor valhall ISA parser

  • panfrost: split pseudo instructions from Bifrost and Valhall

  • panfrost: fix crash when disassembling shader for trace

  • panfrost: Add b2i16 conversion to table

  • panfrost: move pan_arch definition out of genxml to pan_props.h

  • panfrost: move lower_image_ms to after lower_atomics

  • panfrost: implement image2dms support for valhall

  • panfrost: add support for image2DMSArray on bifrost

  • panfrost: improve swizzle inversion

  • panfrost: print human readable versions of some swizzle fields

  • panfrost: Add back A8_UNORM format for valhall

  • panfrost: fix SAMPLE_ALPHA_TO_ONE

  • panvk: Support blend shaders for alpha_to_one_enable

  • panfrost: fix earlyzs settings for alpha_to_coverage

Erico Nunes (13):

  • dri: fix sun4i-drm driver name

  • lima/ppir: add folding lowering for src modifiers

  • lima/ppir: add folding lowering for dest modifiers

  • lima/ppir: remove nir_legacy

  • lima/ppir: add support and folding for fclamp_pos

  • lima/ppir: add support and folding trunc to a modifier

  • lima/ppir: switch to derivative intrinsics

  • docs/ci: pass -D platforms=[] to avoid dependencies

  • v3dv: unconditionally expose VK_EXT_queue_family_foreign

  • v3dv: match render and display device for wsi present

  • lima/ci: define FDO_HTTP_CACHE_URI for caching-proxy

  • lima/ci: update piglit ci expectations

  • Revert “ci/lima: Temporarily disable”

Erik Faye-Lund (54):

  • docs/panfrost: mention that Mali-G610 is conformant

  • mesa/main: use extension-helper

  • mesa/main: validate GL_UNSIGNED_INT_5_9_9_9_REV

  • mesa/main: validate GL_UNSIGNED_INT_2_10_10_10_REV

  • mesa/main: validate GL_UNSIGNED_INT_10_10_10_2

  • mesa/main: check depth/stencil formats

  • mesa/main: validate desktop gl format/types

  • mesa/main: validate bgr formats

  • mesa/main: validate abgr format

  • mesa/main: validate integer-formats

  • mesa/main: validate half-float types

  • mesa/main: switch from deny-list to allow-list

  • mesa/main: add gles-compatible check helpers

  • mesa/main: tighten glsl-version checks

  • mesa/main: tighten gl-version checks

  • panvk: remove out-of-date detail

  • panvk: drop unused define

  • panvk: error-check get_fb_descs calls

  • mesa: make compressed-format emulation optional

  • panfrost: unify compressed formats

  • panfrost: store texfeat_bit in panfrost_format

  • panfrost: check fmt.bitfeat_bit for compressed-support

  • panfrost: do not re-fetch compressed formats

  • panvk: check against texfeat_bit

  • panvk: implement KHR_get_memory_requirements2

  • panvk: drop needless function implementation

  • panvk: expose already-implemented KHR_maintenance1

  • i915: do not calculate native instructions

  • mesa: remove superfluous “native” limits and stats

  • mesa: clean up setup of MaxAddressRegs constant

  • panvk: implement and expose KHR_maintenance2

  • panvk: expose KHR_relaxed_block_layout support

  • panvk: expose KHR_bind_memory2 support

  • docs/features: fix bad sorting of drivers

  • panvk: expose KHR_external_semaphore and KHR_external_semaphore_capabilities

  • panvk: expose KHR_external_memory and KHR_external_memory_capabilities

  • panvk: expose KHR_external_fence and KHR_external_fence_capabilities

  • panvk: fix broken wsi

  • panvk: avoid signed integer underflow

  • panvk: drop needless assert

  • panvk: put conditional outside of define

  • panvk: assert on missing vs

  • panvk/csf: only look at fs if it’s required

  • panfrost: drop needless assign

  • panfrost: add an assert in render-target setup

  • panvk: drop duplicate dirty-test

  • panvk/jm: respect depth-clip state

  • panvk/csf: respect depth-clip state

  • panvk: expose EXT_depth_clip_enable

  • docs/features: claim vk 1.0 for panvk

  • docs/features: mark off more panvk extensions

  • panvk: enable KHR_16bit_storage

  • docs/features: mark off missing panvk feature

  • glx: avoid null-deref

Erwin Jansen (1):

  • Enable GFXStream bazel build

Evan (3):

  • amd/vpelib: Color Keyer Implementation

  • amd/vpelib: Luma AND Color Keyer Full Support

  • amd/vpelib: Input Format Adjustment

Faith Ekstrand (309):

  • nvk: Fix indirect cbuf binds pre-Turing

  • nvk: Don’t advertise sparse residency on Maxwell A

  • nak/sm50: Split IAdd2 into IAdd2 and IAdd2X

  • nak: Implement ineg on sm50

  • nak: Add an AtomCmpSrc to AtomOp::CmpExch

  • nak/sm50: Support AtomOp::CmpExch

  • nak/sm50: Improve encoding of OpFFma

  • nak/sm50: Various encoding fixes

  • nak/sm50: Implement OpPixLd

  • nak: Lower fsqrt in NIR on Maxwell A and earlier

  • nak/sm50: Implement OpCCtl

  • nak/nir: Split 64-bit conversions pre-Volta

  • nak: Drop the nvfuzz binary

  • nak: Plumb tessellation parameters through ShaderStageInfo

  • nak: Rework fragment shader stage info

  • nak: Move a few more things to VtgIoInfo

  • nak: Move creation of nak_shader_info to ShaderBin::new()

  • nvk: Reject sparse images on Maxwell A and earlier

  • nil: Add a helper for populating the null descriptor

  • nvk: Create the zero page earlier in device creation

  • nvk: Call into NIL to populate the null descriptor

  • nouveau/winsys: Uninline nouveau_ws_bo_unmap()

  • nak: Pull the QMD code out into its own crate

  • nak: Make ShaderBin a public struct

  • nak/meson: Rename libnak_bindings_gen to _libnak_bindings_rs

  • nak: Add a bare HW shader runner

  • nak: Add an implementation of the ACORN random number generator

  • nak: Add dst_type decorations

  • nak: Add a Foldable trait

  • nak: Implement Foldable for OpIAdd3 and OpIAdd3X

  • nak: Initialize DEBUG on-demand

  • nak: Add a framework for running hardware tests

  • nak: Add some opcode tests

  • nak: Implement Foldable for OpPrmt

  • nak: Implement Foldable for OpShf

  • nak: Fix shf.l.high on Maxwell

  • nak: Add 64-bit shift helpers

  • nak: Add tests for 64-bit shifts

  • nak: Use .wrap for 64-bit shifts

  • nak: Fix shl64 for pre-Volta

  • meson/megadriver: Don’t invoke the megadriver script with no drivers

  • nak/spill_values: Don’t assume no trivial phis

  • nak: Drop the old encode_sm*.rs files

  • nak/sm50: Add control-flow sync ops

  • nak: Add more NIR wrappers for walking the NIR CFG

  • nak/sm50: Emit sync instructions for control-flow

  • nak: Disable opt_jump_thread pre-Volta

  • nak: Don’t emit barrier ops for shared memory pre-Volta

  • nak/sm70: Implement OpAtom with Dst::None as RED

  • nak/sm50: Implement OpAtom with Dst::None as RED

  • nak: Use the RED path for atomics with unused destinations

  • nak: IMul and IMad are variable latency pre-Volta

  • nak/calc_instr_deps: Set a delay of 13 for flow ops pre-Volta

  • nak: Align shader data to the min CBuf alignment

  • nak: Add tests for nak_builder::isetp64

  • nak: Add tests for nak_builder::iadd64

  • nak: Add tests for OpISetP

  • nak/hw_tests: Add debug printing

  • nak/sm50: Set the .x bit for isetp

  • nak/builder: Fix isetp64 for pre-Volta

  • nvk: Squash txq results to 0 for null descriptors

  • nak: Fix OpCCtl encoding on Maxwell

  • nak/nir: Don’t emit CCtl for release barriers on Maxwell

  • nvk: Don’t push bound UBOs on Volta and earlier

  • nak: Implement From<bool> for Pred

  • nak/sm50: OpIAdd2 only supports one negate modifier

  • nak/sm50: OpLop2 does not have .X

  • nak: Add tests for OpLop2 and OpLop3

  • nak/sm50: Fix the encoding of ffma with cbuf in src2

  • nak: Implement depth clip control pre-Volta

  • nvk: Use nvk_buffer_addr_range() for index buffers

  • nvk: Fix zero-size vertex/index buffer bindings pre-Turing

  • nak/sm50: Add support for OpAL2P

  • nak: Move the runner into the main nak crate

  • nak: Plumb through the call/return stack size

  • nvk: Take CRS into account when allocating the SLM area

  • nak/nir: Fix the reverse execlist iterator

  • nak/nir: Add a few more NIR helpers

  • nak/nir: Rework CRS handling

  • nak: Add target labels to CRS pop instructions

  • nak: Add an optimization for CRS ops

  • nak: OpKill also needs a delay on Maxwell

  • nak/sm50: Add execution delays for more ops

  • nak: SrcMod::INeg cannot be folded

  • nak: Add tests for nak_builder::ineg64

  • nak/builder: Allow source modifiers in ineg64()

  • nak: Lower iadd64(x, -y) to isub64(x, y) in NIR

  • nak/hw_tests: Explicitly test equal cases in test_isetp64

  • nak: Add tests for OpFlo

  • nak: Assert no overflow when legalizing iadd with too many ineg modifiers

  • nak: Add source and destination types for carry values

  • nak/hw_tests: Respect src_mod and src_swizzle in op auto-tests

  • nak/hw_tests: Use better test values for iadd tests

  • nak: Add tests for OpIAdd2 and OpIAdd2X

  • nak/sm50: Set the not bit for OpLop2::srcs[0]

  • nak: Use OpFoldData::get_u32_bnot_src() more places

  • nak: Add tests for OpPopC and enable SrcMod::BNot

  • nak/nir: Preserve rounding modes in split_64bit_conversions()

  • nak: Rename OpFSOut to OpRegOut

  • nak: pre-Volta uses r0 to output the final GS handle

  • nak: Add a PredSetOp::eval() helper

  • nak: Add tests for OpPSetP

  • nak: Non-constant offsets are allowed on patch loads

  • nak: Rework isetp64 on sm50 again

  • nak: Disallow isetp.x pre-Volta

  • nak: Manually flush denorms for nir_op_fquantize2f16 pre-Volta

  • nak/sm50: Set f2f.high

  • nvk: Default to NAK on Maxwell+

  • nvk: Disable sparse D32S8 cubes pre-Turing

  • nak: Move the QMD code back into the main nak crate

  • nak/qmd: Return the complete QMD dispatch size layout

  • mme/fermi: Don’t try to access zero-size std::vector

  • nouveau/mme: Add support for MUL on Fermi

  • nouveau/mme: Add support for multiplication on Fermi

  • nak/hw_runner: Use byte_offset()

  • nak/hw_tests: Use ptr::from_ref() and ptr::cast()

  • nak: Use nak_builder::fsetp() in op_fquantize2f16

  • nvk: Fix indirect dispatch on Turing+

  • vulkan: Update XML and headers to 1.3.292

  • nvk: Move nvk_sample_location to NAK

  • nak: Sample locations are byte-aligned

  • nak,nir: Rework gl_SampleMaskIn[] handling

  • nvk: Don’t force sample shading when gl_SampleMaskIn[] is read

  • nvk: Set POST_PS_INITIAL_COVERAGE

  • compiler/rust: Copy the Rust NIR wrappers from NAK

  • compiler/rust/nir: Implement NIR types directly

  • compiler/rust/nir: Add explicit lifetimes

  • nak: Switch to the common NIR wrappers

  • nak: Move DstsAsSlice::is_uniform() to its own trait

  • nak: Replace the guts of Srcs/DstsAsSlice with a new AsSlice trait

  • nak,compiler: Move AsSlice to common code

  • nvk: Require color or depth/stencil attachment support for input attachments

  • nvk: Support STORAGE_READ_WITHOUT_FORMAT on buffers

  • nvk: Move descrptor structs into a separate header

  • nvk: s/device/dev/ in nvk_buffer_view.c

  • nvk/nvkmd: Advertise the usable VA range

  • nvk: Add a VK_EXT_descriptor_buffer buffer view cache

  • nvk: Refactor image intrinsic lowering a bit

  • nvk: Lower descriptors for VK_EXT_descriptor_buffer buffer views

  • nvk: Use nvk_edb_buffer_view_descriptor for EDB descriptor set layouts

  • nvk: Use the EDB buffer view path with NVK_DEBUG=edb_bview

  • nvk: Implement GetDescriptorLayoutSize/BindingOffsetEXT()

  • nvk: Refactor some descriptor set helpers

  • nvk: Implement GetDescriptorEXT

  • nvk/descriptor_table: Add support for requesting a specific index

  • nvk: Implement descriptor capture/replay

  • nvk: Properly indent a comment

  • nvk: Rework descriptor set bindings

  • nvk: Implement descriptor buffer binding

  • nvk: Add support for embedded immutable samplers

  • zink: Align descriptor buffers to descriptorBufferOffsetAlignment

  • nvk: Advertise VK_EXT_descriptor_buffer

  • nvk: Invalidate MME data for descriptor buffers

  • nak: Pass -C default-linker-libraries when building tests

  • ci: Add NVK to debian-arm64-build-test

  • vulkan: Add null descriptor bits to vk_pipeline_robustness_state

  • nvk: Plumb the whole vk_pipeline_robustness_state through to nvk_ubo/ssbo_addr_format

  • nvk: Enable shader bounds checking when nullDescriptor is enabled

  • nouveau/headers: Add more nv_push asserts

  • nouveau/winsys: Fix an undefined shift

  • nouveau/mme: Fix add64 of immediates on Fermi

  • nouveau/mme: Better handle the too many immedaties case on Turing+

  • nouveau/mme: Don’t allow PRMT and MTHD in the same op on Turing+

  • nouveau/mme: Disassemble MERGE more like the mme_merge()

  • nouveau/mme: Add NOT and AND_NOT ops

  • nouveau/mme: Allow shifting immediates on Fermi

  • nouveau/mme: Use a designated initializer in mme_fermi_decode()

  • nouveau/mme/tu104: Break the state simulator into a pluggable component

  • nouveau/mme/fermi: Break the state simulator into a pluggable component

  • nouveau/mme: Add a pluggable state interface

  • nouveau/mme/tu104: Properly handle mthd increment

  • nouveau/mme: Add a generic simulator function

  • nvk: Reserve MME scratch area for communicating with FALCON

  • nvk/mme: Add a unit test framework for driver macros

  • nvk: Emit NVK_MME_SCRATCH_DRAW_BEGIN as part of flush_ia_state()

  • nvk: Increase the context init size

  • nvk: Move the guts of BindIndexBuffer2KHR to a macro

  • nvk: Move the guts of BindVertexBuffers2 into a macro

  • nvk: Move setting VB enables and strides into macros

  • nvk/mme: Add helpers for masked scratch updates

  • nvk: Add macros to sort out tess parameters

  • nvk: Move the ANTI_ALIAS_CONTROL logic to the MME

  • nvk: Stop leaking the descriptor table in-use set

  • nvk: Disable conditional rendering around CopyQueryPoolResults

  • nvk: Expose a new nvk_compile_nir_shader() helper

  • nvk: Refactor compute shader dispatch

  • nvk: Add a helper for dispatching compute shaders

  • nvk: Use the new dispatch helper for queries

  • nvk: Treat NULL vertex/index buffer pointers as null descriptors

  • nil,nvk: Disable modifiers for B10G11R11_UFLOAT and E5B9G9R9_UFLOAT

  • nir: Preserve fp_fast_math in nir_opt_vectorize()

  • v3dv: Update a debug message

  • vtn: Move initialization of mesa_spirv_debug to a helper

  • vtn: Allow SPIR-V debug options in release builds

  • vtn: Add a debug flag to dump SPIR-V assembly

  • v3dv: Drop the SPIR-V dumper

  • radv: Use the SPIR-V printer in spirv_to_nir

  • vulkan/pipeline: Handle VIEW_INDEX_FROM_DEVICE_INDEX_BIT

  • lvp: Stash the PipelineCreateFlags2KHR in the pipeline

  • dzn: Use vk_pipeline_shader_stage_to_nir()

  • vulkan: Take a VkPipelineCreateFlags2KHR in vk_pipeline_*shader_stage*()

  • vulkan: Handle VIEW_INDEX_FROM_DEVICE_INDEX_BIT in the runtime

  • nvk: Fix a typo in a comment

  • nvk: Use 4 bits per value for the anti alias values

  • nvk: Hash minSampleShading in nvk_hash_graphics_state()

  • nvk: Advertise VK_KHR_maintenance7

  • nvk/nvkmd: Add an nvkmd_mem_init() helper

  • nvk/nvkmd: Plumb map_out through to the back-end nvkmd_mem_ops::map

  • nvk/nvkmd: Plumb map pointers through to back-end unmap funcs

  • nvk/nvkmd: Plumb map_flags through to unmap/overmap

  • nvk/nvkmd: Don’t inline nvkmd_mem_[un]map()

  • nvk/nvkmd: Split client and internal mappings

  • nvk/nvkmd: Reference count internal mappings

  • nvk: Don’t do linear<->tiled copies for rendering suspend/resume

  • nvk: Take depth image layer counts from the VkRenderingInfo

  • nvk: Add all_linear to nvk_rendering_state

  • vulkan: Add a helper for getting VkRenderingAttachmentLocaiontInfoKHR

  • vulkan: Allow pColorAttachmentLocations == NULL in CmdSetRenderingAttachmentLocationsKHR()

  • vulkan: Expose a vk_cmd_set_rendering_attachment_locations() helper

  • nvk: Reset rendering attachment locations in BeginCommandBuffer/Rendering

  • nvk: Emit SET_CT_SELECT based on the dynamic color location map

  • nvk: Adverties VK_KHR_dynamic_rendering_local_read

  • nak: Add a NAK_SUBGROUP_SIZE #define

  • nak: Move subgroup_id and num_subgroups to lower_system_values

  • nak: Shuffle gl_LocalInvocationID for quad derivatives

  • nvk: Advertise VK_NV/KHR_compute_shader_derivatives

  • nvk: Only advertise compute_shader_derivatives when NAK is used

  • vulkan: Handle variable-length property arrays more generically

  • nil: Rework calculations of the sizes of miplevels

  • nil: Return a more accurate size in level_size_B

  • nil: Assert array_len == 0 in Extent4D<Bytes>::size_B()

  • nvk: Advertise VK_KHR_shader_float_controls2

  • nvk: Silence a maybe-uninitialized warning

  • nvk: Add an NVK_DEBUG=gart flag

  • vulkan: Add a stages field to vk_pipeline

  • vulkan: Add a vk_pipeline_ops::get_shader method

  • vulkan/pipeline: Patch through INDIRECT_BINDABLE_BIT

  • nvk: Fill out shader push data at compile time

  • nvk: Use VkShaderStageFlags for shaders_dirty

  • nvk: Disable CBuf pushing when INDIRECT_BINDABLE_BIT is set

  • nvk: Add an implementation of VkIndirectExecutionSetEXT

  • nvk/nvkmd: Always map read/write for internal maps

  • nvk/nvkmd: Add a mechanism to track and look up nvkmd_mems

  • nvk: Track and dump device-generated commands if possible

  • nvk: Move flush_push_descriptors to the front of flush_state()

  • nvk: Export graphics state flushing helpers

  • nvk: Expose an nvk_cmd_flush_cs_qmd() helper

  • nvk: Implement CmdProcess/ExecuteGeneratedCommandsEXT

  • nvk: Handle indirect dispatch in pipeline barriers

  • nvk: Advertise VK_EXT_device_generated_commands

  • nvk: Handle aspects in D32_S8_UINT copies

  • nvk: Assume a GOB height of 8 for copies

  • nvk,nil: Replace gob_height_is_8 and is_tiled with a new GOBType enum

  • vulkan: Use SEVERITY_WARNING_BIT for vk_error*()

  • nil: Add a couple Extent4D and Offset4D methods

  • nil: Add tiled memcpy helpers

  • vulkan: Add a comment explainint SEVERITY_WARNING_BIT for vk_error*()

  • nvk/nvkmd: Stop leaking the primary FD

  • nir: Add an option to lower quad vote

  • nak,nvk: Implement VK_KHR_shader_quad_control

  • nvk: Fix a comment in SET_VIEWPORT_CLIP_CONTROL

  • vulkan/queue: Don’t use vk_semaphore in threaded payload stealing

  • vulkan/queue: Move has_binary_permanent_semaphore_wait into the sumbit struct

  • vulkan/queue: Use _mem_signal_temp instead of signal_mem_sync

  • vulkan: Add a vk_queue_submit_has_bind() helper

  • vulkan/queue: Use a builder pattern for vk_queue_submit

  • vulkan/queue: Split vk_queue_submit into create and submit

  • vulkan/queue: Merge submits when possible

  • nouveau/mme: Test ifs with immediate parameters

  • nouveau/mme: Evaluate methods immediately in the Turing sim

  • nouveau/mme: Turing can’t have emit and state in the same op

  • nil: Add a helper to get samples from a SampleLayout

  • nvk: Add an nvk_cmd_emit_sample_layout() helper

  • nvk: Rework setup of sample masks

  • nouveau/class_parser: Add more method arrays

  • nil: Add D3D sample layouts

  • nvk: Support D3D sample modes

  • nil: Use D3D sample modes by default

  • nvk: Implement GetPhysicalDeviceFragmentShadingRatesKHR()

  • nvk: Initialize VARIABLE_PIXEL_RATE_SAMPLE_ORDER

  • vulkan: Add a vk_fragment_shading_rate_is_disabled() helper

  • nvk: Rework setting of min_sample_shading

  • nvk: Emit FSR state

  • nvk: Add support for binding fragment shading rate images

  • nak: Get rid of some dead code warnings

  • nak: Rename SV_VERTEX_COUNT to PRIM_TYPE

  • nak: Add support for gl_ShadingRateEXT

  • nak: Pass a nak_compiler into sysval and attrib helpers

  • nak: Add support for gl_PrimitiveShadingRateEXT

  • nvk: Set VARIABLE_PIXEL_RATE_SHADING_TABLE_SELECT

  • nvk: Advertise VK_KHR_fragment_shading_rate

  • vulkan/queue: Check for _mem_signal_temp before we submit

  • nvk: Add an nvkmd_engines bitfield to nvk_queue

  • nvk: Only set texture/sampler tables and SLM for enabled engines

  • nvk: Re-sort the features table

  • nvk: Advertise 64-bit atomics on buffer views

  • nak: Remove annotations before calc_instr_deps()

  • nak: Handle annotations in legalization

  • compiler/rust: Enable unit tests

  • compiler/rust: Add a unit test for the memstream abstraction

  • compiler/rust: Fix a bad cast in the memstream abstraction

  • nvk: Only wait on the upload queue if there are commands

  • nvk: Only submit the state pushbuf if there are commands

  • nvk: move nvk_queue_state_update to nvk_queue_submit_exec

  • nvk: Use nvk_queue_submit_simple() for nvk_queue_state_update()

  • nak/bindings: Use an enum for IOCTL numbers

  • nvk: Fix host copies for array images

  • nil: Add a nil_sample_offset() helper

  • nvk: Put a sample map in the descriptor for MSAA storage images

Felix DeGrood (5):

  • anv: fix src_hash dumping for compute shaders

  • anv/measure: ignore events from reused command buffers

  • intel/measure: add nogl feature

  • intel/measure: defer file open until first write

  • intel/measure: increase size of filename malloc to account for \0

Francisco Jerez (8):

  • intel/dev: Add devinfo flag for TBIMR push constant workaround.

  • intel/brw: Implement null push constant workaround.

  • anv/gfx12.5: Pass non-empty push constant data to PS stage for TBIMR workaround.

  • iris/gfx12.5: Pass non-empty push constant data to PS stage for TBIMR workaround.

  • iris: Pin pixel hashing table BO from iris_batch submission instead of from iris_state.

  • intel/brw/gfx12.5+: Fix IR of sub-dword atomic LSC operations.

  • intel/brw/xe2+: Adjust performance analysis divergence weight due to EU fusion removal.

  • intel/fs/xe2: Fix up subdword integer region restriction with strided byte src and packed byte dst.

Frank Binns (9):

  • pvr: minor vulkan driver formatting fixes

  • pvr: drop ‘Imagination’ from deviceName

  • pvr: fix image size calculation when mipLevels is 1

  • pvr: fix bo refcounting for imported buffers

  • pvr: fix use of uninitialised value when setting up tex info swizzle

  • pvr: remove set but not used struct member

  • pvr: add handling for retry error in pvr_srv_rgx_submit_transfer2()

  • pvr: add handling for retry error in pvr_srv_rgx_kick_compute2()

  • pvr: ensure stencil clear value fits TA_STATE_ISPA.sref field

Friedrich Vock (5):

  • radv/rt: Only do ploc atomicCompSwap once per workgroup

  • radv/rt: Don’t atomicAdd local prefix sums

  • aco: Fix 1D->2D dispatch conversion on <gfx9

  • radv/rt: Skip all AABB code when no_skip_aabbs is not set

  • vulkan/rmv: Correctly set heap size

GKraats (8):

  • i915g: fix generation of large mipmaps

  • i915g: fix mipmap-layout for npots

  • i915g: fix max_lod at mipmap-sampling

  • i915g: Screen corruption with ENOBUFS caused by fence register shortage

  • i915g: fix count of buffers at i915_drm_batchbuffer_validate_buffers

  • X11: fix crash of gnome-shell if mesa is compiled with legacy-x11=dri2

  • i915g: fix texture3d npot mipmaps

  • i915g: fix GL_TEXTURE_BASE_LEVEL MAX_LEVEL MIN_LOD and MAX_LOD

Ganesh Belgur Ramachandra (7):

  • radeonsi: fix eptich on chips without image opcodes (e.g. gfx940)

  • amd/common: skip lane size determination for chips without image opcodes (e.g. gfx940)

  • amd: fix incorrect PIPE_INTERLEAVE_BYTES size for CDNA chips

  • radeonsi: fix decode corruptions with AMD_IMAGE_OPCODES=false on non-CDNA based chips

  • amd,radeonsi: use new pass manager to handle midend optimizations

  • amd,radeonsi: reduce legacy::PassManager use to only run backend passes

  • amd: remove the redundant target library info instance in LLVM compiler

Georg Lehmann (126):

  • radv/rt: remove one VALU from traversal loop

  • spirv: ignore more function param decorations

  • aco/optimizer: update temp_rc when converting to uniform bool alu

  • aco: add CompilationProgress::after_lower_to_hw

  • aco: validate temp_rc

  • aco/gfx11+: apply neg to vinterp

  • aco: reorder dpp for ddx/ddy

  • aco/gfx11.5+: use vinterp for fddx/fddy

  • aco/gfx11+: don’t use VOP3 v_swap_b16

  • aco: test xor swap16 path

  • nir/peephole_select: ignore masked/quad swizzle without fetch_inactive

  • aco: optimize 64bit find_lsb/find_msb

  • aco: optimize dd[xy]_fine if it’s only used by abs

  • nir/lower_int64: replace uadd_sat with ior for find_lsb64 and ufind_msb64

  • aco/gfx10+: set lateKill for sgprs used by wave64 VALU writing a mask

  • aco: only set latekill in live_var_analysis

  • aco/tests: don’t test dpp constant propagation with row shift

  • aco/tests: do not use add to tests neg modifer

  • aco/print_ir: use neg() for constants

  • aco/tests: parse neg(constant) in vop3p test

  • aco/tests: allow literals with resolved swizzles in vop3p test

  • aco/tests: do not use mul with constant to tests neg modifier

  • nir: optimize pack_uint_2x16 of pack_half(a, 0)

  • zink: switch to derivative intrinsics

  • aco/ra: unconditionally replace literal with sgpr when promoting to VOP3

  • aco/ra: use parallelcopy to copy literal instead of s_mov

  • aco/ra: fix copying 64bit literal to sgprs

  • aco/ra: always reuse def register for literal copy

  • aco: use v_cvt_pk_u8_f32 for f2u8

  • nir/opt_algebraic: reassociate constants in ior(iand) chains

  • radv/ci: update trace checksums

  • aco/ra: do not reuse killed vcc

  • nir/opt_sink: do not sink load_ubo_vec4 out of loops

  • nir/opt_sink: do not sink inverse_ballot out of loops

  • nir: merge out of loop decision with nir_can_move_instr logic

  • nir/instr_set: fix fp_fast_math

  • aco/isel: add function to create builder for alu

  • aco/ir: add float control definition flags

  • aco/vn: handle sz/inf/nan preserve

  • aco/isel: set per instruction float control modes

  • aco/tests: use new float control flags

  • aco/optimizer: use new per definition float control flags

  • aco: remove per block inf/nan/sz control

  • aco/tests: fix omod signed zero tests

  • radv: advertise VK_KHR_shader_float_controls2

  • nir: add amd shared append/consume

  • amd/nir: add ac_nir_opt_shared_append

  • aco/assembler: support ds_append/ds_*_addtid

  • aco: implement nir_shared_append/consume_amd

  • aco: use ac_nir_opt_shared_append

  • aco/isel: use upper bound for v_mul_u32_u24

  • aco/gfx10+: work around non uniform ds_append wave64 result

  • spirv: explicitly lower derivatives to zero

  • amd: add offset to is_subgroup_invocation_lt_amd

  • ac/lower_ngg: use is_subgroup_invocation_lt_amd offset

  • aco/ssa_elimination: don’t check for VALU limitation when optimizing branching sequence

  • aco/ssa_elimination: optimize branching sequence with SALU that has multiple definitions

  • aco: optimize lanecount_to_mask

  • nir: sink is_subgroup_invocation_lt_amd

  • nir: replace nir_opt_remove_phis_block with a single source version

  • nir: make nir_instr_clone usable with load_const and undef

  • nir/opt_remove_phis: rematerialize constants

  • radv: remove nir_opt_reuse_constants call

  • nir: delete nir_opt_reuse_constants

  • vc4/ci: documment new failure

  • aco: use s_pack_hl for shfr16

  • aco: use s_pack_lh for bitfield_select(0xffff)

  • radv: call nir_opt_remove_phis in radv_optimize_nir_algebraic

  • nir/opt_move_discards_to_top: handle ddx/ddy intrinsics

  • elk: remove alu fddx/fddy check

  • ir3: remove alu fddx/fddy check

  • spirv: remove alu fddx/fddy from comment

  • mesa/prog_to_nir: use derivative builder

  • nir: always emit ddx intrinsics

  • nir: remove uses_fddx_fddy

  • nir: remove alu ddx/ddy

  • nir: remove nir_op_is_derivative

  • aco/ir: add function to parse depctr waits

  • aco: do not track ALU delay across jumps

  • aco/insert_delay_alu: consider more implicit waits

  • aco/insert_delay_alu: do not delay lane mask fast forwarding

  • aco/statistics: update branch issue cycles

  • aco/print_ir: use parse_depctr_wait

  • meson: remove selinux option

  • ci: remove selinux from containers

  • aco: fix 64bit extract_i8/extract_i16

  • aco/insert_exec: don’t pretend WQMState is a bit mask

  • aco/insert_exec: replace pair with a named struct

  • aco/insert_exec: remove stray break_cond variable

  • aco/insert_exec: untangle add_branch_code control flow

  • aco/insert_exec: remove unused includes

  • aco/ir: rework Operand equality to return true for equal fixed non-temp ops

  • aco/insert_exec: remove get_exec_op

  • nir/opt_algebraic: optimize -0.0 + a

  • aco/ssa_elimination: also optimize branching sequence with s_and without saveexec

  • aco/insert_exec: avoid phis for masks in exec

  • aco/insert_exec: don’t always reset top exec

  • aco/insert_exec: reuse old exec temp in loop pre-header

  • aco/insert_exec: reuse old exec temp instead using s_and_saveexec

  • aco/ssa_elimination: don’t avoid saving exec when optimizing branching sequence

  • radv: don’t use v_mqsad_u32_u8 on gfx7

  • aco: remove heuristic that restricts VOP2/C with 2 sgprs

  • aco/ssa_elimination: add instr_accesses helper

  • aco/ssa_elimination: don’t assume exec writes can be removed based on block kind

  • aco: optimize conditional divergent breaks at the end of loops

  • aco: move exec copy out of waterfall loops

  • ac/llvm: handle shared atomic base offset

  • nir,radv: optimize shared atomic offsets

  • nir/opt_algebraic: create ubfe with non constant mask

  • radv: use nir_opt_fragdepth

  • nir: add SYSTEM_VALUE_PIXEL_COORD

  • radv: add support for load_pixel_coord

  • ac/llvm: implement load_pixel_coord

  • aco: implement load_pixel_coord

  • nir: add nir_opt_frag_coord_to_pixel_coord

  • radv: use nir_opt_frag_coord_to_pixel_coord

  • nir/opt_frag_coord_to_pixel_coord: optimize trunc/floor

  • nir/lower_wpos_ytransform: remove unnecessary state variable

  • nir/lower_wpos_ytransform: remove redundant state shader

  • nir/lower_wpos_ytransform: clean up baryc_at_offset

  • nir/lower_wpos_ytransform: clean up sample_pos

  • nir/lower_wpos_ytransform: clean up wpos_adjustment

  • nir/lower_wpos_ytransform: use more typical pass structure

  • nir/lower_wpos_ytransform: remove reference to long removed TGSI code

  • nir/lower_fragcoord_wtrans: use intrinsics_pass

  • amd: lower gl_FragCoord.w rcp in NIR

George Ouzounoudis (3):

  • d3d12: Split memory size info to device and system memory

  • d3d12: Keep track of size and number of evictions

  • d3d12: Add support for GL_NVX_gpu_memory_info and GL_ATI_meminfo

Gert Wollny (2):

  • nir/opt_algebraic: Allow two-step lowering of ftrunc@64 to use ffract@64

  • Revert: r600/sfn: call nir_lower_doubles explicitely”

Guilherme Gallo (26):

  • bin/ci: crnm: Deal with `created` status

  • bin/ci: crnm: Fix pipeline monitoring skipping

  • bin/ci: crnm: Reduce trace cluttering

  • bin/ci: crnm: Don’t overwrite the global sets

  • bin/ci: crnm: Use frozen set for statuses

  • ci/a618: Fix zink-tu-a618-full rules

  • ci/freedreno: Rebalance limozeen jobs

  • ci/freedreno: Replace 2 limozeen with kingoftown

  • ci/freedreno: Rebalance jobs via fraction and parallel

  • ci/freedreno: Add a618_gl_full

  • ci/amd: Rebalance radeonsi-stoney-gl:x86_64

  • ci/amd: Rebalance jobs via DEQP_FRACTION

  • ci/intel: Rebalance jobs via parallel

  • ci/anv: Introduce missing farm var for ADL jobs

  • ci/anv: Update xfiles

  • ci/lava: Make perf jobs use pyutils artifact

  • ci/zink: Add skips for zink-anv-(adl|tgl)

  • ci/radv: Rebalance stoney-vkcts

  • ci: Use merge-skips files during merge pipelines

  • ci/amd: Track merge-skips.txt changes

  • ci/amd: Reassign radv-raven-traces from zork to dalboz

  • ci/panfrost: Increment panfrost-g52-gl parallel no.

  • ci/freedreno: Rebalance limozeen jobs

  • ci/turnip: Rebalance kingoftown jobs

  • ci/lava: Fix lava-tags parsing

  • ci/lava: Fix LAVA job definition tests

Gurchetan Singh (145):

  • vulkan/runtime: introduce vk_meta_object_list

  • tu: use os_get_total_physical_memory(..)

  • vulkan: fix glibc AOSP build

  • vulkan/android: change vk_enum_defines.h path

  • gfxstream: fix Linux guest build

  • gfxstream-guest: add precise virtio-gpu capabilities

  • gfxstream: use ASG for Vulkan streams only

  • gfxstream: gfxstreamCapset –> vulkanCapset

  • gfxstream: query non-Vulkan caps from the guest

  • gfxstream/guest: add GetRingParamsFromCapset function

  • gfxstream/guest: use GetRingParamsFromCapset

  • gfxstream: nuke unused functions

  • gfxstream: simplify VK_HOST_CONNECTION macro

  • gfxstream: don’t use renderControlEnc for Vulkan

  • gfxstream: nuke ResourceTracker::Impl

  • gfxstream: fix meson build system issues

  • gfxstream/guest: pass through Android process names

  • gfxstream: import Vulkan-docs from 463f8c

  • gfxstream: vulkan-Docs: import the cerealgenerator

  • gfxstream: vulkan-docs: track feature type

  • gfxstream: vulkan-docs: add cereal generator

  • gfxstream: genvk: add support for vk_gfxstream.xml

  • gfxstream: vulkan-docs: don’t auto-generate vk_android_native_buffer

  • gfxstream: add generate-gfxstream-vulkan.sh

  • gfxstream: add support for VK_KHR_maintenance5 + VK_EXT_host_image_copy

  • gfxstream: use standard Vulkan headers and new auto-gen flow

  • gfxstream: look for common/opengl headers

  • gfxstream: cereal: [moduleType] –> [(moduleType, moduleName)]

  • gfxstream: cereal: SUPPORTED_WRAPPERS –> SUPPORTED_MODULES

  • gfxstream: codegen EXT_swapchain_maintenance1 + KHR_swapchain host only

  • gfxstream: mesa: import Mesa

  • gfxstream: mega-change to support guest Linux WSI with gfxstream

  • gfxstream: nuke goldfish_vk_handlemap

  • gfxstream: use absolute path for some code

  • genvk: options.filename –> args.target

  • gfxstream: codegen: allow generating host/guest autogen separately

  • gfxstream: guest: cpp_args –> guest_cpp_args

  • gfxstream: reduce use of PLATFORM_SDK_VERSION

  • gfxstream: PLATFORM_SDK_VERSION –> ANDROID_API_LEVEL

  • gfxstream: don’t forward declare ProcessResources

  • gfxstream: nuke VIRTIO_GPU flag

  • gfxstream: nuke HOST_BUILD

  • gfxstream: add GFXSTREAM_ENABLE_GUEST_GOLDFISH

  • gfxstream: add REQUIRED_TYPES list

  • gfxstream: always initialize rcEncoder and other things

  • gfxstream: build the test layer via Meson

  • gfxstream: generate development ICD for meson build

  • gfxstream: always advertise device memory extension guest side

  • gfxstream: convert some Vulkan to mesa_log(..)

  • gfxstream: valgrind fix

  • gfxstream: add VK_EXT_vertex_attribute_divisor

  • Revert^2 “gfxstream: add VK_EXT_vertex_attribute_divisor”

  • Revert “gfxstream: Add vkCmdPipelineBarrier2 implementation in VkDecoderGlobalState”

  • Revert “Revert “gfxstream: Add vkCmdPipelineBarrier2 implementat…”

  • gfxstream: ResourceTracker: fix mesa_loge(..)

  • gfxstream: guest: add VK_EXT_color_write_enable

  • gfxstream: guest: add XCB Surface support

  • gfxstream: guest: support blobCmd + blobCmdSize

  • gfxstream: don’t define hasDedicatedImage + hasDedicatedBuffer multiple times

  • Revert “Add snapshot support for vkBindImageMemory2”

  • gfxstream: guest: enable virtio-gpu kumquat

  • gfxstream: host + guest: bump up version of the protocol

  • gfxstream: linux guest: support client-side blob allocations

  • gfxstream: guest: fix useless return statement

  • gfxstream: guest: simpler get param for kumquat

  • gfxstream: host: introduce vkGetSemaphoreGOOGLE

  • gfxstream: guest: add GFXSTREAM_ACQUIRE_SYNC protocol

  • gfxstream: guest: add experimental fence passing APIs

  • gfxstream: guest: mBlobId -> mAtomicId

  • gfxstream: guest: start using new vkGetSemaphoreGOOGLE apis

  • gfxstream: kumquat: unmap memory when needed

  • gfxstream: guest: fix kumquat build

  • gfxstream: vulkan: fix issue with GCC

  • gfxstream: guest: nuke AndroidLock

  • gfxstream: guest: nuke aemu/base/Optional.h

  • gfxstream: guest: nuke unused functions

  • gfxstream: guest: make sure signalSemaphoreValueCount is correct

  • gfxstream: guest: vk_CmdBeginTransformFeedbackEXT fix

  • gfxstream: host: don’t abort when unbox fails

  • gfxstream: guest: add support VK_FORMAT_A2R10G10B10_UNORM_PACK32 Wayland buffers

  • gfxstream: guest: use MESA_SCOPE_TRACE

  • gfxstream: guest: nuke more AEMU base stuff

  • gfxstream: guest: kumquat: fixes in preparation for AOSP Kumquat testing

  • gfxstream: nuke set instance for testing

  • gfxstream: nuke libplatform stub

  • gfxstream: guest: plumb descriptor all the way through the HostConnection

  • gfxstream: connect to the specificied kumquat socket

  • gfxstream: guest: add vkInitializeKumquat

  • gfxstream: guest: nuke Android HealthMonitor

  • gfxstream: guest: plumb the descriptor everywhere

  • gfxstream: end2end: nuke RutabagaLayer, use kumquat for testing

  • gfxstream: simplify GLESv1/GLESv2/EGL/Vulkan builds

  • gfxstream: nuke ErrorLog.h

  • gfxstream: nuke AlignedBuf.h

  • gfxstream: nuke mWorkPool

  • gfxstream: guest: nuke vk_enum_string_helper.h

  • gfxstream: guest: nuke Fuchsia Goldfish Address Space

  • gfxstream: guest: nuke unnecessary Android properties

  • gfxstream: guest: nuke goldfish_address_space_android.impl

  • gfxstream: guest: mesa-ify GoldfishAddressSpace

  • gfxstream: guest: mesa-ify libplatform_virtgpu

  • gfxstream: guest: add virtgpu suffix

  • gfxstream: guest: remove EmulatorFeatureInfo dependency in libgfxstream_vulkan.so

  • gfxstream: guest: simplify Vulkan sequence number logic

  • gfxstream: sync command buffer api with Mesa upstream

  • gfxstream: move EmulatorFeatureInfo and ExtendedRenderControl

  • gfxstream: guest: remove dependency on EmulatorFeatureInfo

  • gfxstream: add processPipeInit and connect to IOStream

  • Reapply “gfxstream: nuke mWorkPool”

  • gfxstream: guest: fix timeout issues

  • gfxstream: guest: introduce Gralloc::getGrallocType()

  • gfxstream: guest: remove renderControl dependency from Gralloc

  • gfxstream: GrallocMinigbm uses platform_virtgpu

  • gfxstream: mesa-ify libgfxstream_android

  • gfxstream: delete duplicate virtgpu_drm.h

  • gfxstream: guest: don’t rely on HostConnection for platform helpers

  • gfxstream: guest: introduce GfxStreamConnectionManager

  • gfxstream: guest: vulkan: use connection manager

  • gfxstream: guest: introduce QemuPipeStream stub

  • gfxstream: guest: fully mesa-ify vulkan_enc

  • gfxstream: guest: remove unnecessary includes in VkEncoder

  • gfxstream: guest: remove unneeded dependencies in meson build

  • gfxstream: guest: vulkan: use hardware/google/aemu

  • gfxstream: guest: vulkan: don’t assume Android

  • gfxstream: guest: nuke android_compat directory

  • gfxstream: move goldfish sync

  • gfxstream: guest: Gralloc –> GfxStreamGralloc

  • gfxstream: don’t assert without host

  • gfxstream: move include outside of ANDROID

  • gfxstream: codegen: don’t require clang-format

  • gfxstream: delete unneccessary code

  • gfxstream: build time guest autogeneration

  • gfxstream: re-license files

  • gfxstream: re-license cereal

  • gfxstream: simplify codegen

  • gfxstream: moar relicense

  • mesa: gfxstream: nuke vk_icd_*

  • mesa: add gfxstream-experimental to -Dvulkan-drivers

  • gfxstream: add clang-format

  • gfxstream: nuke util function

  • gfxstream: use util/libsync

  • util: add sync_fence_info

  • gfxstream: use sync_fence_info

  • gfxstream: move generate-gfxstream-vulkan.sh script

  • gfxstream: update Kumquat API

Hailin Zhang (1):

  • Vulkan: fix dstArrayElement index wrap issue

Hans-Kristian Arntzen (4):

  • wsi/common: Do not update present mode with MESA_VK_WSI_PRESENT_MODE.

  • wsi/x11: Bump maximum number of outstanding COMPLETE events.

  • radv: Always make sure to write the pipeline binary key.

  • vulkan/wsi/wayland: Use X11-style image count strategy when using FIFO.

Hsieh, Mike (4):

  • amd/vpelib: Remove deprecated update_3dlut flag

  • amd/vpelib: Refactor OPP registers

  • amd/vpelib: Add cache mechanism for 3D Lut command

  • amd/vpelib: Refactor 3D LUT code

Hyunjun Ko (25):

  • intel/genxml: add a missing value for MFX_SURFACE_STATE

  • intel/genxml: change the length of MFX_QM_STATE

  • intel/genxml: update VDENC instructions

  • vulkan/video: adds a bitstream writer of h264 slice header

  • anv/query: handle VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR

  • anv/video: remove unnecessary macros

  • anv/video: implemnt VkGetEncodedVideoSessionParametersKHR

  • anv/video: initial support for h264 encoding

  • anv: enable VK_KHR_video_encode_queue and VK_KHR_video_encode_h264

  • intel/genxml: Add missing fields for HCP_SLICE_STATE

  • intel/genxml: fix the length of VDENC_DS_REF_SURFACE_STATE

  • intel/genxml: Adds more VDENC commands

  • intel/genxml: fix some length of HCP_FQM_STATE

  • intel/genxml: adds a value of reference pic to HCP_SURFACE_STATE

  • intel/decoder: Handle HCP_PAK_INSERT_OBJECT

  • vulkan/video: adds a bitstream writer of h265 slice header

  • anv/query: consider codec when querying the encoding status.

  • anv/video: initial support for h265 encoding

  • anv: support h265 encoding

  • zink: walk the chain of resources for multi-planar formats.

  • anv/video: support VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR.

  • anv: consider VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR when allocating mv storgae.

  • anv: support for inline query for vulkan video

  • anv: support VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR

  • anv: enable KHR_video_maintenance1

Iago Toral Quiroga (22):

  • v3d: move TLB blit checks to a helper

  • v3d: support blitting straight from tile buffer

  • v3d: add a faster TLB blit path

  • v3d: do not expose EXT_float_blend

  • broadcom/compiler: emit instructions producing flags earlier

  • broadcom: implement nir_op_uclz

  • broadcom: drop backend implementation of nir_op_ufind_msb

  • broadcom/compiler: skip small immediates optimization on vpm instructions

  • broadcom/compiler: rename is_ldunif_dst to try_rf0

  • broadcom/compiler: avoid register conflict with ldunif(a) and ldvary

  • broadcom/compiler: don’t add const offset to unifa if it is 0

  • broadcom/compiler: don’t use small immediates in geometry stages

  • v3d: support shader precompile for compute shaders

  • nir: make fclamp_pos_mali and fsat_signed_mali opcodes generic

  • broadcom: add missing opcodes for fmov on mul alu for V3D 7.x

  • broadcom: add helpers to identify availability of new unpack modifiers

  • broadcom/compiler: implement NIR mali opcodes for clamping

  • broadcom/compiler: generate mali opcodes for clamping on Pi5

  • broadcom: fix pairing tmu lookup with previous ldtmu

  • v3dv: drop device_id field

  • v3dv: rewrite device identification

  • v3dv: fix leak during device initialization

Ian Forbes (1):

  • driconf: Re-enable GLX_EXT_buffer_age on vmwgfx

Ian Romanick (48):

  • nir/range_analysis: Fix errors in fmin and fmax tables

  • nir/algebraic: Optimize some bit operation nonsense observed in some shaders

  • nir/algebraic: Optimize some masking of extract_u8 operations

  • intel/brw: Fix undefined shift by 64 of uint64_t in brw_compute_first_urb_slot_required

  • intel/brw: Fix undefined left shift of negative value in update_uip_jip

  • intel/brw: Fix undefined left shift of large UW value in brw_imm_uw

  • intel/brw: Fix undefined left shift of negative value in brw_texture_offset

  • intel/elk: Fix undefined shift by 64 of uint64_t in elk_compute_first_urb_slot_required

  • intel/elk: Fix undefined left shift of negative value in update_uip_jip

  • intel/elk: Fix undefined left shift of large UW value in elk_imm_uw

  • intel/elk: Fix undefined left shift of negative value in elk_texture_offset

  • intel/brw: Eliminate dead flag writes

  • intel/brw: Don’t propagate saturate to an instruction that writes flags

  • intel/elk: Don’t propagate saturate to an instruction that writes flags

  • intel/brw: Small code refactor in brw_fs_opt_saturate_propagation

  • intel/brw: Use def analysis for simple cases of saturate propagation

  • intel/brw: Move fsat instructions closer to the source

  • intel/brw: Make 16-bit ishl, ishr, and ushr SSA friendly

  • intel/brw: Make ifind_msb SSA friendly

  • nir/algebraic: Improve some find_lsb and ifind_msb patterns

  • anv: Protect against OOB access to anv_state_pool::buckets

  • anv: Larger memory pools for huge shaders

  • intel/brw/xe2: Allow int64 conversions

  • nir/algebraic: Remove incorrect bfi of iand pattern

  • nir/divergence: resource_intel is less divergent than you thought

  • intel/brw: Copy prop from raw integer moves with mismatched types

  • intel/brw: Run intel_nir_lower_conversions only after brw_nir_optimize

  • intel/brw: Unconditionally run optimizations after nir_opt_uniform_subgroup

  • intel/brw: Relax is_partial_write check in cmod propagation

  • intel/brw: Enable constant propagation for a couple more logical sends

  • intel/brw: load_offset cannot be constant on this path

  • nir/algebraic: Optimize more comparisons with b2f

  • nir/algebraic: Recognize open-coded bitfield_reverse in XCOM 2

  • nir: Add a pass to generate BFI instructions from logical operations

  • intel/brw: Use nir_opt_generate_bfi

  • r600: Use nir_opt_generate_bfi to generate bitfield_select

  • radeonsi: Use nir_opt_generate_bfi to generate bitfield_select

  • radv: Use nir_opt_generate_bfi to generate bitfield_select

  • brw/copy: Don’t remove instructions w/ conditional modifier

  • brw/builder: Add new style ALU3 builder

  • brw/sat: Fix small typos, copy and paste, etc.

  • brw/sat: Convert nearly all tests to use new style builders

  • brw/algebraic: Refactor constant folding out of brw_fs_opt_algebraic

  • brw/copy: Perform constant folding with constant propagation

  • brw: Call brw_fs_opt_algebraic less often

  • brw/emit: Add correct 3-source instruction assertions for each platform

  • brw/copy: Don’t copy propagate through smaller entry dest size

  • brw/cse: Don’t eliminate instructions that write flags

Icenowy Zheng (10):

  • zink: reject Imagination proprietary driver w/o geometryShader

  • gallivm: orcjit: keep the ownership of tm for LPJit

  • gallivm: orcjit: use atexit to release LPJit singleton at exit

  • util: detect LoongArch architecture

  • gallivm: add LoongArch support to the mattrs setting code

  • llvmpipe: add LoongArch support in ORCJIT

  • zink: do not expose quad support when no geometry shader

  • pvr: enlarge transfer fw_stream buffer for multicore

  • pvr: add tpu_dm_global_registers feature

  • pvr: emit tpu_tag_cdm_ctrl in compute stream when present

Igor Chernyshev (4):

  • Add VK_EXT_debug_utils and VK_EXT_scalar_block_layout

  • Enable VK_KHR_create_renderpass2 in Guest

  • Move vkUpdateDescriptorSets to hand-written mode

  • Do not copy invalid descriptor set image view handles

Iliyan Dinev (2):

  • pvr: fix mipmap alignment for non-32bpp textures

  • pvr: handle PVR_SRV_ERROR_RETRY pvr_srv_rgx_kick_render2()

Iván Briano (13):

  • intel/rt: fix terminateOnFirstHit handling

  • nir: add pass to convert ViewIndex to DeviceIndex

  • anv: handle VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT

  • anv: fix adding to wa_addr

  • anv: be consistent about aux usage with modifiers

  • anv: free shaders on rt pipeline compile error

  • anv: skip rt pipeline compile if we found all shaders

  • vulkan: use standard sample locations if there’s no VkPipelineSampleLocationsStateCreateInfoEXT

  • anv: allocate sparse descriptor buffers from the correct heap

  • hasvk: fix non matching image/view format attachment resolve

  • brw: fix task/mesh push constant loading

  • intel/rt: fix ray_query stack address calculation

  • anv: remove unused/misleading/wrong parameters from the RT trampoline

Jami Kettunen (1):

  • nouveau/headers: Fix build without rustfmt

Jason Macnak (49):

  • Rename imported system directory to guest

  • Handle AHB and swapchain info in VkBindImageMemoryInfo

  • Move platform into guest

  • Move guest/shared/* to guest/*

  • Add error logging to aid debugging

  • Make VirtGpu* interfaces

  • Wrap interactions with sync fds in an interface

  • Update namespace in libandroidemu to gfxstream::guest

  • Update iostream namespace to gfxstream::guest

  • Enable building guest Gfxstream components on host

  • Wrap AHardwareBuffer_* interactions into Gralloc interface

  • Update VirtioGpuPipeStream to use VirtGpu abstraction

  • Move SyncHelper to platform

  • Revert “[guest] Check that the singleton VirtGpuDevice matches desired capset”

  • Move info maps into ResourceTracker

  • Promote testing framework to a proper platform backend

  • Use libbase’s property getting functions

  • Add dispatch magic for Gfxstream linux ICD

  • Wrap some classes in “namespace gfxstream::guest {}”

  • Sort and dedup physical device extensions

  • Fix “-Werror=conversion” errors for RanchuHwc

  • Handle AHB R8 format conversions

  • Make RutabagaLayer shared between “guest impls”

  • Introduce Gfxstream Features to decouple Gfxstream from AEMU

  • Ensure glProgramBinary initializes uniform and attrib info

  • Add composition support to the end2end test framework

  • Update emulated gralloc to use AHB format

  • Rename VirtGpuBlob -> VirtGpuResource

  • Explicitly specify target/bind/bpp in resource creation

  • Partial revert of aosp/2858589 to avoid Mesa layer for Android

  • Revert “Partial revert of aosp/2858589 to avoid Mesa layer for Android”

  • Reland “Partial revert of aosp/2858589 to avoid Mesa layer for Android”

  • Update vkMapMemory to not hold lock when calling into enc

  • Remove extra semicolon in VkEncoder

  • Support BGRA render target in CompositorVk

  • Adds helper for tracking command buffers with device lost

  • Adds AHB import and sampling test

  • Add YUV AHB import and sample end2end tests

  • Demote some logs to debug only

  • Disable device groups

  • Ensure mesa struct is translated to gfxstream struct on Android

  • Handle DEPTH_STENCIL_ATTACHMENT_BIT in VK -> AHB usage

  • Handle null handles in vkFreeCommandBuffers

  • Fix vkAllocateCommandBuffers with failing allocation

  • Revert “gfxstream: nuke mWorkPool”

  • Handle external fences in vkGetFenceStatus()

  • Add perfetto tracing to host renderer

  • gfxstream: fix log levels in descriptor handling

  • gfxstream: use gralloc metadata in vkGetAHBPropertiesANDROID

Jean-Francois Thibert (4):

  • Add vkUpdateDescriptorSetWithTemplateKHR to resource tracker

  • gfxstream: Fix usage of encoder after release in vkResetCommandBuffer

  • gfxstream: move staging reset to end of reset command buffer

  • Provided supported formats through gfxstream caps

Jean-François Thibert (1):

  • Add depth formats support to import/export

Jesse (1):

  • amd/vpelib: Config Writer hook and CDC refinement

Jesse Natalie (18):

  • microsoft/clc: Split struct copies before vars_to_ssa in pre-inline optimizations

  • mr-label-maker: Add d3d10umd label rules

  • meson: Add an error message for llvmpipe without llvm draw support

  • wgl: Add missing idep_mesautilformat

  • d3d12: Don’t use a vertex re-ordering GS for line primitives

  • ci/windows: Use MSVC v143 build tools

  • ci/windows: Update VK-GL-CTS to d48899f85b486a70d090af59a1453763458611d9

  • ci/windows: Bump image tags to rebuild deps with v143 build tools

  • compiler, vk: Support subgroup size of 4

  • dzn: Drop custom subgroup size handling

  • microsoft/compiler: Handle subgroup size 4 as a required wave size

  • microsoft/compiler: Move nir_lower_undef_to_zero out of the optimization loop

  • d3d12: Fix shader selector hash to hash array instead of pointer-to-array

  • winsys/d3d12: Use the waitable object to decrease latency

  • wgl: Add driconf options for controlling latency and swap interval

  • winsys/d3d12: Implement the latency control option

  • driconf: Disable dzn for bg3.exe

  • dzn: Clean up dri options cache

Jessica Clarke (3):

  • Revert “meson: Do not require libdrm for DRI2 on hurd”

  • Revert “meson: fix with_dri2 definition for GNU Hurd”

  • meson: egl: Build egl_dri2 driver even for plain DRI

Jiale Zhao (1):

  • llvmpipe: add loongarch util_get_cpu_caps function

Jiali (1):

  • amd/vpelib: Enhance output format capabilities

Jianxun Zhang (8):

  • intel/common: Ensure SIMD16 for fast-clear kernel (xe2)

  • intel/common: Remove blank lines in intel_set_ps_dispatch_state() (xe2)

  • anv: Fix assertion failures on BMG (xe2)

  • iris: Fix an assertion failure with compressed format

  • anv: Disable compression on legacy modifiers (xe2)

  • anv: Disable legacy CCS setup in binding (xe2)

  • Revert “anv: Disable PAT-based compression on depth images (xe2)”

  • Revert “iris: Disable PAT-based compression on depth surfaces (xe2)”

Job Noorman (88):

  • ir3/postsched: improve debug state dumping

  • ir3/postsched: fix calculation of max_delay

  • ir3/postsched: remove unused delay field

  • ir3/postsched: include ss/sy delay in max_delay

  • ir3/postched: don’t prioritize instructions with soft delays

  • ir3: fix spill/reload split src/dst regs

  • ir3: update merge set affinity in shared RA

  • ir3: fix clearing merge sets after shared RA

  • ir3: fix wrong dstn used in postsched

  • ir3: fix counting of repeated registers

  • ir3: correctly count vectorized instructions for tex prefetch

  • ir3: add debug option to expand rpt instructions

  • ir3: print (sat) modifier of instructions

  • ir3: add backend support for repeated instructions

  • ir3: add builders for repeated instructions

  • ir3: make RA aware of repeat groups

  • ir3: add pre-RA pass to clean up repeat groups

  • ir3: add post-RA pass to merge repeat groups into rptN instructions

  • ir3: lower vectorized NIR instructions

  • nir/opt_vectorize: move rewriting of uses to a function

  • nir/opt_vectorize: prepare for multiple try_combine functions

  • nir/opt_vectorize: process blocks in source-code order

  • nir/opt_vectorize: add support for phi nodes

  • ir3: add support for vectorized NIR phi nodes

  • ir3: replace @load_uniform by new @load_const_ir3 intrinsic

  • ir3: rename @store_uniform_ir3 to @store_const_ir3

  • nir/load_store_vectorize: support non-byte offset

  • nir/load_store_vectorize: support stores without wrmask

  • nir/load_store_vectorize: add load/store_const_ir3

  • ir3: enable load/store_const_ir3 vectorization

  • ir3: add support for rpt bary.f/flat.b

  • ir3: use rpt instructions for frag coord

  • ir3: use correct bit size for bools in emit_alu

  • ir3/ci: remove fixed tests from a307-fails

  • ir3: make fullsync sync after shared writes

  • ir3/legalize: handle scalar ALU WAR hazards for a0.x

  • zink/ci: add a618 flake

  • freedreno: don’t require binning and non-binning inputs to match

  • ir3: remove unused outputs for binning pass in NIR

  • ir3: don’t modify const state for the binning variant in ir3_cp

  • ir3: make ir3_const_state less error-prone to use

  • ir3: fix calling ir3_const_state_mut in the binning VS

  • ir3: print predicate inversion for branches

  • ir3: print block divergence info

  • ir3: remove unnecessary reconvergence point in scan_clusters lowering

  • ir3: preserve block divergence info in ir3_lower_subgroups

  • ir3: fix reconvergence points for blocks with two terminators

  • ir3: fix adding physical edges multiple times

  • ir3: fix reconvergence of blocks with multiple divergent predecessors

  • ir3: recalculate reconvergence after opt_jump

  • ir3: use physical cfg in helper_sched

  • ir3: fix recognizing const/imm registers as a0

  • ir3/legalize: don’t add WAR dependencies for const/imm regs

  • ir3: add assert to detect getting reg file of const/imm

  • ir3/legalize: add needs_ss_war helper

  • ir3/legalize: don’t add (ss) for WAR hazards synced with (sy)

  • ir3: add is_war_hazard_producer helper

  • ir3/postsched: take WAR ss-delay into account

  • ir3/legalize: resolve WAR hazards for stc

  • ir3/isa: add isaspec definition for shfl

  • ir3: add ir3_compiler::has_shfl for shfl support on a6xx+

  • ir3/print: add support for shfl

  • ir3: make backend aware of shfl:

  • ir3: add codegen for rotate

  • tu: advertise VK_KHR_shader_subgroup_rotate

  • ir3: disallow immediates for shfl src1

  • nir/load_store_vectorize: fix division by zero

  • nir/lower_int64: add nir_intrinsic_read_invocation_cond_ir3

  • nir/lower_int64: add nir_intrinsic_rotate

  • ir3: lower 64b intrinsics after generic 64b lowering

  • ir3: run 64b phi lowering together with other 64b lowerings

  • ir3: lower 64b SSBO accesses

  • ir3: make ir3_mem_access_size_align publically available

  • tu: lower 64b push constants before lowering IO

  • ir3: add support for 64b reductions

  • tu: advertise shaderInt64

  • nir: add shuffle_{xor,up,down}_uniform_ir3 intrinsics

  • ir3: add codegen for shuffle_{xor,up,down}_uniform_ir3

  • ir3: add helper to get glsl type for nir_def

  • ir3: optimize subgroup shuffles using shfl

  • nir/lower_subgroups: move up some helper functions

  • nir/lower_subgroups: add build_cluster_mask helper

  • nir/lower_subgroups: scan/reduce for multiple ballot components

  • ir3: fix physical edges of predicated branches

  • freedreno,computerator: add support for local memory

  • ir3: merge is_reg_gpr and reg_gpr

  • ir3/ra: prevent moving source intervals for shared collects

  • ir3,tu: include ir3 debug flags in shader hash key

Jocelyn Falempe (3):

  • loader: Fix typo in __DRI_IMAGE_FORMAT_XBGR16161616 definition

  • gbm/dri: Use PIPE_FORMAT_* instead of using __DRI_IMAGE_*

  • gbm/dri: Fix color format for big endian.

John Anthony (4):

  • pan/kmod: Add max_tasks_per_core to kmod props

  • panvk: Add cmd_dispatch

  • panvk: Pull out task axis and increment calculation for dispatch

  • panvk: Add support for CmdDispatchIndirect

Jonathan Marek (2):

  • freedreno: improve a6xx CP_SET_MARKER xml definition

  • freedreno/a6xx: add missing USES_GMEM flag and BIN_RENDER_END markers

Jordan Justen (31):

  • include/drm-uapi/README: Update README for drm uapi header files

  • intel/brw/validate: Simplify grf span validation check by not using a mask

  • intel/brw/validate: Update dst grf crossing check for Xe2

  • intel/brw/validate: Convert access mask to be grf based

  • intel/dev: Update hwconfig => max_threads_per_psd for Xe2

  • intel/dev: Enable BMG PCI IDs (without INTEL_FORCE_PROBE)

  • anv: Drop “not yet supported” warning for Xe2

  • anv: Do hasvk devices check first

  • intel/dev: Add devinfo::probe_forced based on INTEL_FORCE_PROBE

  • anv: Don’t warn about unsupported devices if INTEL_FORCE_PROBE was used

  • intel/dev: Fix warning for max_threads_per_psd when devinfo->verx10 == 120

  • intel/dev: Add 0xb640 ARL PCI id

  • intel/dev: Rework DEVINFO_HWCONFIG; add DEVINFO_HWCONFIG_KV macro

  • intel/dev: Simplify DEVINFO_HWCONFIG_KV by adding should_apply_hwconfig_item()

  • intel/dev: Allow specifying a version when to always use hwconfig

  • intel/dev: Use hwconfig for urb min/max entry values

  • intel/dev: Support Xe3 device init (for intel_device_info_test)

  • intel/dev: Add XE3_FEATURES macro

  • intel/genxml: Start Xe3 support

  • intel/isl: Build for Xe3

  • intel/shaders: Build for Xe3

  • iris: Build for Xe3

  • intel/dev: Add Xe3 support to get_l3_list()

  • intel/compiler: Add compiler enum for Xe3

  • intel/dev: Add INTEL_PLATFORM_PTL platform enum

  • intel/dev: Add PTL device info

  • intel/dev: Add PTL PCI IDs (with FORCE_PROBE set)

  • intel/brw: Allow Xe3 in brw_stage_has_packed_dispatch()

  • intel/compiler: Xe2 and Xe3 use the same compaction tables

  • anv: Build for Xe3

  • intel/dev: Set L3 bank count for Xe2+ from Xe KMD

Jose Maria Casanova Crespo (5):

  • v3d: v3d_resource Use LINEAR layout for importing with INVALID modifier

  • v3d: avoid load/store of tile buffer on invalidated framebuffer

  • v3d: initialize job local key with the 8 color buffer available in v7.1+

  • v3dv/ci: Add missing fails on RPi4/5 for uprev VKCTS to 1.3.10.0

  • v3d: Enable Early-Z with discards when depth updates are disabled

Joshua Ashton (2):

  • radv: Enable variableSampleLocations

  • radv: Fix sample locations at 0 for X/Y

Joshua Duong (1):

  • For goldfish pipe, compute colorBufferMemoryIndex the same as host.

José Roberto de Souza (50):

  • intel/brw: Add a maximum scratch size restriction

  • anv: Drop useless ‘if (total_scratch > 0) {’ block in cmd_buffer_ensure_cfe_state()

  • anv: Wait for Xe exec queue to be idle before destroying it

  • isl: Fix Xe2 protected mask

  • anv: Propagate protected information to blorp_batch_isl_copy_usage()

  • anv: Improve error message when pipeline creation fails during shader compilation

  • anv: Handle internal shader compilation failure

  • intel: Sync xe_drm.h

  • intel/dev: Support new topology type with SIMD16 EUs

  • docs: Move all ANV environment variables to a single section in envvars

  • anv: Disable sparse even on Xe KMD with ANV_SPARSE

  • docs/anv: Document ANV_SPARSE and ANV_SPARSE_USE_TRTT

  • anv: Extend ANV_QUEUE_OVERRIDE to blit count

  • intel: Remove INTEL_ENGINE_CLASS_COMPUTE and INTEL_ENGINE_CLASS_COPY parameters

  • docs/anv: Remove documentation about INTEL_COMPUTE_CLASS and INTEL_COPY_CLASS

  • anv: Add trivial_batch and query-pool to the error capture

  • anv: Use batch_bo_pool in utrace anv_async_submit_init() calls

  • anv: Nuke anv_utrace_submit::trace_bo

  • intel/isl/gfx20: Alow hierarchial depth buffer write through for multi sampled surfaces

  • anv/gfx20: Enable depth buffer write through for multi sampled images

  • iris/gfx20: Enable depth buffer write through for multi sampled images

  • anv: Nuke perf_metric

  • intel/perf: Fix intel_gem.h include

  • anv: Drop useless ‘>= 0’ check over a unsigned

  • anv: Add anv_device_perf_close()

  • anv: Fix context id or exec queue used to open perf stream

  • anv: Add warning about mismatch between query queues

  • anv: Make sure all previous vm binds are done before execute perf query pool

  • anv: Check if vkCreateQueryPool() is being created in a supported queue

  • anv: Add documentation to some fields in anv_query_pool

  • anv/query: Fix batch end value

  • anv: Improve readbility of khr_perf_query_availability_offset() and khr_perf_query_data_offset()

  • anv: Fix condition to clear query pool with blorp

  • intel: Split anv_xe_wait_exec_queue_idle() and move part of it to common/

  • iris: Use xe_queue_get_syncobj_for_idle()

  • anv: Optimize vkQueueWaitIdle() on Xe KMD

  • intel/perf: Sync oa-lnl.xml

  • intel/perf: Add BMG OA support

  • intel/genxml: Append ‘Z Async Throttle settings’ to gfx125 definition of STATE_COMPUTE_MODE

  • anv: Set all async compute registers in STATE_COMPUTE_MODE

  • intel/genxml: Do small fixes in gfx20 definition of STATE_COMPUTE_MODE

  • anv: Set recommended values for gfx20 async compute registers in STATE_COMPUTE_MODE

  • iris: Program async compute registers of STATE_COMPUTE_MODE in compute engine

  • intel/dev/xe: Set max_eus_per_subslice using topology query

  • intel/dev: Fix max_cs_threads value on simulator

  • intel/perf: Add OA support to ARL

  • drm-uapi: Sync xe_drm.h

  • intel/perf: Extend intel_perf_stream_set_metrics_id() to syncronize metrics id changes

  • intel/perf: Add INTEL_PERF_FEATURE_METRIC_SYNC and check if KMD supports it

  • anv: Enable perf metrics id set syncronization

Juan A. Suarez Romero (32):

  • v3d: use operations to specify what to save in blitter

  • v3d: add new clear blitter op

  • v3d/ci: add failures from piglit all profile

  • v3d/ci: add new flakes

  • vc4: fix typo in simulator conditional declaration

  • v3d/vc4/ci: add address sanitizer jobs

  • v3d/ci: enable full run jobs for rpi5

  • broadcom/ci: annotate some of the failures

  • v3d/ci: add new flakes in rpi5

  • v3d/ci: update number of rpi5 available for testing

  • v3d: free dbuf

  • broadcom/ci: use kernel8 for rpi5 full jobs

  • v3d/ci: update expected results

  • vc4/ci: update expected results

  • Revert “ci: take igalia farm offline”

  • vc4/ci: update expected results

  • vc4: build simulator references conditionally

  • v3d/v3dv: build simulator references conditionally

  • v3d/ci: add new flake for rpi5

  • Revert “v3d: never replace a mapped bo”

  • v3d: do not rebind a sampler view already rebound

  • v3d/ci: add new flake for rpi5

  • v3d/ci: update expected results

  • v3dv/ci: add new flake

  • broadcom: do not include simulator if not available

  • v3d/ci: add new flakes and timeouts

  • vc4: handle nir_op_ult32 intrinsic

  • v3d/v3dv/ci: update expected results

  • v3d/ci: use special kernel for full jobs

  • v3dv/ci: move asan fail to skip

  • v3d: add new flake

  • v3d/ci: add OpenCL failures

Jude Shih (2):

  • amd/vpelib: Dynamic Command List Expansion

  • amd/vpelib: Restructure CDC FE/BE

Jules Blok (5):

  • vulkan: Add support for VK_EXT_depth_clamp_control

  • radv: Add support for VK_EXT_depth_clamp_control

  • anv: Add support for VK_EXT_depth_clamp_control

  • nvk: Add support for VK_EXT_depth_clamp_control

  • docs: Update status of VK_EXT_depth_clamp_control support

Julia Zhang (1):

  • mesa/st: use drawable->ID as hash for drawable_ht

Juston Li (5):

  • anv/android: remove unneeded ANB implicit import flags

  • anv/android: handle R8G8B8X8 as R8G8B8A8

  • anv/android: refactor out u_gralloc tiling query

  • anv/android: resolve ANB swapchain images on bind

  • android: look for debug/vendor prefixed options

K900 (5):

  • gbm: split the DRI backend into a separate library and unify backend handling

  • meson: require libdrm when building gbm

  • meson/gbm: clean up dependencies

  • meson: remove dri-search-path

  • meson/gbm: fix meson devenv for GBM backends

Kai Wasserbäch (2):

  • fix(FTBFS): clover: use `.getDataLayout()` with LLVM >= 20

  • fix(FTBFS): build: link OpenCL target with `dep_clang` from top-level

Karmjit Mahil (12):

  • freedreno: Enable the A735

  • tu: Set `TU_ACCESS_CCHE_READ` for transfer ops with read access

  • freedreno: Define SP_DITHER_CNTL (0xA9AC)

  • tu: Implement VK_EXT_legacy_dithering

  • ir3: Use `foreach_instr_safe` in ir3_shared_folding

  • pvr: Fix `barier`->`barrier` typo

  • pvr: Use a pixel size of `0` for invalid pbe accum formats

  • pvr: Regenerate all descriptor program data sections

  • pvr: Handle DISABLE_PIXELMERGE

  • tu: Fix push_set host memory leak on command buffer reset

  • tu: Fix potential alloc of 0 size

  • nir: Fix `no_lower_set` leak on early return

Karol Herbst (101):

  • spirv: generate info for FunctionParameterAttribute

  • spirv: initial parsing of function parameter decorations

  • spirv: handle function parameters passed by value

  • nak: allow clippy::not_unsafe_ptr_arg_deref lints

  • nak: fix clippy::if_same_then_else error

  • rusticl/platform: add perf debug option

  • rusticl/memory: remove stale TODOs

  • rusticl/memory: add a couple of performance warnings

  • rusticl: move more kernel related things into kernel.rs

  • rusticl/kernel: make some types and fields private

  • rusticl/kernel: move setting of nir metadata into lower_and_optimize_nir

  • rusticl/program: move attribute_str to the spirv module

  • rusticl: use blob for all serialization

  • rusticl: remove unsued serialization helpers

  • rusticl/kernel: add type for the convert_spirv_to_nir return value

  • rusticl/kernel: move internal_args into NirKernelBuild

  • clc: force linking of spirvs with mismatching pointer types in signatures

  • rusticl/spirv: do not add additional new lines when joining logs

  • rusticl: fix clippy lint having bounds defined in multiple places

  • rusticl/program: protect against 0 length in slice::from_raw_parts

  • rusticl/api: protect against 0 length in slice::from_raw_parts

  • rusticl/spirv: protect against 0 length in slice::from_raw_parts

  • nouveau: handle realloc failure inside cli_kref_set

  • rusticl: bump rust req to 1.76

  • rusticl: use div_ceil

  • rusticl: use next_multiple_of

  • rusticl: use pointer byte offset API

  • rusticl: replace some raw pointer casts

  • rusticl: use ptr::from_ref and ptr::from_mut

  • rusticl/icd: use ptr::addr_eq

  • meson: centralize rust handling

  • docs: move rust update policy

  • meson: centralize bindgen version check

  • meson: centralize checking for new enough meson for rust support

  • nir: add load_global_size intrinsic

  • rusticl/kernel: emit system values with the correct device size

  • rusticl/kernel: handle load_global_size

  • mesa: check for enabled extensions for *UID enums

  • nouveau/winsys: fix handling of NV_DEVICE_TYPE_IGP

  • nouveau: use nv_devince_info and fill in PCI and type information

  • nouveau: add nv_device_uuid

  • nouveau: implement driver_uuid and device_uuid

  • nvk: use nv_device_uuid

  • nouveau: remove nouveau_check_for_uma

  • nouveau: implement PIPE_PCI caps

  • nouveau: use nv_device_info directly for dumping push buffers

  • zink: lower 64 bit find_lsb, ufind_msb and bit_count

  • zink: lower 8/16 bit alu ops vk spirv doesn’t allow

  • rusticl/kernel: properly respect device thread limits per dimension

  • rusticl/device: Make supported 1Dbuffer formats a strict subset of 1D

  • rusticl/memory: Fix memory unmaps after rework

  • rusticl/image: take pitches into account when allocating memory for maps

  • rusticl/image: properly sync mappings content for 1Dbuffer images

  • rusticl/queue: add clSetCommandQueueProperty

  • util/u_printf: do not double print format string with unused arugments

  • rusticl/memory: fix sampler argument size check

  • rusticl/kernel: move kernel size into Constant arg type

  • rusticl/kernel: rename InternalKernelArg to CompiledKernelArg

  • rusticl/kernel: remove CompiledKernelArg::size

  • rusticl/kernel: make CompiledKernelArg::offset a u32

  • rusticl/kernel: make KernelArg::offset and KernelArg::binding proper u32 values

  • rusticl/kernel: rename InternalKernelArgType to CompiledKernelArgType

  • rusticl/kernel: move serialization code of KernelArgType

  • rusticl/kernel: big kernel arg rework

  • rusticl/kernel: add KernelArgType::is_opaque

  • rusticl/kernel: move CompiledKernelArg decleration above the impl block

  • rusticl/kernel: simplify adding internal kernel args

  • rusticl/mem: do not check against image base alignment for 1Dbuffer images

  • rusticl: do not use CL vector types in bindings and code

  • ac/llvm: fix umul_high

  • rusticl/device: limit CL_DEVICE_IMAGE_MAX_BUFFER_SIZE more aggressively

  • vtn: ignore volatile on functions for now

  • clc: add support for more image related extensions

  • compiler/types: Add multisample vimage/vtexture types

  • nir: Support multisampled images in lower_read_only_images_to_tex()

  • vtn, nir: handle OpImageQueryLevels on images

  • vtn: mark ImageMipmap as supported

  • rusticl: reuse PipeContext

  • zink: cache generated vendor and device name inside zink_screen

  • rusticl/mesa: Return CStr for device and vendor names.

  • clc: fix compilation error with llvm-20

  • rusticl/kernel: move dead_var options into constant space

  • rusticl/platform: add env variable to disable kernel variants

  • rusticl/mesa: add more workgroup_Size functions to NirShader

  • rusticl/mesa: implement Clone for NirShader

  • rusticl/kernel: move assign_locations into CompiledKernelArg

  • rusticl/kernel: split up nir compilation into various steps

  • rusticl/kernel: track if arg is dead inside CompiledKernelArg

  • rusticl/kernel: add CompilationResult to hold compilation artifacts

  • rusticl/kernel: add optimized Kernel variant

  • rusticl: add nir debugging option

  • rusticl: allow devices to be enabled by default

  • docs: document gallium-rusticl-enable-drivers

  • asahi: implement get_cl_cts_version

  • rusticl: allow asahi to be enabled by default

  • zink: add CL CTS result

  • radeonsi: move si_compute::global_buffers to si_context

  • nv/codegen: Do not use a zero immediate for tex instructions

  • nvc0: return NULL instead of asserting in nvc0_resource_from_user_memory

  • rusticl/kernel: fix kernel variant selection

  • vtn: handle struct kernel arguments passed by value

Kenneth Graunke (48):

  • intel/brw: Don’t force g1’s live range to be the entire program

  • intel/brw: Delete fs_reg_alloc::discard_interference_graph()

  • intel/brw: Record that SHADER_OPCODE_SCRATCH_HEADER uses g0

  • intel/brw: Record g0 as live for sends with send_ex_desc_scratch set

  • intel/brw: Only force g0’s liveness to be the whole program if spilling

  • intel/brw: Mark all UBO access with a direct buffer index as speculative

  • intel/brw: Delete the brw_fs_opt_peephole_select() pass

  • intel/brw: Delete the brw_fs_opt_dead_control_flow_eliminate() pass

  • intel/brw: Replace predicated break optimization with a simple peephole

  • intel/brw: Set appropriate types for 16-bit sampler trailing components

  • intel/brw: Drop image_{load,store}_raw_intel handling

  • intel/brw: Pass opcode to brw_swsb_encode/decode

  • intel/brw: Fix Xe2+ SWSB encoding/decoding for DPAS instructions

  • intel: Fix bad align_offset on global_constant_uniform_block_intel

  • intel/brw: Fix OOB reads when printing instructions post-reg-alloc

  • intel/brw: Print blocks in brw_print_instructions_to_file()

  • intel/brw: Add a file parameter to idom_tree::dump()

  • intel/brw: Switch from LSC CMASK opcodes to regular LOAD/STORE

  • intel/brw: Get rid of the lsc_msg_desc_wcmask helper

  • intel/brw: Drop misguided sign extension attempts in extract_imm()

  • intel/brw: Fix extract_imm for subregion reads of 64-bit immediates

  • intel/brw: Use NUM_BRW_OPCODES in can_omit_write() check

  • intel/brw: Use size_written for NoMask instructions in is_partial_write

  • intel/brw: Rename lsc_aop_for_nir_intrinsic to “op” instead of “aop”

  • intel/brw: Handle load/stores in lsc_op_for_nir_intrinsic()

  • intel/brw: Introduce new MEMORY_*_LOGICAL opcodes

  • intel/brw: Expose functions to convert LSC enums to strings

  • intel/brw: Pretty-print memory logical opcodes

  • intel/brw: Lower MEMORY_OPCODE_*_LOGICAL to LSC messages

  • intel/brw: Lower MEMORY_OPCODE_*_LOGICAL to HDC messages

  • intel/brw: Switch load_num_workgroups to the new memory intrinsic

  • intel/brw: Switch to emitting MEMORY_*_LOGICAL opcodes

  • intel/brw: Switch load_ubo_uniform_block_intel over to memory intrinsics

  • intel/brw: Delete old-style surface and A64 message opcodes

  • intel/brw: Don’t include sync.nop in INTEL_DEBUG instruction counts

  • nir: Don’t generate single iteration loops to zero-initialize memory

  • intel/brw: Fix spill/fill count for load/store_scratch in SIMD32

  • intel/brw: Delete Gfx7-8 code from emit_barrier()

  • intel/brw: Make a ubld temporary in emit_barrier()

  • intel/brw: Fix register and builder size in emit_barrier() for Xe2

  • intel/brw: Delete more Gfx8 code from brw_fs_combine_constants

  • intel/brw: Use whole 512-bit registers in constant combining on Xe2

  • brw: Optimize 16-bit texture fetches later

  • intel/brw: Allow immediates in the BFE instruction on Gfx12+

  • brw/validate: Return an error for Align16 access mode on Icelake+

  • brw/emit: Fix align16 3src subregister encodings for HF types

  • intel: Set shader_spilling_rate=11 in intel_clc

  • brw: Fix try_rebuild_source’s ult32/ushr handling to use unsigned types

Konrad Dybcio (1):

  • freedreno: Add initial A621 support

Konstantin (5):

  • util: Handle more formats in get_plane_(width|height)

  • vtn: Remove dead shader_call_data from all RT stages

  • radv: Handle instruction encodings > 8 bytes when splitting disassembly

  • radv: Handle repeated instructions when splitting disassembly

  • meson: Allow building lavapipe without specifying llvmpipe

Konstantin Seurer (28):

  • llvmpipe: Improve PIPE_QUERY_PIPELINE_STATISTICS accuracy

  • lavapipe: Fix box sorting during ray traversal

  • aco: print s_delay_alu INSTSKIP>3 correctly

  • gallivm: Use variables for loop exec mask handling

  • gallivm: Skip inactive branches

  • radv: Synchronize shader dumping

  • llvmpipe: Use derivative intrinsics

  • nir: Introduce nir_debug_info_instr

  • spirv: Emit nir_debug_info_instr for OpLine

  • nir/print: Add a helper for generating debug info

  • nir/opt_loop: Fix handling else-breaks in merge_terminators

  • gallium,st/mesa: Add and set pipe_image_view::is_2d_view_of_3d

  • lavapipe: Implement VK_EXT_image_2d_view_of_3d with sparse textures

  • lavapipe: Do not adjust imageGranularity for different block sizes

  • radv: Work around broken terrain in Warhammer III

  • radv: Initialize sqtt state before meta state

  • radv: Workaround apps using ray tracing when it is unsupported

  • lavapipe: Fix report_ray_intersection affecting terminated rays

  • lavapipe: Do not return in report_ray_intersection

  • radv: Fix report_ray_intersection affecting terminated rays

  • lavapipe: Implement clustered reductions

  • lavapipe: Implement VK_KHR_shader_subgroup_rotate

  • Revert “lavapipe: Do not return in report_ray_intersection”

  • lavapipe: Set minAccelerationStructureScratchOffsetAlignment to 8

  • radv/meta: Do not pass NULL to vk_texcompress_astc_finish

  • nir/print: Fix the alignment of 8-bit definitions

  • radv: Remap 10 and 12 bit formats to 16 bit formats

  • radv: Move ac_addrlib to the physical device

Kovac, Krunoslav (4):

  • amd/vpelib: DPP starting changes

  • amd/vpelib: MPC refactoring HW registers

  • amd/vpelib: Refactor MPC registers

  • amd/vpelib: Reuse existing float to reg format conversion

Lars Harrison (3):

  • Provide error message on unhandled VK structs

  • Always initialize gfxstream vulkan

  • Fix coherent memory allocation to use device

Lars-Ivar Hesselberg Simonsen (12):

  • panfrost: Move ForEachMacros into panfrost

  • pan/genxml: Add pan_pack_nodefaults()

  • panfrost: Fix near/far depth clip

  • panfrost: Enable support for depth clamping

  • panvk: Fix paths that assume a fragment shader

  • panvk: Fix use of cs_sync64_wait in cmd_wait_event

  • panvk: Map device memory for PANVK_DEBUG=trace

  • panvk: Use the passed Vertex Attribute divisor

  • panvk: Only set index buffer size for DrawIndexed

  • panvk: Add get_tiler_idvs_flags

  • panvk: Split panvk_cmd_draw into prepare_draw

  • panvk: Add support for Draw[Indexed]Indirect

Leder, Brendan Steve (4):

  • amd/vpelib: Fix output_ctx gamma curve cache bug

  • amd/vpelib: Fix backend bug for multiple instances

  • amd/vpelib: Generalize visual confirm handling

  • amd/vpelib: Update chip headers

Lepton Wu (1):

  • egl/android: Fix wrong pipe format for RGB_565

Lin, Ricky (4):

  • amd/vpelib: Added JFIF format to RGB output side

  • amd/vpelib: Use VPE_IP_LEVEL_1_0 for VPE IP 6.1.3

  • amd/vpelib: Remove extra collaborate sync commands in IB

  • amd/vpelib: Increase the CD field in vpe descriptor programming

LingMan (1):

  • nak/hw_tests: Use f32::to_bits()

Lionel Landwerlin (139):

  • anv: split instance from anv_device.c

  • anv: split physical_device from anv_device.c

  • anv: split events from anv_device.c

  • anv: split buffer from anv_device.c

  • anv: split sampler from anv_device.c

  • anv: split buffer view from anv_image.c

  • anv: split image view from anv_image.c

  • isl: account for protection in base usage checks

  • anv: properly flag image/imageviews for ISL protection

  • anv: propagate protected information for blorp operations

  • anv: stop using 3DSTATE_WM::ForceThreadDispatchEnable

  • anv: fix check on pipeline mode to track buffer writes

  • u_trace: add mako exception printouts

  • u_trace: rework tracepoint argument declaration

  • u_trace: remove timestamp reference in allocations

  • u_trace: add support for indirect data

  • anv/hasvk: add indirect tracepoint arguments

  • u_trace: add csv output

  • util/debug: update parse_enable_string to deal with +all/-all

  • anv: better signal new frames to utrace

  • vulkan/runtime: allow null/empty debug names

  • anv: reuse object string for RMV token

  • anv: prevent asserts with debug printf in internal shaders

  • anv: remove some unused includes

  • anv: reuse cs_prog_data pointer

  • intel-clc: missing printf lowering

  • anv: add missing MEDIA_STATE_FLUSH for internal shaders

  • anv: ensure max_plane_count is at least 1

  • genxml: unify some bits between Gfx8/Gfx11/Gfx12.5

  • intel/mi_builder: enable control flow API on Gfx9+

  • anv/blorp: force CC_VIEWPORT reallocation when programming 3DSTATE_VIEWPORT_STATE_POINTERS_CC

  • anv: limit some state dirtying after blorp/simpler-shaders

  • brw/rt: fix ray_object_(direction|origin) for closest-hit shaders

  • intel/nir: remove load_global_const_block_intel intrinsic

  • vulkan/runtime: fix GetBufferMemoryRequirements2 for maintenance4

  • anv: fix extended buffer flags usages

  • anv: remove unused macro

  • anv: only set 3DSTATE_CLIP::MaximumVPIndex once

  • anv: add assert to detect problematic instruction merges

  • anv: reuse common pipeline state for compute push allocations

  • anv: simplify loading driver internal constants

  • anv: move lowering of descriptor intrinsics to apply_layout

  • nir: remove unused intel intrinsics

  • brw: remove unused prog_data field

  • anv: optimize CLIP::MaximumVPIndex setting

  • anv: move conditional render predicate after gfx_flush_state

  • anv: don’t miss workaround for indirect draws

  • anv: optimize STATE_BYTE_STRIDE emission

  • anv: explicitly disable BT pool allocations at device init

  • anv: always use workaround_address, not workaround_bo

  • anv: order data in wa_bo to leave wa_addr last

  • nir/divergence: add missing load_constant_base_ptr

  • brw: switch mesh/task URB fence prior to EOT to GPU

  • brw: add a comment what Gfx12.5 URB fences

  • anv: fix utrace compute timestamp reads on Gfx20

  • iris: fix utrace compute end timestamp reads on Gfx20

  • brw: align spilling offsets to physical register sizes

  • anv: selectively disable binding table usage on Gfx20

  • brw: remove (load|store)_raw_intel

  • brw: fix TGM messages to use cmask lsc opcodes

  • clc: find opencl headers from the installed llvm/clang location

  • brw: use a builder of the size of the physical register for uniforms

  • brw: fix vecN rebuilds

  • brw: fix virtual register splitting to not go below physical register size

  • anv: fix missing tracking for alpha-to-coverage runtime changes

  • anv: Only flush render target cache when detecting RT changes

  • iris: ensure null render target for specific cases

  • brw: move null_rt control up a layer

  • brw: disable null_rt only if color output does not affect other outputs

  • anv: add missing pipeline instance multiplier

  • brw: make sampler message emission more generic

  • brw: fix mask componentation for 16-bit sampler returns

  • brw: remove EOT handling from sampler messages

  • intel/decoder: constify functions not modifying instructions/fields

  • intel/decoder: add filter feature

  • intel/decoder: split state tracking handlers from printing ones

  • intel/decoder: decode the 8 BLEND_STATEs

  • anv: avoid setting up a null RT unless needed

  • anv: implement VK_KHR_dynamic_rendering_local_read

  • anv: expose VK_EXT_pipeline_protected_access

  • zink: avoid host transfer usage with sparse

  • blorp: convert fast clear color for unsupported formats

  • anv: limit render target cache flushing due to color output remapping

  • isl: fix comment typo

  • isl/tests: add a space in memcpy test error printouts

  • isl/tests: fixup multi-tile testing

  • isl/tests: fix coordinates for comparison scan

  • isl/tests: rename ytile to be consistent with other names

  • isl/tests: bump coordinate types to 32bits

  • isl/tests: use modulo for more variability per pixel

  • isl/tests: fix inclusive coordinate checking

  • isl/tests: add TileX memcpy testing

  • isl/tests: rename tile_(width|height) variables

  • isl/tests: split linear & tiled buffer sizes

  • anv: limit 22018402687 to impacted platforms

  • anv: consolidate pre/post draw workaround in helpers

  • anv: optimize WA 16011107343/22018402687

  • isl: remove duplicated copy for tileX/TileY

  • isl/tests: add more coordinates for full tiles testing

  • isl/tests: rename span variable to xt_sub_range_alignment

  • isl: Tile W memcpy support

  • iris: delete stencil mapping support

  • isl: add support of aux disable bit on hiz

  • anv: use stage mask to deduce cs/pb-stall requirements

  • brw: remove unused prototype

  • brw: delay printf lowering

  • brw: avoid clashing nested loop indices

  • brw: remove rebuild single element special case

  • brw: fix mesh fence emission

  • brw/nir: rework inline_data_intel to work with compute

  • anv: stop using a binding table entry for gl_NumWorkgroups

  • elk: Don’t apply discard_if condition opt if it can change results

  • isl: fix range_B_tile end_tile_B value

  • isl/tests: add range_B_tile test

  • anv: allow subresource queries on non-linear images

  • anv: drop non host memory types for host-transfer on non-rebar

  • anv: disable pat compression for host images

  • anv: wrap binding address setting

  • anv: add a host map of image for host image copy usage

  • anv: factor out sanitizing mmap offset code

  • anv: add VK_EXT_host_image_copy support

  • anv: fix binding table entry count for compute shaders

  • anv: fix missing inline parameter emission

  • anv: reemit push constants on pipeline changes

  • anv: use UINT32_MAX to be consistent

  • anv: avoid companion usage on RCS

  • anv: avoid L3 fabric flush in pipeline barriers

  • anv: update some of the indirect invalidations

  • vulkan/runtime: fix allocation failure handling

  • anv: fix even set/reset on blitter engine

  • anv: add texture cache inval after binding pool update

  • anv: fix indentation

  • anv: move pipe control debug to anv_util.c

  • anv: fix extent computation in image->image host copies

  • anv: update shader descriptor resource limits

  • brw: allocate physical register sizes for spilling

  • anv: fix incorrect aspect flag for depth/stencil formats

  • anv: fix missing push constant reallocation

  • anv: prevent access to destroyed vk_sync objects post submission

Louis-Francis Ratté-Boulianne (18):

  • gallium: add PIPE_CAP_ASTC_DECODE_MODE and expose extension

  • panfrost: add support for ASTC decode mode extension

  • pan/bi: implement nir_intrinsic_load_draw_id

  • panfrost: use special DrawID register on CSF-based GPUs

  • panfrost: properly lower DrawID sysval on v9 GPUs

  • panfrost: initialize all UBO and vertex buffer descriptors

  • pan/cs: only flush block instrs if there is a pending `if` block

  • pan/cs: add block to handle registers backup in exception handler

  • pan/genxml: enable decoding for SET_EXCEPTION_HANDLER

  • pan/genxml: small fix to FINISH_FRAGMENT tracing

  • panfrost: add debug tracing for CSF context initialization

  • panfrost: create a backend-specific hook for `emit_fbds`

  • panfrost: add debug flag to enable extra CS checks

  • panfrost: add support for incremental rendering in CSF

  • panfrost: properly update data size of AFBC-packed resources

  • panfrost: disable CRC for AFBC-packed resources

  • panfrost: check the right discard property when selecting CRC target

  • panfrost: properly align CRC buffer size for prefetching

Lu Yao (1):

  • ac/radeonsi: compute htile for tile mode RADEON_SURF_MODE_1D on GFX6-8

Lucas Fryzek (13):

  • llvmpipe: Implement EGL_ANDROID_native_fence_sync

  • lavapipe: Implement VK_KHR_external_*_fd

  • venus/ci: Update skip tests to prevent timeouts

  • lp: only map dt buffer on import from dmabuf

  • egl/surfaceless: Add error checking to create image

  • llvmpipe: Add android platform integration

  • vulkan/runtime: Use DMA_BUF to import anb

  • lavapipe: Add android platform integration

  • docs/android: Add llvmpipe instructions

  • lavapipe: Add AHB extension

  • drisw: Copy entire buffer ignoring damage regions

  • egl/dri/wl: Move swrast damage region from put to swap

  • lp: Only close udmabuf handle if its valid

Lucas Stach (18):

  • etnaviv: drm: use COARSE clock for BO cache timing

  • etnaviv: drm: use COARSE clock for timeouts when possible

  • etnaviv: hwdb: add COMPUTE_ONLY cap

  • etnaviv: properly set PIPE_CAP_GRAPHICS

  • etnaviv: emit SAMPLER_LOG_SIZE on sampler state changes

  • etnaviv: wire up missing gl_VertexID bits

  • etnaviv: allow shader machine code dumps in release builds

  • etnaviv: singlethread shader variant compiles when dumping shaders

  • etnaviv: emit all PA shader attributes

  • etnaviv: support more VS outputs on halti5 GPUs

  • etnaviv: fix total varying count assertion

  • etnaviv: validate number of VS outputs against GPU limit

  • etnaviv: limit number of varyings to fit into VS outputs

  • gbm: mark surface buffers as explicit flushed

  • etnaviv: re-emit uniforms on sampler view changes when txs is used

  • etnaviv: flush shader caches when UBO content is modified

  • etnaviv: Update headers from rnndb

  • etnaviv: set PE_COLOR_FORMAT_OVERWRITE when no color target is active

Luigi Santivetti (4):

  • pvr: fix calculation for textures z position fractional part

  • pvr: fix when to emit ppp state uniform base address

  • pvr: for fragment stages only do not insert a barrier

  • pvr: really free memory in subpass render init

M Henning (15):

  • nak: Don’t mix up two types of barrier

  • nak: Rename num_barriers to num_control_barriers

  • nouveau/codegen: Switch to derivative intrinsics

  • nv50/peephole: merge/split can swap word order

  • nv50_ir_from_nir: Use getFile() more often

  • nv/codegen: Use nir_lower_mem_access_bit_sizes

  • nv/codegen: Limit MemoryOpt to input/output/const

  • nv/codegen: Vector load ssbo/global/shared/scratch

  • nv/codegen: Vector store ssbo/global/shared/scratc

  • nv/codegen: Modify nir pass order

  • nv/codegen: Use nir_opt_load_store_vectorize

  • nv/codegen: Stop overaligning var_function_temp

  • nak: Phi coalescing via biased register coloring

  • nvk/cmd_buffer: Pass count to set_root_array

  • nvk: Fix invalidation of NVK_CBUF_TYPE_DYNAMIC_UBO

Maaz Mombasawala (4):

  • svga: Validate surface during copy check

  • svga: Ensure an active context exists for a vmw_screen

  • svga: Introduce userspace managed surfaces

  • svga: Support older define commands for userspace surfaces

Mahmood - Zer0xFF (1):

  • d3d12: Fix Xbox GDK Build

Marcin Radomski (7):

  • Add missing includes

  • Enable VK_EXT_image_drm_format_modifier in cerealgenerator.py

  • Enable VK_EXT_image_drm_format_modifier on Linux guests

  • vkAllocateMemory: support DRM format modifiers for dmabuf memory

  • vkGetPhysicalDeviceImageFormatProperties2: support drm modifiers

  • vkCreateInfo: support VkImageDrmFormatModifierListCreateInfoEXT

  • Add mesa3d_platforms Soong config flag

Marek Olšák (189):

  • nir/opt_algebraic: use fmulz for fpow lowering to fix incorrect rendering

  • nir: add nir_intrinsic_load_per_primitive_input, split from io_semantics flag

  • nir/opt_varyings: improve convergent input handling to fix data corruption

  • amd: expose nir_io_mix_convergent_flat_with_interpolated

  • ac,radeonsi: set 16-bit flags in io_options optimally

  • nir/opt_vectorize_io: optionally don’t vectorize IO with different types

  • ac/surface/gfx12: fix setting tile_swizzle

  • radeonsi/gfx12: fix a GPU hang due to an invalid packet with window rectangles

  • radeonsi: ensure TC_L2_dirty is set if we don’t sync after internal SSBO blits

  • radeonsi: don’t set TC_L2_dirty in si_query_hw_get_result_resource

  • radeonsi: fix buffer coherency issues on gfx6-8,12 due to missing PFP->ME sync

  • radeonsi/gfx12: fix register programming to fix GPU hangs

  • radeonsi/gfx11: prepare for CWSR

  • radeonsi: program OREO_MODE optimally on gfx11.x and gfx12

  • radeonsi/gfx12: fix VS output corruption with streamout

  • ac/surface/gfx12: turn off HiZ for pre-production samples

  • radeonsi: strengthen the condition determining OREO_MODE

  • nir: add ACCESS_KEEP_SCALAR, preventing vectorization

  • util: move util_lower_clearsize_to_dword here

  • radeonsi: reject insert/extract opcodes in si_vectorize_callback

  • radeonsi: test more alignment cases in si_test_dma_perf

  • radeonsi: add correctness tests for the clear/copy_buffer compute shader

  • radeonsi: minor changes at the beginning of si_compute_clear_copy_buffer

  • radeonsi: implement optimized unaligned clear/copy_buffer compute shader

  • radeonsi: align waves to 256B clear/copy area for the clear/copy_buffer shader

  • ac/nir: import the clear/copy_buffer compute shader from radeonsi

  • ac/nir: adjust performance-related decisions for clear/copy_buffer shader

  • ac/nir: adjust gfx11 tuning for the compute blit

  • amd: update addrlib

  • ac/nir/tess: don’t allocate LDS for HS inputs that are passed via VGPRs

  • radeonsi: pass TCS inputs_read mask to LS output lowering on GFX9 + monolithic

  • ac: fix WAVES_PER_SH value for gfx12

  • ac/nir/meta: move the “skip compute if no DCC image stores” condition to common

  • ac,radeonsi: update comments related to the L2 cache, use “L2”, not “TC”

  • radeonsi/gfx12: remove CP DMA workarounds because CP DMA is never used on gfx12

  • radeonsi/gfx12: disallow DCC for protected content

  • radeonsi/gfx11: disable RB+ when blending

  • radeonsi: use better OREO_MODE programming

  • radeonsi: tweak si_test_dma_perf for better experience

  • radeonsi: add a new PM4 helper radeon_event_write

  • radeonsi: remove SI_CONTEXT_VGT_STREAMOUT_SYNC, emit it directly

  • radeonsi: add ACQUIRE_MEM, RELEASE_MEM PWS packet helpers

  • radeonsi: add si_cp_acquire_mem helper and clean up its usage for gfx6-9

  • radeonsi: add gfx10+ support into si_cp_acquire_mem

  • radeonsi: use the correct cs for SQTT barriers for gfx9

  • radeonsi: add si_cp_pfp_sync_me

  • radeonsi: remove unused size parameter from get_cache_policy

  • radeonsi: don’t use get_cache_policy in si_launch_grid_internal_ssbos

  • radeonsi: move get_cache_policy into si_cp_dma.c

  • radeonsi: don’t use SI_COHERENCY_NONE in si_compute_shorten_ubyte_buffer

  • radeonsi: don’t use SI_COHERENCY_CB_META

  • radeonsi: don’t use SI_COHERENCY_CP

  • radeonsi: remove all SI_COHERENCY_* flags except SI_COHERENCY_SHADER

  • radeonsi: remove enum si_coherency

  • radeonsi: don’t use si_get_flush_flags in si_launch_grid_internal_ssbos

  • radeonsi: move enum si_cache_policy and si_get_flush_flags into si_cp_dma.c

  • radeonsi: remove L2_STREAM enum

  • radeonsi: replace enum si_cache_policy with cp_dma_has_L2()

  • radeonsi: inline si_get_flush_flags

  • radeonsi: split si_launch_grid_internal to start preparing for barrier rework

  • radeonsi: move compute barrier calls up one level

  • radeonsi: move barrier code out of si_launch_grid_internal_ssbos/images

  • radeonsi: skip no-op si_compute_blit()

  • radeonsi: only set need_check_render_feedback if binding textures for PS

  • radeonsi: split image saving/binding/restoring from si_launch_grid_internal_images

  • radeonsi: do init/deinit for multi-dispatch compute blits only once

  • radeonsi: don’t flag both VS and PS partial flush in si_barrier_before_internal_op

  • radeonsi: remove CP DMA code for GDS & L2 prefetch in the clear/copy_buffer path

  • radeonsi: use si_barrier_{before,after}_internal_op for CP DMA

  • radeonsi: remove SI_OP_SYNC_CPDMA_BEFORE, always sync CP DMA

  • radeonsi: fold si_improve_sync_flags logic into si_barrier_before_internal_op

  • radeonsi: fix waiting for PS to finish if there are no CB/DB bindings on gfx6-8

  • radeonsi/gfx12: fix shader uploads via CP DMA

  • ac/nir/meta: tune clear/copy_buffer performance for gfx6-10.3

  • radeonsi: fix broken tessellation in Unigine Heaven

  • radeonsi: remove SI_OP_CS_IMAGE

  • radeonsi: inline si_launch_grid_internal_images without the barriers

  • radeonsi: move barriers out of si_launch_grid_internal_ssbos

  • radeonsi: remove unnecessary barriers from clear_buffer_rmw and clear_dcc_msaa

  • radeonsi: add barrier helpers for simple internal buffer ops

  • radeonsi: move barriers out of si_compute_clear_copy_buffer & si_cp_dma_*

  • radeonsi: move barriers out of si_clear_buffer

  • radeonsi: move barriers out of si_copy_buffer

  • radeonsi: move barriers out of si_compute_shorten_ubyte_buffer

  • radeonsi: remove SI_OP_SKIP_CACHE_INV_BEFORE

  • radeonsi: remove SI_OP_SYNC_AFTER

  • radeonsi: always pass flags=0 into si_barrier_after_internal_op/simple_buffer_op

  • radeonsi: always wait for idle before get_query_result_resource

  • radeonsi: remove unused SI_OP_IS_NESTED

  • radeonsi: remove SI_OP_SYNC_BEFORE* flags

  • radeonsi: change the flags parameter of si_compute_blit to bool fail_if_slow

  • radeonsi: remove unused flags and user_flags params from clear/copy functions

  • radeonsi: enable conditional rendering for si_compute_shorten_ubyte_buffer

  • radeonsi: replace SI_OP_CS_RENDER_COND_ENABLE with bool render_condition_enable

  • radeonsi: remove SI_CP_DMA_CLEAR_METHOD, call si_cp_dma_clear_buffer directly

  • radeonsi: remove unused buffer_subdata fallback from si_clear_buffer

  • radeonsi: rename “cache_flush” -> “barrier”

  • radeonsi: move most barrier code into a new file si_barrier.c

  • radeonsi: update remaining comments related to the L2 cache, use “L2”, not “TC”

  • radeonsi: rename TC_L2_dirty -> L2_cache_dirty

  • radeonsi: check sctx->flags inside si_emit_barrier_direct

  • radeonsi: rewrite si_memory_barrier to generate fewer barrier flags

  • radeonsi: rename si_context::flags -> barrier_flags

  • radeonsi: move initial framebuffer barrier code into si_barrier.c

  • radeonsi: restructure fb_barrier code in si_launch_grid

  • radeonsi: move CB synchronization into si_fb_barrier_after_rendering

  • radeonsi: move DB synchronization into si_fb_barrier_after_rendering

  • radeonsi: add si_fb_barrier_before_rendering

  • radeonsi: rename SI_CONTEXT_* flags to SI_BARRIER_* flags

  • radeonsi: consolidate code around unsetting barrier_flags in emit_barrier

  • radeonsi: remove an obsolete comment about SMEM stores

  • radeonsi: skip CB_META/DB_META events when they are redundant on gfx10-11

  • radeonsi: deduplicate how GLM flush flags are set for gfx10-11

  • radeonsi: merge the CB/DB conditional blocks in gfx10_emit_barrier

  • mesa,glsl,gallium: add GL_OVR_multiview

  • radeonsi: check and update compute_is_busy in get_reduced_barrier_flags

  • radeonsi: don’t sync VS and PS if they are idle

  • radeonsi: count VS/PS/CS/L2 flushes in get_reduced_barrier_flags

  • radeonsi: deduplicate code emitting VGT_FLUSH/PIPELINESTAT events

  • radeonsi: don’t sync CS and PS before rendering if there are no FBO attachments

  • radeonsi: remove CB sync after FMASK and DCC decompression

  • radeonsi: wait for idle after end_query in si_test_blit_perf

  • radeonsi: don’t pad esgs_vertex_stride if it’s 0

  • radeonsi: adjust GFX12 checks in si_compute.c

  • radeonsi: clean up and make corrections to si_create_fmask_expand_cs

  • radeonsi/aco: fix asm dumps to debug output via radeonsi_debug_disassembly=true

  • radeonsi: move si_execute_clears barrier code into separate functions

  • radeonsi: move barriers out of si_execute_clears

  • radeonsi: execute clears at resource allocation using compute instead of gfx

  • radeonsi: remove barriers around clears using aux_context.compute_resource_init

  • radeonsi: don’t use VS/PS/CS partial flushes if we use a TS event

  • radeonsi: clean up set_log_context code for all aux contexts

  • radeonsi: use ACO on GFX11.5 with LLVM 18 or older to work around GPU hangs

  • radeonsi: don’t insert any barrier after the copy for PIPE_MAP_READ

  • radeonsi: rename hw_level -> view_level

  • radeonsi: remove the make_texture_descriptor indirect function call

  • nir/opt_shrink_vectors: shrink memory loads, not just IO

  • ac: make sure VEGA20 and MI200 version ranges don’t overlap with other chips

  • ac/nir: set .image_dim and .image_array for all opcodes

  • ac/llvm: use LLVM processor gfx942 for GFX940 when it’s available

  • ac/llvm: don’t use the 64-bit umul_hi workaround with LLVM 19.1

  • ac/gpu_info: print 32bpp modifiers

  • st/mesa: copy some TES shader info fields to TCS

  • nir/opt_vectorize_io: fix skipped output vectorization if inputs were vectorized

  • nir/opt_vectorize_io: fix stack buffer overflow with 16-bit output stores

  • nir/opt_load_store_vectorize: add entry::num_components

  • nir: add hole_size parameter into the vectorize callback

  • nir: reject unsupported component counts from all vectorize callbacks

  • nir/opt_load_store_vectorize: allow overfetching, merge overfetched loads

  • nir/opt_load_store_vectorize: allow a 4-byte hole between 2 loads

  • nir/opt_load_store_vectorize: vectorize load_smem_amd

  • gallium/u_threaded: fix crash in tc_create_image_handle due to resource == NULL

  • radeonsi: set the valid buffer range for bindless image buffers

  • nir/opt_varyings: assign locations of no_varying IO for TCS outputs only

  • nir/opt_varyings: pack TCS inputs with cross-invocation access together

  • ac/nir: rewrite ac_nir_lower_ps epilog to fix dual src blending with mono PS

  • nir: add shader_info::tess::tcs_same_invocation_inputs_read(_indirect)

  • mesa_interface: remove unused stuff

  • mesa_interface: replace opaque __DRIscreen with struct dri_screen everywhere

  • mesa_interface: replace opaque __DRIcontext with struct dri_context everywhere

  • mesa_interface: replace opaque __DRIdrawable with struct dri_drawable everywhere

  • mesa_interface: remove redundant __DRI*Rec types

  • mesa_interface: rename __DRIconfig to struct dri_config

  • mesa_interface: rename __DRIimage to struct dri_image

  • nir: add nir_gather_tcs_info, new gathering/analysis pass

  • nir: rename load_cull_small_primitives -> triangles, add load_cull_small_lines

  • nir: rename load_cull_small_primitive_precision -> triangle, add line_precision

  • nir: add cull_triangles_, cull_lines_ prefixes to viewport_xy_scale_and_offset

  • ac/nir,radeonsi: use load_cull_small_lines_enabled_amd

  • ac/nir,radeonsi: use load_cull_small_line_precision_amd

  • ac/nir,radeonsi: use load_cull_line_viewport_xy_scale_and_offset_amd

  • radeonsi: rewrite how small prim precision is passed to culling code

  • radeonsi: simplify util_rast_prim_is_lines_or_triangles

  • radeonsi/gfx11: fix Z corruption for Blender

  • amd: move Tonga and Iceland TC-compat HTILE workarounds to ac_gpu_info.c

  • radeonsi/gfx12: fix AMD_DEBUG=nodcc not working

  • glsl: lower IO in the linker if enabled, don’t lower it later

  • nir: rename nir_io_glsl_lower_derefs -> nir_io_has_io_intrinsics

  • nir: print interp_mode better

  • nir/lower_io: change INTERP_MODE_NONE to SMOOTH when NONE means SMOOTH

  • nir: add nir_clear_divergence_info, use it in nir_opt_varyings

  • gallium: set proper type for pipe_shader_state::ir::nir

  • st/mesa: fix incorrect types of shader CSOs

  • amd/ci: adjust stoney traces checksums

  • glsl: fix accidentally disabling nir_opt_varyings for all drivers

  • Revert “amd/ci: adjust stoney traces checksums”

  • st/mesa: implement key->persample_shading for lowered IO

  • nir/lower_clip_disable: handle non-scalar store intrinsics

  • radeonsi: fix gl_FrontFace elimination when one side is culled

Mark Burton (1):

  • gallivm: Fix compilation errors when using LLVM 13.

Mark Collins (2):

  • freedreno/registers: Document TPL1_2D_SRC_CNTL register

  • tu: Improve 2D buffer-to-image copies for A7XX

Martin Krastev (12):

  • svga/ci: enable vmware farm

  • svga/ci: change DNS server for vmware jobs

  • svga/ci: triage unexpected piglit pass

  • svga/ci: update FORCE_KERNEL_TAG

  • svga/ci: triage unexpected piglit passes

  • svga/ci: disable vmware-qemu-traces jobs

  • svga/ci: disable vmware farm

  • svga/ci: enable vmware farm

  • svga/ci: triage piglit tessellation failures

  • svga/ci: disable vmware farm

  • svga/ci: enable vmware farm

  • svga/ci: disable vmware farm

Martin Roukala (né Peres) (9):

  • radv/ci: update the flakes lists

  • zink/ci: update the flakes list for ga106

  • radv/ci: document more vkcts flakes

  • zink/ci: document more flakes

  • radv/ci: run vkcts-navi31-valve pre-merge

  • freedreno/ci: fix the stage of the a750 jobs

  • radv/ci: document more vkcts flakes

  • zink/ci: document more radv flakes

  • zink/ci: bump the polaris10 timeout to 30 minutes

Mary Guillemard (61):

  • panvk: Update CI fails

  • docs: Add panvk in VK_EXT_private_data to features.txt

  • panvk: Implement CmdPushDescriptorSetWithTemplate2KHR

  • panvk: Fix image support in vertex jobs

  • panvk: Emit viewport when state is NULL

  • panvk: Implement CmdBindDescriptorSets2KHR, CmdPushConstants2KHR and CmdPushDescriptorSet2KHR

  • panfrost: Add B8G8R8A8_SNORM in panfrost_pipe_format

  • panvk: Pass attrib_buf_idx_offset to desc_copy_info

  • panvk: Fix NULL deref on model name when device isn’t supported

  • panvk: Skip blend descriptors when no fragment shader is present

  • bi: Add bi_foreach_ssa_dest

  • bi: Use bi_foreach_src in bi_foreach_ssa_src

  • bi: Do not mark tex ops as skip when dest is used by control flow

  • bi: Use nir_opt_load_store_vectorize

  • bi: Use nir_opt_shrink_stores

  • bi: Add loop_header in bi_block

  • bi: Rewrite dead code elimination

  • panvk/ci: Update G52 fail list to represent current state

  • panvk: Properly propagate helper invocations requirement

  • panvk: Expose trivial google extensions

  • panvk: Fix viewport calculation

  • nak: Use F2FP for nir_op_pack_half_2x16_split on SM86+

  • panvk: Close batch in CmdBeginRendering if already open

  • panvk: Manually copy dynamic state in meta_gfx

  • panvk: Simplify meta ctx save/restore

  • panvk: Save and restore vertex buffer in gfx_meta

  • panvk: Remove unused vk_vertex_input_state in graphics_save_ctx

  • panvk: Extend the descriptor lowering pass to support Valhall

  • panvk: Extend the shader logic to support Valhall

  • nak: Fix wrong encoding for F2FP cbuf and immediate forms

  • panfrost: Update panfrost_drm.h

  • panfrost: Update panthor_drm.h

  • pan/kmod: Add timestamp uapi support

  • panfrost: Move occlusion query allocation to create_query

  • panfrost: Implement timer queries

  • docs: Mark timer queries as done on panfrost

  • panvk: Add atomic modifiers for r32 based formats

  • panvk: Reject SNORM only for color attachment and blend

  • panvk: Return proper buffer format feature flags

  • pan/lib: Simplify pan_blitter

  • panvk: Include new failures from VKCTS 1.3.9.1

  • panvk: Ensure to clear dirty dynamic state in panvk_cmd_draw

  • mr-label-maker: Add panvk

  • pan/va: Define the LEA_BUFFER instruction

  • panvk/ci: Update Mali-G52 status with full VKCTS

  • panvk/ci: Update to run full CTS on G52

  • panvk/ci: Make panfrost-g52-vk run at premerge

  • egl: Support NV_context_priority_realtime

  • panfrost: Update panthor_drm.h with latest

  • pan/kmod: Add priority query uapi support

  • panfrost: Implement context priority on v10

  • panvk/ci: Increase panfrost-g52-vk fraction

  • panvk: Cleanup rw_nc pool in panvk_device_cleanup_mempools

  • hk: Implement global priority extensions

  • panvk: Define primitive size for RUN_TILER/RUN_IDVS

  • winsys/nouveau: Rework to use u_pipe_screen_lookup_or_create

  • winsys/nouveau: Reformat to stop relying on tabs

  • nir: Move atomic_op_to_alu to common code

  • hk: Fill deviceUUID

  • panvk: Ensure that render_info is not null in force_fb_preload

  • bi: Execute nir_opt_algebraic after nir_lower_pack

Matt Coster (3):

  • pvr: Fix ds subtile alignment NULL pointer dereference

  • pvr: Fix reordering of sub-cmds when performing ds subtile alignment

  • pvr: Use vk_buffer_view base

Matt Turner (14):

  • intel/clc: Free parsed_spirv_data

  • intel/clc: Free disk_cache

  • intel/brw: Use REG_CLASS_COUNT

  • intel/elk: Use REG_CLASS_COUNT

  • docs: Drop references to LIBGL_DRIVERS_PATH

  • util: Add ATTRIBUTE_OPTIMIZE(flags)

  • util: Force emission of stack frame in stack unit test

  • nir: Skip opt_if_merge when next_if has block ending in a jump

  • nir/tests: Add tests for opt_if_merge

  • anv: Set shader_spilling_rate=15 by default

  • anv: Set shader_spilling_rate=11

  • anv: Align anv_descriptor_pool::host_mem

  • vulkan: Avoid pointer aliasing

  • nir: Get correct number of components

Mauro Rossi (2):

  • nvk: Fix regression observed on Kepler

  • android: gbm: split the DRI backend into separate library

Maíra Canal (2):

  • v3d, vc4: remove unused functions

  • v3d: Don’t use performance counters names array with an older kernel

Michael Catanzaro (1):

  • Disk cache should consistently create parent directories when needed

Michael Cheng (2):

  • anv: Remove extra hdc_flush from Perfetto

  • anv: move trace logic to batch_emit_pipe_control_write

Michel Dänzer (10):

  • Revert “radeonsi: remove CB sync after FMASK and DCC decompression”

  • radeonsi: Revert to GLSL_SAMPLER_DIM_2D in si_create_fmask_expand_cs

  • util/mesa-db: Make mesa_db_lock robust against signals

  • util/mesa-db: Recreate files if header load or index update fails

  • util/mesa-db: Reserve hash table for total number of index entries

  • util/mesa-db: Use single read for whole index

  • util: Use persistent array of index entries

  • util/mesa-db: Further simplify mesa_db_compact

  • Revert “util/mesa-db: Further simplify mesa_db_compact”

  • Revert “util: Use persistent array of index entries”

Michel Zou (1):

  • ac/gpu_info: Fix missing prototype mingw error

Mike Blumenkrantz (389):

  • zink: move some flags from driver_workarounds to separate struct

  • zink: hash in some driver workaround flags to shader cache

  • zink: add lavapipe to can_do_invalid_linear_modifier list

  • zink: use local screen variable in zink_prep_fb_attachment

  • zink: use GENERAL layout for depth attachments on some drivers

  • zink: use blake3 instead of sha1 for program cache

  • gallium: install gallium-$version.so to libdir

  • ci: prune dri from LD_LIBRARY_PATH

  • dril: rework config creation

  • llvmpipe: handle vma allocation failure

  • llvmpipe: only use vma allocations on linux

  • glx: delete tests

  • st/interop: return unsupported without screen hooks

  • dri: fix kmsro define

  • glx: tabs -> spaces

  • glx: delete __GLXDRIdisplay

  • glx: simplify zink init variables

  • glx: rework __glXInitialize

  • glx: delete dri3_display::loader_extensions

  • glx: move has_multibuffer to base glx_screen struct

  • glx: move driwindows_display::event_base to driwindows_context

  • glx: rework/simplify drisw zink handling

  • glx: move dri2Hash to base glx_display

  • glx: tweak dri2 init ordering

  • glx: move dri2 init checks to separate function

  • glx: move dri2 loader extensions to static vtable

  • glx: delete all driver-specific display handling

  • glx: use base screen has_multibuffer for drisw

  • glx: move drisw dri3 handling for zink out to glxInitialize

  • glx: consolidate some LIBGL_KOPPER_DISABLE checks

  • glx: unhackify inferring zink from dri3

  • Revert “vl/dri3: use loader’s dri3 init code and delete everything else”

  • loader: move some common dri3 functions out of dri3 loader

  • meson: move glx subdir after gallium build

  • loader: split out dri3 into subdir

  • dri: declare IMAGE_DRIVER symbols PUBLIC

  • glx: inline IMAGE_DRIVER functions

  • dri: declare DRI_CORE functions public

  • loader/dri3: inline DRI_CORE

  • glx: inline DRI_CORE functions

  • glx: inline createNewScreen3

  • glx: delete __DRImesaCoreExtension usage

  • glx: inline DRI_SWRAST

  • dri: delete __DRImesaCoreExtensionRec::createNewScreen

  • glx: inline DRI_DRI2

  • dri: delete driCreateNewScreen2

  • dri: declare DRI_KOPPER as PUBLIC

  • glx: use local var for LIBGL_KOPPER_DISABLE check

  • glx: switch kopper check for setting up swapinterval/bufferage functions

  • glx: delete DRI_KOPPER

  • glx: rename driswCopySubBuffer

  • drisw: declare DRI_COPY_SUB_BUFFER as PUBLIC

  • glx: inline DRI_COPY_SUB_BUFFER

  • dri: delete __DRI_COPY_SUB_BUFFER

  • glx: delete releaseTexBuffer

  • glx: delete the only users of __DRItexBufferExtension::setTexBuffer

  • dri: delete __DRItexBufferExtension::setTexBuffer

  • dri: declare DRI_TEX_BUFFER functions public

  • glx: delete check for texbuffer extension

  • glx: inline DRI_TEX_BUFFER

  • loader/dri3: delete texBuffer struct member

  • glx: delete DRI_TEX_BUFFER handling

  • kopper: increment lastStamp during invalidate

  • dri: add kopper stubs to avoid build failures

  • dri: make DRI2_RENDERER_QUERY interface PUBLIC

  • glx: inline __DRI2_RENDERER_QUERY

  • dri: delete __DRI2_RENDERER_QUERY interface

  • glx: always expose GLX_ARB_context_flush_control

  • dri: make DRI_FLUSH public

  • kopper: reuse dri2 invalidate

  • loader/dri3: inline DRI2_FLUSH

  • glx: inline DRI2_FLUSH

  • loader/dri3: delete DRI2_FLUSH remnants

  • dri: unify DRI2_CONFIG_QUERY interfaces

  • dri: make DRI2_CONFIG_QUERY public

  • dri: move swapinterval functions from loader to dri frontend

  • dri: remove __DRI2configQueryExtension param from swapinterval functions

  • glx: inline DRI2_CONFIG_QUERY

  • loader/dri3: delete DRI2_CONFIG_QUERY remnants

  • dri: make DRI2_THROTTLE public

  • glx: inline DRI2_THROTTLE

  • dri: delete DRI2_THROTTLE interface

  • dri: make DRI_INTEROP public

  • glx: inline DRI_INTEROP

  • glx: delete checks for interop support

  • glx: delete more DRI_INTEROP checks

  • glx: call dri interop functions directly

  • glx: stop binding DRI_INTEROP

  • glx: expose GLX_MESA_gl_interop for drisw

  • glx: simplify DRI_IMAGE checks

  • dri: make DRI_IMAGE public

  • gallium: move loader_dri_create_image to dri frontend

  • dri: use image loader function directly in dri_create_image_with_modifiers

  • loader/dri3: inline DRI_IMAGE usage

  • loader/dri: delete DRI_IMAGE remnants

  • glx: delete DRI_IMAGE remnants

  • loader/dri3: delete loader_dri3_extensions

  • glx: move up glx_driver enum declaration

  • glx: include src/gallium for apple

  • dri: link with libloader

  • dri: only link_whole once

  • kopper: check swapchain size after possible loader image resize

  • egl/dri2: delete unused function

  • egl: inline DRI_CORE usage

  • gbm: inline DRI_CORE usage

  • egl/gbm: delete remnants of DRI_CORE

  • dri: publicize dri_query_compatible_render_only_device_fd

  • gbm: inline DRI_MESA

  • egl: inline DRI_MESA

  • gbm: delete DRI_MESA remnants

  • egl: delete DRI_MESA remnants

  • egl: inline DRI_KOPPER

  • egl/gbm: remove DRI_KOPPER remnants

  • dri: make driSWRastQueryBufferAge public

  • egl: inline DRI_SWRAST

  • egl/gbm: rip out DRI_SWRAST

  • egl: collapse driCreateNewDrawable conditional

  • egl: simplify a non-swrast conditional

  • egl/drm: always expose EXT_buffer_age

  • gbm: inline DRI_IMAGE_DRIVER

  • egl/gbm: delete DRI_IMAGE_DRIVER remnants

  • dri: store dmabuf import caps to dri_screen on create

  • dri: check for dmabuf_import at top of dri2_from_dma_bufs

  • gbm: inline dri2_from_dma_bufs and delete now-redundant check in dmabuf import

  • egl: simplify MESA_drm_image enablement

  • dri: make a few more functions public

  • egl: inline simple DRI_IMAGE usage

  • gbm: inline simple DRI_IMAGE usage

  • egl: swap DRI_IMAGE checks for dmabuf/modifier support for driver check

  • egl/android: check PIPE_CAP_NATIVE_FENCE_FD directly

  • egl/wayland: delete check for DRI_IMAGE blitImage in drm init

  • egl: inline DRI_IMAGE compression modifier handling

  • egl: replace display_name checks with swrast checks

  • egl: always check dri caps for EGL_WL_bind_wayland_display support

  • gbm: check for dmabuf import on device creation

  • gbm: use new dmabuf import flag to replace DRI_IMAGE checks

  • gbm: always pass through images to unmap

  • gbm: check for compression modifiers on device create

  • gbm: use driver check for dmabuf export

  • gbm: delete DRI_IMAGE remnants

  • egl: move some extension enablement out DRI_IMAGE conditional

  • egl: delete last DRI_IMAGE check

  • egl: delete DRI_IMAGE remnants

  • egl: delete local_buffers

  • egl/x11: replace DRI_DRI2 check with fd check

  • egl: delete DRI_DRI2 remnants

  • gallium: make some sw screen create functions public

  • pipe-loader: fix driconf memory management

  • egl: inline CONFIG_OPTIONS usage

  • egl: delete DRI_CONFIG_OPTIONS remnants

  • egl: further simplify driver loading

  • egl: add a bool to indicate swrast but not kms_swrast

  • gbm: inline DRI_FLUSH

  • gbm: delete DRI_FLUSH remnants

  • egl: use a non-kms_swrast check for swapbuffers DRI2_FLUSH

  • egl: use a swrast check for a swapbuffers DRI2_FLUSH case

  • egl: delete a DRI2_FLUSH check in dri2 swapbuffers

  • egl: replace another DRI2_FLUSH check with non-kms_swrast check in dri2_wait_client

  • egl: inline DRI2_FLUSH usage

  • egl: replace another DRI2_FLUSH check with a non-kms_swrast check in surface query

  • egl: replace a DRI2_FLUSH check with swrast check in x11_copy_buffers

  • egl/drm: replace a DRI2_FLUSH check with a non-kms_swarst check

  • egl/wayland: replace a couple DRI2_FLUSH checks with non-kms_swrast checks

  • egl: delete DRI2_FLUSH remnants

  • dri: only add DRI_BUFFER_DAMAGE if the driver supports set_damage_region

  • egl: simplify DRI_BUFFER_DAMAGE checks

  • dri: make set_damage_region public

  • egl: add a util to get the pipe_screen

  • egl: use pipe_screen check for damage region, simplify buffer_damage checks

  • egl: inline DRI_BUFFER_DAMAGE

  • egl: delete DRI_BUFFER_DAMAGE remnants

  • egl: always advertise KHR_context_flush_control

  • egl: delete DRI_FLUSH_CONTROL remnants

  • egl: inline DRI2_CONFIG_QUERY

  • egl: delete DRI_CONFIG_QUERY remnants

  • egl: inline DRI_TEX_BUFFER

  • egl: delete DRI_TEX_BUFFER remnants

  • dri: make DRI2_FENCE public

  • egl: delete checks for DRI2_FENCE

  • egl: simplify native fence check

  • egl: don’t check for create_fence_fd method when importing a fence

  • egl: inline DRI2_FENCE

  • egl: delete DRI2_FENCE remnants

  • egl: always advertise MESA_gl_interop, inline calls

  • egl: delete DRI2_INTEROP remnants

  • dri: make DRI2_BLOB public

  • egl: inline DRI2_BLOB

  • egl: delete DRI2_BLOB remnants

  • egl/android: replace DRI_MUTABLE_RENDER_BUFFER_DRIVER check with non-kms_swrast check

  • egl: delete DRI_MUTABLE_RENDER_BUFFER_DRIVER remnants

  • egl: move multibuffers check into platform_x11

  • egl: simplify multibuffers check

  • dril: always take the egl init path

  • llvmpipe: init fd=-1 to avoid closing fd=0 on failure

  • egl: fix zink init

  • glx: replace a straggler DRI_CONFIG_OPTIONS usage

  • dri: delete unused DRI_MESA queryCompatibleRenderOnlyDeviceFd method

  • dri: delete __DRIdri2Extension interface

  • dri: delete a couple unused functions

  • dri: delete some dri_screen cruft

  • dri: consolidate a bunch of dri_screen init code

  • dri: delete all the extra dri2 extension handling

  • egl/dri: move some screen accessors back to dri frontend

  • glx: stop checking dri extensions

  • glx: deduplicate and move driverName to base glx_screen struct

  • glx: store the DRIscreen to the base glx_screen

  • glx: set drisw glx_driver more usefully

  • glx: use glx_driver to determine drisw extension enablement

  • glx: add a glx_screen member to indicate GLX_EXT_texture_from_pixmap

  • glx: unify extension binding

  • dri: delete dri_screen::extensions accessor

  • dri: delete dri_screen::extensions

  • dri: fix kms_swrast screen fail

  • dri: delete more dead code

  • dri: pass through a type enum for creating screen instead of driver_extensions

  • kopper: inline DRI_IMAGE usage

  • egl: stop loading driver extensions

  • glx: stop loading driver extensions

  • gbm: stop loading driver extensions

  • dri: massively prune the dri target

  • dri: delete a bunch of unused interfaces

  • egl/wayland: bail on zink init in non-sw mode if extension check fails

  • egl: fix fd passing on init with zink

  • zink: fix partial update handling

  • egl: make dmabuf/modifier display bools a bit more precise/intelligible

  • egl/glx: make detecting explicit modifier support more explicit

  • dri: set __DRI_IMAGE_ERROR_BAD_PARAMETER if driver doesn’t support dmabuf import

  • egl: initialize dri error code variables

  • kopper: reuse drisw_update_tex_buffer to delete some code

  • dri: merge in loader_dri3

  • kopper: reuse dri3 functions

  • dri: rename and move handle_in_fence to dri_helpers

  • kopper: reuse dri_image_fence_sync

  • dri: break out get_pixmap_buffer

  • kopper: reuse loader_dri3_get_pixmap_buffer

  • glx: always set swapInterval in drisw

  • egl: check x11 multibuffer support before screen create

  • dri: pass has_multibuffers through from the loader

  • dri: further collapse dri_screen creation

  • dri: guard dmabuf support by loader’s dmabuf support

  • dri: collapse some modifier/dmabuf checks

  • kopper: call kopper_create_drawable directly

  • kopper: delete some redundant code

  • dri: rework drawable creation

  • glx: simplify kopper_get_buffer_age

  • glx: flatten out getBufferAge a bit

  • glx: move/add __DRIdrawable struct to __GLXDRIdrawable

  • glx: use __GLXDRIdrawable more broadly instead of display type drawables

  • glx: unify dri bind_context

  • glx: unify dri unbind context

  • glx: unify dri destroy context

  • glx: tweak some drisw context create code

  • glx: tweak some dri3 context create code

  • glx: unify dri create_context_attribs

  • glx: unify renderer query hooks

  • glx/dri2: strdup driver name

  • glx/dri3: strdup existing driverName instead of fetching it again

  • glx: unify dri get_driver_name

  • glx: unify dri screen vtable

  • glx: unify bind_tex_image

  • glx: delete private DRIscreen pointers

  • glx: move driver_configs to base glx_screen

  • glx: rework screen destroy

  • glx: move base screen destroy to glx_screen_cleanup

  • glx/dri3: delete driScreenRenderGPU

  • glx: unify more extension setup

  • glx: determine is_direct_capable from driver type

  • glx: inline __GLXDRIscreen onto base glx_screen

  • glx: unify dri screen init

  • zink: bail on choose_pdev immediately if no devices are available

  • st/pbo: reject vs/fs pbo ops if rowstride < width

  • device_select: reorder CreateInstance to have shorter failure paths

  • device_select: shortcut EnumeratePhysicalDevice* for count-only calls

  • device_select: disable reordering with zink on xwayland

  • zink: delete hackaround for disabling wsi extensions

  • egl: add DRI_USE_INVALIDATE with non-sw kopper

  • egl: really fix kopper fd passing

  • egl/wayland: split out dmabuf extension stuff for kopper

  • egl: pass real value for software to dri2_setup_device()

  • egl/wayland: do display gpu fd dance for non-sw zink init

  • zink: don’t skip cbuf store ops if resolve is set

  • tc: set resolve on renderpass info if blit terminates the renderpass

  • egl/android: call dri2_display_create() like every other driver

  • lavapipe: VK_EXT_pipeline_robustness

  • device-select: block xserver+zink reordering via xcb

  • ci: add a660 flake

  • dril: add zink stub

  • egl: unify LIBGL_KOPPER_DRI2 checks

  • egl/x11: pretend kopper is software with LIBGL_KOPPER_DRI2

  • llvmpipe: export dmabuf caps for kms_swrast

  • zink: update profile with missing extensions

  • revert part of 94e470a32d214052d89f519a07566d8098d05d28

  • egl: use more precise conditional for passing fd through to dri screen create

  • dril: use the super fallback path for software fallback

  • vk: rename DGC feature to DGC-NV

  • zink: create a surface for resolve resources

  • zink: use tc renderpass optimizing to inline resolves with dynamic render

  • tc: break out blit enqueue to separate function

  • tc: optimize out tracked winsys resolves

  • dril: also create double-buffered configs in swrast fallback

  • meson: delete dri3 build option

  • meson: require dri3 modifiers

  • ci: fix trace update script

  • ci: add –pipeline-url to trace update script

  • zink: delete erroneous kopper assert

  • zink: set resolve layout when inferring scanout resolves

  • zink: stop leaking inferred resolve surfaces

  • zink: fix sparse bo deallocation

  • va: flush_resource before presentation

  • vl/winsys: move dri3_get_screen_for_root to common

  • va/vl: add kopper support

  • gallium: add PIPE_CAP_MULTIVIEW

  • zink: support GL_OVR_multiview

  • mesa: support OVR_multiview2

  • zink: support OVR_multiview2

  • docs: OVR_multiview features

  • lavapipe: VK_EXT_pipeline_protected_access

  • lavapipe: VK_KHR_global_priority

  • egl: replace fd check with swrast check for dri2

  • llvmpipe: bump max point size to 256

  • egl/x11: fix dri3 connect conditional for kopper without modifiers

  • lavapipe: bump mipmapPrecisionBits

  • zink: add screen create to match windows LUID

  • vl: rename/ifdef the x11 kopper functionality

  • vl: add Windows kopper support

  • va: support zink on Windows

  • mesa: fix sample count handling for MSRTT

  • mesa: OVR_multiview_multisampled_render_to_texture

  • anv: fix video profile lists

  • trace: add get_device_reset_status

  • gallium: delete pipe_screen::is_compression_modifier

  • egl/kopper: hook up EGL_EXT_surface_compression on wayland

  • zink: hook up compression control extensions

  • zink: store compression rate info for formats

  • zink: implement compression control

  • zink: move x8 format function to zink_format.c

  • zink: fix zink_format_is_voidable_rgba_variant()

  • zink: add X format variants for 30-bit formats

  • zink: add some other missing X format emulation variants

  • zink: add adl flake

  • vk/image: fix view creation for planar video aspects

  • zink: only clamp samplerview aspect for zs formats

  • zink: fix planar image creation with mutable

  • zink: correctly handle disjoint image creation

  • zink: slightly refactor image tiling inference

  • zink: swap sampler conversion conditional with yuv check

  • zink: stop creating useless sampler conversions

  • zink: move some image ici init up

  • zink: check HAVE_LIBDRM for xf86drm.h include

  • zink: only use DISJOINT for planar images

  • zink: zink_modifier_prop -> zink_modifier_props

  • zink: wrap all access to format_props and modifier_props

  • zink: init format props dynamically

  • zink: fix some indentation

  • zink: delete redundant HIC usage check

  • zink: add HIC back if suboptimal check fails

  • zink: simplify some confusing modifier code

  • zink: stop passing modifier pointers internally

  • zink: rework modifier selection (again)

  • zink: rework HIC image creation checks

  • vk/runtime: add EXT DGC layout handling

  • lavapipe: EXT DGC

  • ci: bump gl cts versions

  • ci: bump VVL to current week

  • zink: revert compression control handling

  • vl: add pipe_video_buffer::flags to sync up with pipe_resource::flags

  • util/vbuf: delete/fix broken incompatible stride calc

  • zink: block all 2d view creation with sparse

  • zink: block dmabuf fallback into optimal tiling

  • zink: assert images aren’t created with dmabuf export and optimal tiling

  • zink: also init format props when getting modifier props

  • zink: clamp out dmabuf exports from optimal tiling images

  • zink: fix external_only reporting for dmabuf formats

  • zink: block srgb with winsys imports

  • anv: add VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 to modifier exceptions

  • gallium: rework vbuf alignment pipe caps

  • util/vbuf: rename/consolidate some bools

  • gallium/sw: make llvmpipe the “default” sw driver

  • util/framebuffer: add viewmask compare for fb equal

  • iris: assert that viewmask is 0

  • gallium: delete duplicated viewmask member in draw info

  • llvmpipe: expose GL multiview extensions

  • zink: further improve image usage detection

  • zink: rewrite the high-IQ image tiling selection loop

  • device-select: only try wayland/x11 if the required vars are set

  • va: fail context create if driver does not support video

  • vdpau: fail context create if driver does not support video

  • zink: stop leaking precompiled generated tcs

  • zink: add VVL for RADV jobs

Mike Lothian (1):

  • Revert “device_select: shortcut EnumeratePhysicalDevice* for count-only calls”

Mitchell Kember (1):

  • [fxbug.dev] Migrate bug numbers

Mohamed Ahmed (6):

  • nvk: Use stride in the explicit modifier case for linear images

  • nil: Expose px_to_B helpers to C

  • nil: Add level_layer_size_B() helper

  • nvk: Add host copy functions

  • nvk: Block off non-2D DRM format modifier images

  • nvk: Enable VK_EXT_host_image_copy

Nanley Chery (49):

  • anv: Drop flush from unused depth workaround

  • intel/blorp: Use WA helpers for depth pipecontrol

  • anv,iris: Use WriteImmediate instead of Z flush for WA

  • anv: Batch MCS and CCS aux-op flushes

  • anv: Add want_hiz_wt_for_image()

  • iris: Add and use want_hiz_wt_for_res

  • intel: Enable more LOD0 HIZ+CCS fast clears

  • intel/blorp: Allow LOD0 fast-clears with HiZ WT

  • intel: Adjust partial depth fast clear checks

  • intel: Use a simpler workaround for HiZ WT fast-clears

  • iris: Invalidate state cache for some depth fast clears

  • intel: Add and use isl_get_sampler_clear_field_offset

  • intel/blorp: Simplify depth clear value updates

  • iris: Move a HIZ_CCS_WT fast-clear flush higher up

  • intel: Move depth clear value writes to drivers

  • intel/isl: Fix packing of SINT formats

  • intel: Don’t use HW clear color conversion on gfx11

  • intel/blorp: Don’t use clear color conversion on gfx12

  • anv,iris: Skip tex invalidate for clear conversion

  • anv,hasvk: Add and use set_image_clear_color()

  • anv,hasvk: Always use BLORP_BATCH_NO_UPDATE_CLEAR_COLOR

  • iris: Always use BLORP_BATCH_NO_UPDATE_CLEAR_COLOR

  • iris: Skip some fast-clears even on color changes

  • intel: Drop BLORP_BATCH_NO_UPDATE_CLEAR_COLOR

  • anv: Pass the VkClearDepthStencilValue for clears

  • anv: Add and use anv_image_hiz_clear_value()

  • intel: Support any depth fast-clear value on Xe2

  • intel/isl: Always set EnableUnormPathInColorPipe

  • anv,iris: Pack depth pixels into initialized arrays

  • intel/isl: Reduce miptail slot usage to allow CCS

  • intel/isl: Disable 3D Ys/Yf miptails for CCS

  • anv: Change params of anv_can_fast_clear_color_view

  • anv: Move and rename anv_can_fast_clear_color_view

  • anv: Move exec_ccs_op and exec_mcs_op higher up

  • anv: Support fast clears in anv_CmdClearColorImage

  • intel: Avoid no-op calls to anv_image_clear_color

  • anv: Require compression for fast-clears on gfx20+

  • anv: Use image formats when copying to/from buffers

  • intel/blorp: Choose some copy formats independently

  • intel/blorp: Use original surface format for some copies

  • anv: Prevent clear color modifier corruption with views

  • anv: Delete stale comment for BLORP clear color addr

  • anv: Add an array of view formats to anv_image

  • anv: Prepare dmabufs for clear color arrays

  • anv: Move code out of loop in anv_CmdClearColorImage

  • anv: Refactor clear color loading functions

  • anv: Access more colors in fast_clear_memory_range

  • anv: Load fast clear colors more often

  • anv: Allow more fast clear colors for layouts

Neha Bhende (1):

  • dri: fix macro name check to detect svga driver

Nikita Popov (1):

  • gallium: Don’t pass avx512er and avx512pf features on LLVM 19

Oskar Rundgren (1):

  • pvr: improve buffer copy format selection

PODISHETTY KUMAR (1):

  • Revert “gfxstream: add VK_EXT_vertex_attribute_divisor”

Patel, Utpal (2):

  • amd/vpelib: Add input pixel format support

  • amd/vpelib: Add resource function hooks for checking support

Patrick Lerda (8):

  • iris: fix indirect draw refcnt imbalance

  • i915: fix vertex atan regression

  • iris: fix iris_ensure_indirect_generation_shader() memory leak

  • r600/sfn: fix class Shader object m_register_allocations memory leak

  • r600/sfn: fix class Shader object last_alu_with_indirect_reg memory leak

  • r600: fix spec ext_packed_depth_stencil getteximage

  • glsl: fix gl_nir_validate_intrastage_interface_blocks() memory leak

  • r600: fix sfn_nir_legalize_image_load_store cubearray behavior

Paulo Zanoni (33):

  • intel/genxml: add the BLT and COMP_CTX0 versions of the TR-TT registers

  • anv/trtt: make genX(init_trtt_context_state) a little more compact

  • anv/trtt: check the return value of anv_trtt_init_context_state()

  • anv/trtt: submit a separate batch in anv_trtt_init_context_state()

  • anv/trtt: make all contexts have the same TR-TT programming

  • anv/trtt: fix the process of picking device->trtt.queue

  • anv/trtt: don’t just crash when we can’t find device->trtt.queue

  • anv/xe: try harder when the vm_bind ioctl fails

  • anv: don’t expose the compressed memory types when DEBUG_NO_CCS

  • anv: disable CCS for Source2 games on Xe2

  • intel: fix compute SLM sizes on Xe2 and newer

  • anv: be consistent regarding non-render engines on i915.ko

  • isl: don’t assert(num_elements > (1ull << 27))

  • anv: fix compute engines when using ANV_QUEUE_OVERRIDE

  • anv/trtt: mark vk_sync_get_value()’s value as defined for Valgrind

  • anv: remove duplicate pipe_control workaround

  • anv: remove another copy of the texture cache pipe_control workaround

  • anv/trtt: set every entry to NULL when we create an L2 table

  • anv/trtt: extract anv_trtt_first_bind_init()

  • anv/trtt: inline anv_trtt_init_queues_state()

  • anv/trtt: ensure all L3 entries are NULL-bound during init

  • anv/trtt: unset trtt->l3_addr if initialization fails

  • anv/trtt: fix error handling when adding binds

  • anv/trtt: don’t submit empty batches when there are no binds to do

  • anv/trtt: decrement trtt->timeline_val when submission fails

  • anv/trtt: delay batch garbage collection

  • anv/trtt: remove TODO comment regarding the reloc list

  • anv/trtt: convert anv_trtt_bind arrays to util_dynarray

  • anv/trtt: extract anv_trtt_first_bind_init_queue()

  • anv/trtt: fix the creation of sparse buffers of size 2^32 on 32bit systems

  • anv/trtt: remove useless VK_RESULT checks

  • brw: don’t emit instruction to add zero in spilling code

  • brw: add a NOP in between WHILE instructions on LNL

Pavel Ondračka (28):

  • r300: bias presubtract fix

  • ttn: switch to derivative intrinsics

  • r300: fix RGB10_A2 CONSTANT_COLOR blending

  • mesa: implement GL_FRAMEBUFFER_BLEND query

  • r300/ci: add more flakes

  • ttn: use nir_shader_get_entrypoint in nir_shader_gather_info

  • ttn: unconditionally call nir_shader_gather_info

  • r300: remove nir_opt_load_store_vectorize

  • r300/ci: update fails list with a recent fix

  • r300: move HyperZ blacklist to driconf

  • r300: use fake ADD instead of MOV for negative KIL source fixup

  • r300: preserve NaNs and denormals for MIN/MAX/CMP/CND

  • r300: get rid of unneeded CMP before KIL

  • r300: remove gl_ClipVertex early

  • r300/ci: share some common variables

  • r300/ci: add deqp and piglit on RV410

  • r300: add .clang-format file for the compiler

  • r300: opt in to clang-format CI enforcement for the compiler

  • r300/compiler: reformat using default mesa .clang-format rules

  • r300/ci: update ci expectations after piglit uprev

  • nir/nir_group_loads: reduce chance of max_distance check overflow

  • r300/ci: add new RV410 flakes

  • ci: disable ondracka farm

  • Revert “ci: disable ondracka farm”

  • r300: add switch to support IEEE and FF math opcodes

  • r300: remove wrong Unigine Sanctuary driconf override

  • r300: add driconf math mode override for Unigine Tropics and Oilrush

  • r300/ci: fails update after recent piglit uprev

Peyton Lee (1):

  • radeonsi: correct map and unmap function timing

Pierre-Eric Pelloux-Prayer (26):

  • amd: use a valid size for ac_pm4_state allocation

  • radeonsi: reject modifiers with DCC when NO_EXPORTED_DCC is used

  • radeonsi: consider PIPE_BIND_LINEAR when filtering modifiers

  • radeonsi: consider DBG(NO_TILING) when filtering modifiers

  • egl,gbm,glx: fix log message spam

  • radeonsi: don’t always update shader coherency draw call counter

  • gallium/ddebug: implement modifiers function

  • gallium/ddebug: implement set_inlinable_constants

  • gallium/ddebug: fix sampler_states handling

  • gallium: add pipe_screen::get_driver_pipe_screen

  • radeonsi: add si_screen helper

  • kopper, dri: remove trace_screen_unwrap

  • frontends/va: honor DRI_PRIME for VA_DISPLAY_WAYLAND

  • radeonsi/tests: allow to run radeonsi-run-tests.py with AMD_DEBUG

  • radeonsi: include the shader key in the sqtt pipeline hash

  • radeonsi: check the pointer before adding an offset

  • radeonsi/sqtt: don’t store the offsets in the pipeline

  • radeonsi/sqtt: use XXH64_update

  • radeonsi/sqtt: don’t leak the pipeline bo

  • radeonsi/sqtt: don’t store pipeline->bo in shader->bo

  • radeonsi/gfx12: fill missing dcc tiling info

  • radeonsi: fix radeon_canonicalize_bo_flags domain handling

  • ac/surface: fix determination of gfx12_enable_dcc

  • nir: skip offset=0 in nir_io_add_const_offset_to_base

  • glsl: use nir_io_add_const_offset_to_base in gl_nir_opts

  • radeonsi/ci: mark *.tessellation_shader_tessellation.max_in_out_attributes as fixed

Pohsiang (John) Hsu (1):

  • d3d12: fix incorrect memset in d3d12_video_encoder_references_manager_hevc

Qiang Yu (29):

  • radeonsi: lower subgroup ops after wave size is known

  • ac/llvm: build wqm for quad intrinsics only when fragment shader

  • ac,radv,radeonsi: stop using quad vote any/all when llvm

  • gallium: add caps for KHR_shader_subgroup

  • mesa: add KHR_shader_subgroup extension

  • mesa: implement KHR_shader_subgroup Get* values

  • mesa: add spirv GroupNonUniform* capbilities support

  • glsl: add KHR_shader_subgroup extensions

  • glsl: add builtin variables for KHR_shader_subgroup

  • glsl: remove unused builtin function macros

  • glsl: use generic convertion code for some intrinsics

  • glsl: add KHR_shader_subgroup_basic builtin functions

  • glsl: prepare vote function args for subgroup usage

  • glsl: add KHR_shader_subgroup_vote builtin functions

  • glsl: prepare ballot function args for subgroup usage

  • glsl: add KHR_shader_subgroup_ballot builtin functions

  • glsl: add KHR_shader_subgroup_shuffle builtin functions

  • glsl: add KHR_shader_subgroup_shuffle_relative builtin functions

  • glsl: add KHR_shader_subgroup_arithmetic builtin functions

  • glsl: add KHR_shader_subgroup_clustered builtin functions

  • glsl: add KHR_shader_subgroup_quad builtin functions

  • glsl: remove unused fields in gl_shader

  • glsl: set shader_info.subgroup_size for KHR_shader_subgroup

  • radeonsi: remove NULL check in si_determine_wave_size

  • radeonsi: consider both stages to determine merged shader wave_size

  • radeonsi: use wave64 for KHR_shader_subgroup enabled shader

  • radeonsi: enable KHR_shader_subgroup

  • nir: add skip_lower_packing_ops shader compile option

  • ac: do not lower some ops in nir_lower_packing

Rebecca Mckeever (7):

  • panvk: Move the VkEvent logic to the jm folder and make it per-arch

  • panvk: Add VkEvent support to the CSF backend

  • panvk/csf: Set and clear vb.dirty flag

  • panvk/csf: Split tiler flags initialization into two steps

  • panvk: Track VkFormats for depth and stencil attachments

  • panvk: Move rendering info to panvk_rendering_state struct

  • panvk/csf: Implement vkCmdExecuteCommands

Renato Pereyra (1):

  • egl: Refactor init of CPU tracing in EGL for Android

Rhys Perry (88):

  • nir/instr_set: combine XXH32 calls

  • nir/instr_set: stop sorting phi sources

  • nir/instr_set: hash tex sources commutatively

  • aco/gfx11.5: workaround export priority issue

  • aco: add tests for export priority issue

  • aco/gfx11.5: skip dealloc_vgprs for stages with exports

  • aco: add export instructions to should_form_clause

  • aco: form export clauses

  • aco: move s_setprio to before NGG exec initialization

  • aco: consider exec empty after divergent continue then divergent break

  • aco: add struct and helpers for exec potentially empty

  • aco: combine DPP into v_cvt_f16_f32

  • aco: fix validation of v_s_ opcodes

  • aco: don’t transform v_interp_p2_f32 with constant into fma

  • docs: update ACO_DEBUG documentation for scheduler options

  • docs: update ACO_DEBUG documentation for perfwarn

  • nir/opt_uniform_atomics: require block index metadata

  • aco: split selection_control_remove into rarely_taken and never_taken

  • aco: only remove branch jumping over SMEM/barrier if it’s never taken

  • aco: completely skip branches if they’re never taken

  • aco: set prefer_remove for gfx9- too

  • aco: calculate indices from dominance tree

  • aco: use dominance helpers

  • aco: preserve SSA in try_eliminate_scc_copy

  • aco: validate temporary reachability

  • aco: split insert_wait_states into two

  • aco: move insert_delay_alu to after insert_NOPs

  • aco: forget valu delays after certain s_waitcnt_depctr/LDSDIR

  • aco: ignore exec and literals when mitigating VALUMaskWriteHazard

  • aco: also consider VALU reads for VALUMaskWriteHazard

  • aco: don’t consider sa_sdst=0 before SALU write to fix VALUMaskWriteHazard

  • aco: check SALU writing lanemask later for VALUMaskWriteHazard

  • aco: preserve bitsets after a lane mask is written

  • aco/tests: add more VALUMaskWriteHazard tests

  • aco/ra: fix sub-dword get_reg_specified in some cases

  • aco/ra: use DefInfo for get_reg_specified

  • aco: have get_subdword_definition_info update DefInfo

  • aco: fix printing of d16 MIMG dmask

  • nir/opt_if: fix fighting between split_alu_of_phi and peel_initial_break

  • nir/opt_loop: skip peeling if the break is non-trivial

  • nir/opt_loop: skip peeling if the loop ends with any kind of jump

  • nir/tests: add some loop peeling tests

  • nir: skip opt_loop_peel_initial_break if continue block only has phis

  • radv/rt: align constant data by 64 when inlining shaders

  • radv/rt: don’t split array/struct payload variables

  • aco: do not use inline constants for 16-bit pseudo scalar trancendentals

  • aco/tests: update assembler tests for llvm

  • aco: workaround hazards in emit_long_jump

  • nir/opt_loop: rematerialize header block derefs in their use blocks

  • nir/tests: test opt_loop_peel_initial_break with derefs in header block

  • aco: stop using instructions in ra_ctx::vectors

  • aco: create vector affinities for phi operands

  • aco: fix is_vector_intact for GFX11 BVH

  • nir/divergence_analysis: disable phi undef optimization by default

  • aco: ensure phis uniformized by divergence analysis are SGPR

  • aco: skip uniformization of certain merge phis

  • radv: fix output statistic for fragment shaders

  • radv: optimize VS input load components to constants earlier

  • radv: use explicitly sized types for some radv_shader_info members

  • ac/llvm: cast to integer after derivative intrinsics

  • aco,radv,radeonsi: add aco_shader_info::ps::has_prolog

  • aco: split CounterMap off from VGPRCounterMap

  • aco: minor CounterMap::operator== fix

  • aco: workaround VALUReadSGPRHazard

  • aco/tests: add tests for VALUReadSGPRHazard

  • nir: fix shfr constant folding with zero src2

  • nir/algebraic: fix shfr optimization with zero src2

  • aco: add waitcnt build helper

  • aco: fix printing of block_kind_discard_early_exit

  • aco: insert NOP before dealloc_vgpr in the insert_NOPs pass

  • aco: don’t emit early exit over dealloc_vgprs

  • aco: wait for scratch stores to complete before dealloc_vgprs

  • aco: don’t byte align global VMEM loads if it might be unsafe

  • nir/algebraic: add bit-size check to extract_u8 pattern

  • aco/gfx11: fix v1b=p_extract(src, 0, 16, 0)

  • aco: check for SDWA before applying extract to lshl/cvt_f32

  • aco: disallow p_extract(,,32,)

  • aco: handle SGPR limitations when applying extract

  • aco: add a bit more p_extract/p_insert validation

  • aco: shrink code size of some p_extract

  • aco: allow applying sign-extended sel to p_extract more often

  • aco: add and use apply_extract_twice helper

  • aco: combine extracts with sub-dword definitions

  • aco: apply extract to p_extract_vector

  • aco: apply extract to v_cvt_f32_ubyte0

  • nir/algebraic: fix iabs(ishr(iabs(a), b)) optimization

  • nir/algebraic: check bit sizes in lowered unpack(pack()) optimization

  • nir/lcssa: fix premature exit of loop after rematerializing derefs

Rob Clark (80):

  • freedreno/a6xx: Implement reg stomper support

  • freedreno/a7xx: Fix GRAS_UNKNOWN_80F4 writes

  • freedreno/cffdec: Fix a7xx CP_EVENT_WRITE decoding

  • tu/drm/virtio: Add missing a7xx case

  • freedreno/drm: Handle a7xx case

  • freedreno: Move GENX/CALLX magic to common

  • freedreno: Extract out common UBWC helper

  • freedreno: Extract out shared LRZFC layout helpers

  • freedreno/a6xx: Allocate lrcfc when needed for direction tracking

  • freedreno/a6xx: Refactor CP_EVENT_WRITE emit

  • freedreno/a6xx: Rework CCU_CNTL emit for a7xx

  • freedreno/a6xx: Initial a7xx support

  • tu: Fix issues with 16k (or larger) page sizes

  • freedreno/drm/virtio: Fix issues with 16k (or larger) page sizes

  • tu: Random non-consequential fixes

  • subprojects: perfetto uprev to v47.0

  • egl: Fix surfaceless + modifiers

  • gallium: Add option to not add version to libgallium filename

  • freedreno/computerator: Use CHIP variant reg builders

  • tu: Add helper to calculate layer address

  • tu: Use CHIP variant reg builders

  • freedreno/registers: Deprecate non-variant reg builders

  • tu: Quiet vla warnings

  • freedreno/a6xx: Fix arb_texture_view regression

  • freedreno/decode: Dump register values on LRZ_CLEAR

  • freedreno/a6xx: Fix LRZ

  • freedreno: Re-enable LRZ for a7xx

  • freedreno/a6xx: Cleanup setup_slices()

  • nir/opt_loop: Don’t peel initial break if loop ends in break

  • freedreno/a6xx: Sysmem clear fixes

  • freedreno/drm: Fix ring_heap flags

  • freedreno/crashdec: Fix fault address handling

  • freedreno/register: A couple pm4 updates

  • freedreno/ir3: Fix GPU name in disasm test

  • freedreno/ir3: Add half-FLUT cases

  • freedreno/ir3: Fix cat1 parser ambiguity vs FLUTs

  • freedreno/ir3: Add more cat1 float-immed cases

  • freedreno/a6xx: Only emit VFD/PC_POWER_CNTL for a6xx

  • freedreno/a6xx: De-open-code VFD_MODE_CNTL

  • freedreno/a6xx: Cleanup WFIs around RB_CCU_CNTL

  • freedreno/a6xx: Set bin size per bin

  • freedreno/a6xx: Move PC_TESSFACTOR_ADDR emit

  • freedreno/a6xx: Move static regs to preamble IB

  • freedreno/a6xx: Move more state emit per-bin

  • freedreno/a6xx: Emit CP_SET_AMBLE packets

  • freedreno/drm: Add preemption support

  • freedreno: Balance out u_blitter cb0 save/restore

  • freedreno/a6xx: Add some missing a7xx bits

  • freedreno: Assert we aren’t writing to 0x0

  • freedreno/decode: Fix UBO decode on a7xx

  • freedreno/ir3: Avoid draw/grid time input iteration

  • freedreno/ir3: Add assert about const emit

  • freedreno/ir3+tu: Convert driver-params to structs

  • freedreno/ir3: Indentation fix

  • freedreno/a6xx: Fix double SP_MODE_CONTROL emit

  • freedreno/a6xx: Move tess-bo emit

  • freedreno/ir3: Track # of app UBOs

  • freedreno/ir3: Fix need_driver_params for UBO case

  • freedreno: Rework indirect compute param emit

  • freedreno/a6xx: Add support to load driver-params via UBO

  • freedreno/a6xx: Fix color_cache_size

  • freedreno/a6xx: Don’t open-code INVALID_REG

  • freedreno/a6xx: Add VPC hardware workaround for a750

  • freedreno/a6xx: Add missing GRAS_SU_DEPTH_CNTL

  • freedreno/ir3: Create UBO variables for driver-UBOs

  • nir/lower_amul: Fix ASAN error

  • freedreno/a6xx: Support variable wg size

  • ir3/ra: Better CL/kernel support

  • freedreno/computerator: Make shader show up in devcore/etc

  • freedreno/ir3: Do not propagate away a widening move

  • ir3: Fix binning pass driver UBOs

  • ir3: Don’t lower VS driver params to UBO

  • freedreno/a6xx: Don’t try resolve blits

  • freedreno/a6xx: Stop exposing MSAA image load/store harder

  • freedreno: Fix tile-per-pipe debug overrides

  • freedreno/a6xx: Fix MSAA depth on a6xx gen1

  • freedreno/ci: Garbage collect some obsolete xfails

  • util/primconvert: Avoid OoB with improbable draws

  • freedreno/a6xx: Don’t check dst coords

  • freedreno/a6xx: Random whitespace fix

Robert Mader (5):

  • egl: Stop requiring texture_3D_image for EGL 1.5

  • perfetto: Add Panfrost data sources to system.cfg

  • egl: Add more errors cases during context creation

  • egl: Stop requiring EXT_create_context_robustness for EGL 1.5

  • v3d: Support SAND128 base modifier

Rohan Garg (23):

  • anv: use the WA infrastructure when emitting WA 16013994831

  • anv: program a custom byte stride on Xe2 for indirect draws

  • anv,iris: prefix the argument format with XI for a upcoming refactor

  • anv: refactor indirect draw support into it’s own function

  • anv: dispatch indirect draws with a count buffer through the XI hardware on ARL+

  • anv: migrate indirect mesh draws to indirect draws on ARL+

  • vtn: handle SpvOpExtInstWithForwardRefsKHR for non semantic instructions

  • anv: enable KHR_shader_relaxed_extended_instruction

  • anv: prefetch samplers when dispatching compute shaders

  • iris,anv: simplify and inline sampler count calculations

  • anv: enable the VK_KHR_shader_relaxed_extended_instruction feature

  • hasvk: enable VK_KHR_shader_relaxed_extended_instruction

  • intel/compiler: version can never be above 11 due to the previous check

  • intel/compiler: use the correct cache enum for loads and stores

  • hk: enable VK_KHR_shader_relaxed_extended_instruction

  • nvk: enable VK_KHR_shader_relaxed_extended_instruction

  • radv: enable VK_KHR_shader_relaxed_extended_instruction

  • tu: enable VK_KHR_shader_relaxed_extended_instruction

  • v3dv: enable VK_KHR_shader_relaxed_extended_instruction

  • lvp: enable VK_KHR_shader_relaxed_extended_instruction

  • docs: update feature matrix for VK_KHR_shader_relaxed_extended_instruction

  • intel/brw: lower math op regions for Xe2+

  • anv: Xe2+ doesn’t need the special flush for sparse

Rohit Athavale (1):

  • d3d12: Fix typo in copyright comments

Roland Scheidegger (1):

  • llvmpipe: Fix type mismatch when storing residency info

Romaric Jodin (1):

  • perfetto: fix perfetto counter following perfetto v46.0

Roy Chan (3):

  • amd/vpelib: Optimize the CPU usage by caching all the LUT configs

  • amd/vpelib: fix zero input handling

  • amd/vpelib: Add documentation

Ruijing Dong (8):

  • radeonsi/vcn: correct a typo in a variable

  • radeonsi/vcn: add new function for obu_header

  • frontends/va: check av1 enc hdr metadata

  • radeonsi/vcn: input av1 hdr metadata

  • frontends/va: rework VAConfigAttribEncPackedHeaders query

  • radeonsi/vcn: add HDR metadata obu in av1enc

  • frontends/va: reset roi number

  • radeonsi/vcn: qp map IB package sent by default

Russell Greene (2):

  • wsi/wayland/perfetto: supply presentation clock to perfetto

  • perfetto: fix macos compile

Sagar Ghuge (8):

  • intel/compiler: Ray query requires write-back register

  • intel/compiler: Adjust trace ray control field on Xe2

  • intel/compiler: Fix indirect offset in GS input read for Xe2+

  • anv: Reduce clear color state alignment to 64B

  • iris: Reduce clear color state alignment to 64B

  • intel: uncached L1 to fix memory barrier issue in RT shader

  • anv: Track all the descriptor sets

  • intel: Switch to COMPUTE_WALKER_BODY

Sai Teja (2):

  • ci: Don’t run vulkan jobs for gbm changes

  • ci: Disable angle jobs for GL changes

Sai Teja Pottumuttu (2):

  • docs: Add required dependencies to meson.rst

  • docs: Match README installation guide with meson.rst

Sam Lantinga (1):

  • util: Fixed crash in HEVC encoding on 32-bit systems

Samuel Pitoiset (233):

  • radv: stop re-initializing HTILE for non-compressed to compressed transitions

  • amd/drm-shim: add missing GC_11_5_0 family

  • amd/drm-shim: add GFX1150 support

  • ci: add GFX1150 support to radv-fossils

  • radv: fix handling view index from device index

  • radv: cleanup robustness with vk_pipeline_robustness_state_fill()

  • radv: add a helper to set shader stage key robustness info

  • radv: add support for dynamic vertex input state with DGC

  • radv: allow VK_EXT_vertex_input_dynamic_state with DGC

  • radv/meta: simplify radv_meta_blit2d_normal_dst()

  • radv/meta: rework creating blit pipelines

  • radv/meta: simplify initializing DCC comp-to-single pipelines

  • radv/meta: remove unused parameter from some blit init functions

  • radv/meta: create blit2d layouts on-demand

  • radv/meta: create itob layouts on-demand

  • radv/meta: create btoi layouts on-demand

  • radv/meta: create itoi layouts on-demand

  • radv/meta: create cleari layouts on-demand

  • radv/meta: simplify initializing bufimage pipelines

  • radv/meta: create DGC prepare pipeline on-demand

  • aco: fix bogus assert in RT prolog on GFX11+

  • radv: add a small helper to determine the index type with DGC

  • radv: pass a dgc_cmdbuf parameter to more dgc helpers

  • radv: refactor the DGC helpers to determine cmdbuf size

  • radv: add a small comment describing the DGC implementation

  • radv/winsys: pad gfx and compute IBs with only one NOP

  • radv: pad GFX preambles IBs with only one NOP

  • radv: use a sized NOP packet for the DGC preamble

  • radv/amdgpu: fix CS padding for non-GFX/COMPUTE queues

  • radv: remove redundant PA_SU_PRIM_FILTER_CNTL in the GFX preamble

  • radv: stop emitting DB_RENDER_OVERRIDE in the GFX preamble

  • radv: stop emitting PA_SC_CLIPRECT_RULE in the GFX preamble

  • radv: stop emitting DB_COUNT_CONTROL in the GFX preamble

  • vk/render_pass: add Mesa-specific flag for dynamic rendering

  • radv: use the Mesa-specifc dynamic rendering flag for meta operations

  • radv: add radv_shader_info::ps::uses_fbfetch_output

  • radv: add support for input attachment indices with DRLR

  • radv: fix DRLR with subpass input attachments and feedback loops

  • radv/amdgpu: do not check that a CS is aligned if no padding is added

  • radv/amdgpu: assert that the DGC IB VA is correctly aligned

  • radv: optimize NOPs padding with DGC

  • radv/ci: update flakes lists for NAVI21/VANGOGH

  • radv/ci: enable RADV_PERFTEST=transfer_queue on GFX9+

  • radv: remove RADV_DEBUG=nogsfastlaunch2

  • radv: rework computing the DGC cmdbuf layout

  • ac: add ac_gfx103_get_cu_mask_ps()

  • ac,radeonsi,radv: add common GFX preambles

  • radv: prepare for specialized DGC shaders

  • radv: add a pointer to the DGC layout in dgc_cmdbuf

  • radv: specialize dispatch DGC token

  • radv: specialize draw DGC token

  • radv: specialize index buffer DGC token

  • radv: specialize pipeline DGC token

  • radv: specialize VBO DGC token

  • radv: simplify allocating push constants with DGC

  • radv: specialize push constant DGC token

  • radv: specialize indirect command layout stride for DGC

  • radv: remove useless check about non-indexed draws and DGC

  • radv: move emitting the compute pipeline with DGC

  • radv: stop passing the upload offset to dgc_emit_bind_pipeline()

  • radv: add a helper to store data to the DGC upload space

  • radv: move emitting VBOs with DGC

  • radv: specialize push constant stages with DGC

  • radv: allow VK_EXT_legacy_vertex_attributes with DGC

  • radv: fix emitting DGC indirect draws with drawid/base_instance

  • radv: return early when the vertex input state is dynamic

  • radv: only initialize per-attribute vertex input state when needed

  • radv: add radv_vs_input_state::attrib_index_offset

  • radv: bind the static vertex input state from the pipeline

  • radv: rename radv_vs_input_state to radv_vertex_input_state

  • radv: pass the vertex shader to radv_write_vertex_descriptors()

  • radv: pass more VBO info as parameters to the DGC prepare shader

  • radv: stop storing DGC info as part of the VBO descriptors

  • radv: specialize dispatch initiator for compute/task shaders with DGC

  • radv: store the indirect compute pipeline VA to dgc_cmdbuf

  • radv: use compute pipeline metadata for non-indirect DGC pipelines

  • radv: fix missing attribute offset with dynamic VS inputs and DGC

  • radv: specialize one more VBO parameter with DGC

  • radv: pass use_per_attribute_vb_descs in radv_dgc_params

  • radv: add a helper to write a single vertex descriptor with DGC

  • radv: add a helper to get VBO info for emitting descriptors

  • radv: compute rsrc3 for VBO descriptors in NIR for DGC

  • radv: use radv_vbo_info for emitting descriptors with DGC

  • radv: emit all VBO descriptors in the prepare DGC shader

  • radv: pass vb_desc_usage_mask in radv_dgc_params

  • radv: stop relying on the VS for emitting VBO descriptors in DGC

  • radv: fix allocating sparse descriptor buffers in the 32-bit addr space

  • radv: disable shaders linking with ESO when nextStage of VS/TES isn’t present

  • Revert “radv: specialize push constant stages with DGC”

  • vulkan: Update XML and headers to 1.3.294

  • vulkan: skip the disk cache when disableInternalCache is true

  • radv: rework helpers for serialize/deserialize shaders

  • radv: store the SHA1 RT stage to the shaders cache

  • radv: store the number of RT stages per pipeline to the shaders cache

  • radv: store whether a RT pipeline is a library to the shaders cache

  • radv: make pipeline hashing functions non-static

  • radv: disable the in-memory cache when disableInternalCache is true

  • radv: add initial support for pipeline binaries

  • radv: add support for capturing pipeline binaries

  • radv: add support for importing pipeline binaries

  • radv: advertise VK_KHR_pipeline_binary

  • radv: rework emitting indirect compute pipelines with DGC

  • radv: cleanup some functions that emit shader user SGPRs

  • radv: store the indirect descriptor sets VA to the descriptor state

  • radv: rename radv_emit_descriptor_pointers() to radv_emit_descriptors_per_stage()

  • radv: unify emitting non-indirect/indirect descriptor sets

  • radv: make the helper that uploads indirect descriptors non-static

  • radv: stop allocating upload space for indirect descriptors with DGC

  • radv: use radv_upload_indirect_descriptor_sets() in DGC

  • radv: update PGM register for TES+GS compiled separately with ESO

  • radv: precompute more PGM registers for all stages

  • radv: use radv_get_user_sgpr_loc() more

  • radv,radeonsi: remove remaining occurrences of TCS epilog

  • aco,radv,radeonsi: move has_epilog to the fragment shader info

  • radv: merge radv_emit_epilog() with radv_emit_ps_epilog_state()

  • radv/rt: skip shaders cache for pipelines created with the capture/replay flag

  • radv: fix copying the pipeline binary key

  • radv: compute shader hash for shaders created without internal cache

  • radv: enable more properties with VK_KHR_maintenance5

  • radv: fix lowering the view index to an input varying for FS

  • radv,aco: fix legacy vertex attributes when offset >= stride on GFX6-7

  • radv: fix lowering VS inputs when offset >= stride on GFX6-7

  • radv: add missing cache flushes for DRLR feedback loops

  • radv: update the stencil layout for DRLR feedback loops

  • radv/ci: stop skipping few tests that hang only with LLVM

  • radv: stop reporting VKCTS conformance on GFX11+

  • amd/addrlib: remove bogus assert in HwlComputeSlicePipeBankXor()

  • radv/ci: stop skipping dEQP-VK.api.command_buffers.many_indirect_disps_on_secondary

  • zink/ci: update expected list of failures since recent piglit uprev

  • radv: stop emulating GS invocations for legacy GS on RDNA1-2

  • radv: only export KHR_video_maintenance1 with KHR_video_queue

  • radv: fix assigning mesh shader outputs when clip/cull distances are read in FS

  • radv: emit all shader related user SGPR states in one place

  • radv: make sure to re-emit shader query state when a task shader is bound

  • radv: use only one user SGPR for all NGG state

  • radv: rename shader_query_state to task_state

  • radv: introduce dirty flags for shaders state

  • aco: fix descriptor leaking when printing assembly with CLRX

  • radv: move emitting some RT user SGPRs when the RT pipeline is emitted

  • radv: move updating compute scratch for RT when stack size is emitted

  • radv: do not keep executable info when compiling shaders for ESO

  • vulkan: Update XML and headers to 1.3.296

  • radv: simplify determining conformant products

  • ac/surface: add RADEON_SURF_VIEW_3D_AS_2D_ARRAY for GFX9+

  • radv: implement 2D views of 3D images using 2D_ARRAY descriptors on GFX9+

  • radv: advertise sampler2DViewOf3D

  • zink/ci: update expected list of failures for VANGOGH

  • ci: uprev VKCTS to 1.3.9.2

  • radv/amdgpu: do not use a constant value for the IB size in dwords

  • radv/amdgpu: add assertions to check the IB size

  • radv: use base mip level from vk_image_view

  • radv: stop passing redundant parameters to radv_image_view_make_descriptor()

  • radv: remove redundant assertions about image views

  • radv: stop passing image create flags to radv_image_view_init()

  • zink/ci: update expected list of failures on NAVI31

  • radv: do not expose NV DGC extensions on GFX6-7

  • radv: remove GFX6-7 DGC support completely

  • radv: update image view extent for non-compressed views earlier on GFX10+

  • radv: fix image view descriptors for samplers on GFX6-8

  • radv: remove RADV_MAX_DRM_DEVICES

  • radv: squash radv_get_memory_fd() with radv_GetMemoryFdKHR()

  • radv: remove RADV_THREAD_TRACE_TRIGGER completely

  • zink/ci: update list of expected failures for NAVI10

  • vulkan: fix merging bind sparse submits together

  • radv: fix conditional rendering with DGC preprocessing on compute

  • radv: fix generating the global key for pipeline binaries

  • radv: move radv_compact_spi_shader_col_format() to radv_cmd_buffer.c

  • radv: add a helper to bind the color output state

  • radv: add PKT3_INDIRECT_BUFFER_BYTES in the DGC path

  • radv: implement IB chaining for DGC when it’s executed on compute

  • radv/amdgpu: simplify cs_execute_ib()

  • radv/amdgpu: remove unused code about external IBs in the submit path

  • radv: rename ‘gfx’ to ‘main’ in the DGC path

  • radv: fix returning non-zero captured address without binding

  • radv: use app names instead of exec name for shader based drirc workarounds

  • radv: stop recomputing the viewport xform for guarband/viewport

  • radv: optimize breaking batch when CB_TARGET_MASK change

  • radv: use radv_normalize_blend_factor() more

  • radv do not force-disable hierarchical stencil testing

  • radv: fix emitting DB_RENDER_OVERRIDE on GFX12

  • radv: track more redundant DB related registers

  • radv: regroup and emit all DS related states in the same function

  • ci: uprev vkd3d-proton to 65b81403435576d882d9141ae3eb4a29373fba0e

  • radv: fix enabling/disabling user sample locations

  • ci: uprev vkd3d-proton to 59d6d4b5ed23766e69fe252408a3401d2fd52ce8

  • radv: fix initializing the HTILE buffer on transfer queue

  • radv: do not use MRT counters for images created for db capture&replay

  • radv: capture shader statistics when RGP is enabled

  • radv: fix emitting NGG culling state for ESO

  • radv: simplify determining if a graphics pipeline uses NGG culling

  • radv: do no emit PA_SC_CONSERVATIVE_RASTERIZATION_CNTL in the preamble on GFX12

  • amd: do not emit PA_SU_PRIM_FILTER_CNTL in the common GFX preamble

  • ci: uprev VKCTS to 1.3.10.0

  • amd/descriptors: set fmask_tile_swizzle for TC-compat CMASK images on GFX8

  • radv: set missing FMASK surface counters for MSAA MRTs

  • radv: fix considering NGG culling for depth-only rendering

  • radv: remove useless check about gl_Position as PS inputs for NGGC

  • radv: simplify determining if dual-source blending is enabled

  • Revert “radv: advertise sampler2DViewOf3D”

  • Revert “radv: implement 2D views of 3D images using 2D_ARRAY descriptors on GFX9+”

  • Revert “ac/surface: add RADEON_SURF_VIEW_3D_AS_2D_ARRAY for GFX9+”

  • radv: implement VK_EXT_device_generated_commands

  • radv: advertise VK_EXT_device_generated_commands on GFX8+

  • radv: track more redundant raster related registers

  • radv: regroup and emit all raster related states in the same function

  • ac/spm: do not abort when the SPM BO is too small

  • radv: resize the SPM bo when it’s too small

  • radv: fix wrong index in radv_skip_graphics_pipeline_compile()

  • ac/nir: cull triangles/lines when all W positions are zero/NaN

  • radv: fix configuring the memory violation exception for the compute stage

  • docs: add missing RADV_TRAP_HANDLER

  • radv: add an option to configure the trap handler exceptions

  • radv/ci: skip dEQP-VK.api.command_buffers.many_indirect_disps_on_secondary

  • radv: add missing L2 non-coherent image case for mipmaps with DCC/HTILE on GFX11

  • ac: add ac_gpu_info::has_trap_handler_support

  • radv: check for has_trap_handler_support instead of asserting

  • radv: only emit the TBA/TMA registers on GFX8

  • radv: fix dumping the faulty shader detected by the trap handler on GFX9+

  • radv,aco: save SQ_WAVE_GPR_ALLOC from the trap handler

  • radv: add a struct that describes the trap handler layout

  • aco: fix reading registers from the trap handler shader

  • aco: add support for the trap handler shader on GFX9-GFX10.3

  • radv: set missing shader info values for the trap handler

  • radv,aco: dump all SGPRS from the trap handler

  • aco: fix validation for VOP1 instructions without any dest/src

  • aco: clear the current wave exception in the trap handler

  • aco: add support for the trap handler shader on GFX11

  • aco: use inlined constant offsets for storing SGPRs in the trap handler

  • radv: cleanup tools related resources when destroying logical device

  • radv: save the trap handler report in the HOME directory

  • radv: mark some GFX6-7 GPUs as Vulkan 1.3 conformant

  • radv: fix ignoring src stage mask when dst stage mask is BOTTOM_OF_PIPE

  • radv: add a new drirc option to disable DCC for mips and enable it for RDR2

Satadru Pramanik (1):

  • Update lp_bld_misc.cpp to support llvm-19+.

Scott Moreau (2):

  • egl: small refactor to avoid code duplication

  • egl: hook up swap interval bits when using zink on wayland

Semenov Herman (Семенов Герман) (2):

  • radv: fix memleaks in radv_sqtt_reloc_graphics_shaders()

  • radv: fix memleaks in radv_init_shader_upload_queue()

Serdar Kocdemir (22):

  • Reduce heap pressure on getPacketContents

  • Use append to chain memory pointer info

  • Add VK_EXT_debug_utils to host modules for codegen

  • Add VK_EXT_validation_features to host modules

  • Add support for VK_EXT_robustness2

  • Add VK_EXT_metal_objects support

  • Mark VK_MVK_moltenvk extension as supported on vulkan

  • Add VK_EXT_debug_report extension support

  • Remove direct usages of MoltenVK library functions

  • Remove empty ifdef blocks after the codegen

  • Show missing extension’s name in the abort message

  • Handle all extensions for structure size calculation

  • Add extensions used in test applications

  • Add error messages for unhandled extensions

  • Add VK_EXT_external_memory_metal definitions

  • gfxstream: Add VkPrivateDataSlot handle type

  • gfxstream: Handle tmp folder explicitly on codegen

  • gfxstream: Use KHR version of the line_rasterization extension

  • Update decoder.py to use try_unbox on destroy calls

  • gfxstream: Check metal extension for external memory

  • gfxstream: Keep VK_EXT_line_rasterization for codegen

  • gfxstream: Allow VK_KHR_line_rasterization

Sergi Blanch Torne (20):

  • ci: disable Collabora’s farm due to maintenance

  • Revert “ci: disable Collabora’s farm due to maintenance”

  • ci: disable Collabora’s farm due to maintenance

  • Revert “ci: disable Collabora’s farm due to maintenance”

  • New DUT for Alder Lake

  • New testing jobs anv-adl{,-full}

  • New testing jobs anv-adl-angle{,-full}

  • New testing jobs intel-adl-skqp

  • New testing jobs zink-anv-adl{,-full}

  • Uprev Piglit to e9ab30aeaed97b69868cf4d6d6a3f70f3b53c362

  • ci: Disable gk20a-gles

  • ci: disable Collabora’s farm due to maintenance

  • Revert “ci: disable Collabora’s farm due to maintenance”

  • ci: disable Collabora’s farm due to maintenance

  • ci: shellcheck requires better ‘boolean or’ syntax

  • ci: run shellcheck when changes on scripts to check

  • Revert “ci: disable Collabora’s farm due to maintenance”

  • WIP: Re-enable Comet Lake

  • ci: disable Collabora’s farm due to maintenance

  • Nightly full job for a630-gles-asan

Sergio Lopez (2):

  • hk: limit the number of free BOs in each cmd pool

  • hk: allow overriding sysmem with an env var

Sergiu (1):

  • Tweaking YCBCR conversion to return correct VK Format

Shih, Jude (1):

  • amd/vpelib: Update Plane Descriptor Writer

Sid Pranjale (3):

  • glx: add a missing nullptr check

  • vulkan/util: add vk_format_has_float_depth()

  • nvk: implement VK_EXT_depth_clamp_zero_one

Sil Vilerino (49):

  • Revert “d3d12: Video Encode - Remove PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE as not supported” This reverts commit d6bb4ddc638f3ee37fbbe066c631dad80aaeb2d3. Fixes: d6bb4ddc638 (“d3d12: Video Encode - Remove PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE as not supported”)

  • pipe: Add PIPE_BIND_VIDEO_DECODE_DPB/PIPE_BIND_VIDEO_ENCODE_DPB

  • d3d12: Implement pipe_video_codec.create_dpb_buffer for AOT resources

  • d3d12: Allow passing custom pipe_resource creation template/placed resource to d3d12_video_buffer_create_impl

  • d3d12: Implement pipe_video_codec.create_dpb_buffer for texture array resources

  • frontend/va: VaSyncSurface encoder check for surface feedback

  • d3d12: Implement get_feedback_fence

  • d3d12: Video Encode H264 to use direct DPB from frontend

  • d3d12: Video Encode H264 - Support direct mmco operations

  • d3d12: Video Encode HEVC to use direct DPB from frontend

  • d3d12: Video Encode HEVC - Use VPS information from frontend, specifically for vps_max_dec_pic_buffering_minus1

  • d3d12: Rename d3d12_video_encoder_config_dirty_flag_sequence_info to d3d12_video_encoder_config_dirty_flag_sequence_header

  • pipe: Add pipe_h264_enc_pic_control.temporal_id

  • d3d12: H264, HEVC, AV1 Store multiple rate control states for multiple temporal layers

  • vl/vl_win32_screen_create_from_d3d12_device: Allow winsys to be injected

  • vl/null_sw_winsys: Add extern declaration for C++ usage

  • d3d12: Remove usage of WindowFromDC when building without d3d12 graphics

  • d3d12: Video Encode HEVC - Store L0/L1 active nums at time to encode them in the headers

  • d3d12: Video Encode H264 - Store L0/L1 active nums at time to encode them in the headers

  • d3d12: Video Encode H264 - Workaround for D3D12 validation bug requiring pRefPicMarkingOperationsCommands for IDR frames

  • pipe: Add PIPE_H26X_MAX_REFERENCES

  • d3d12: Remove max_references usage from frontend to reserve barriers array

  • d3d12: Fix d3d12_video_encoder_get_current_max_dpb_capacity to report actual max slots number in DPB

  • d3d12: Use d3d12_video_encoder_get_current_max_dpb_capacity in tex array pool instead of separate constant

  • d3d12: Use pipe_h264_enc_seq_param.max_num_ref_frames instead of pipe_video_codec.max_references in SPS

  • Fix definitions of PIPE_BIND_VIDEO_DECODE/ENCODE_DPB as they conflict with PIPE_BIND_SCANOUT and PIPE_BIND_SHARED

  • d3d12: Fix setting of direct_8x8_inference_flag in the SPS

  • d3d12: Plumb constrained_intra_pred_flag and transform_8x8_mode_flag from pipe_h264_enc_pic_control

  • d3d12: Set HEVC GOP state before calling d3d12_video_encoder_negotiate_requested_features_and_d3d12_driver_caps

  • d3d12: Support for on demand vps, sps, pps, aud headers requests from frontend

  • pipe: Remove renew_headers_on_idr, insert_aud_nalu unused params

  • d3d12: Add HEVC support for on demand AUD NALUS

  • pipe: Add HEVC encode range extension caps, SPS and PPS params

  • d3d12: Add support for HEVC 4:4:4 video encode using AYUV format

  • d3d12: Add support for HEVC range extension header parameters

  • ci: Bump DirectX-Headers and Agility SDK dependencies to 1.614.1

  • d3d12: Support create_dpb_buffer for non-opaque allocations when decoder/encoder supports it

  • pipe: Add temporal_id to pipe_h26x_enc_dpb_entry

  • d3d12: Support writing H264_SEI_SCALABILITY_INFO header on demand

  • d3d12: Support writing H264 temporal scalability prefix slice NAL on demand

  • d3d12: Report H264/HEVC support for 4 max temporal layers

  • d3d12: H264 Encode - Set SPS.gaps_in_frame_num_value_allowed_flag=1 when num_temporal_layers > 1

  • d3d12: d3d12_video_encoder_references_manager_h264 to use FrameDecodingOrderNumber as h264Pic->slice.frame_num

  • d3d12: Plumb H264/HEVC temporal_id from pipe params

  • d3d12: Fix HEVC chroma_format_idc, separate_colour_plane_flag and conf_win_*_offset for HEVC 444

  • d3d12: Wrap d3d12_video_encode_get_hevc_codec_support around #if VIDEO_CODEC_H265ENC

  • d3d12: fix incorrect memset in d3d12_video_encoder_references_manager_hevc::get_current_frame_picture_control_data

  • d3d12: Fix video encode metadata snapshot at frame submission, must include changes done by DPB manager begin_frame method

  • d3d12: Improve video encode intra-refresh logging

Simon Perretta (6):

  • pvr: Add missing feature check in compute cmd stream

  • pvr: Rescope msaa_mode

  • pvr: Add missing include for FALLTHROUGH

  • pvr: Inline xxhash header functions

  • pvr: rename pds unused reg constant

  • pvr: Make Vulkan driver depend only on nir headers, not library

SoroushIMG (4):

  • pvr: fix intermediate size when configuring mrt setup

  • pvr: cleanup 2101010 int format handling

  • pvr: fix msaa setup for resolve TQs

  • pvr: fix texture address offset when base level >0

Stéphane Cerveau (2):

  • anv: inline query for vulkan video encode

  • anv: check that inline query pool is VK_NULL_HANDLE

Surafel Assefa (1):

  • vulkan: MESA_VK_ENABLE_SUBMIT_THREAD=0 disables threaded submit

Sushma Venkatesh Reddy (4):

  • intel/clflush: Utilize clflushopt in intel_invalidate_range

  • intel/brw: Fix DEBUG_OPTIMIZER

  • intel/brw: Move get_nir_def() higher to avoid UNDEF

  • intel/brw: Handle 16-bit sampler return payloads

Sviatoslav Peleshko (14):

  • anv: Assert ray query BO actually exists

  • brw,elk: Fix opening flags on dumping shader binaries

  • anv: Release correct BO in anv_cmd_buffer_set_ray_query_buffer

  • anv: Add full subgroups WA for the shaders with barriers in Breaking Limit

  • brw: Fix mov cmod propagation when there’s int signedness mismatch

  • mesa: Reset vbo attributes after flushing them to Current in glPopAttrib

  • anv: Update XeSS workaround executable names for Satisfactory 1.0

  • intel/brw: Don’t apply discard_if condition opt if it can change results

  • intel/brw/gfx9: Implement WaClearArfDependenciesBeforeEot

  • intel/elk/chv: Implement WaClearArfDependenciesBeforeEot

  • intel/brw: List all instructions that have BranchCtrl bit

  • intel/brw_asm: Add BranchCtrl support

  • intel/elk: List all instructions that have BranchCtrl bit

  • intel/elk_asm: Add BranchCtrl support

Tapani Pälli (34):

  • intel/dev: update mesa_defs.json from workaround database

  • blorp: support new flag for setting cps dependency

  • anv: fix a cmd_buffer reference in simple shader

  • anv: refactor cmd_buffer_flush_gfx_runtime_state for dirty state

  • anv: implement workaround for Wa_18038825448

  • intel/dev: update mesa_defs.json from workaround database

  • gbm: depend on libdrm indepedent of dri2 setting

  • anv: move setting 3DSTATE_CLIP::MaximumVPIndex from loop

  • anv: check if RT writes are happening for HasWriteableRT

  • anv: set correct miplevel for anv_image_hiz_op

  • anv: change existing ICL workaround to depend on BLEND_STATE

  • iris: use correct enum for aux state on depth fast clear

  • mesa: check for ARB_ES3_compatibility in format checks

  • anv: initialize pixel struct to zero when setting clear color

  • iris: initialize pixel struct to zero when setting clear color

  • glsl: set a version to standalone compiler context

  • iris: fix issues with memory object updates via glBufferSubData

  • blorp: assert that color depth is not 96 for Wa_16021021469

  • anv: force StackIDControl value for Wa_14021821874

  • drirc/anv: force_vk_vendor=-1 for Faaast Penguin

  • anv: use mi_builder in CmdBeginTransformFeedbackEXT

  • intel/genxml: introduce L3 Fabric Flush for gfx12

  • intel/ds: add L3 fabric flush support

  • anv: add plumbing/support for L3 fabric flush

  • iris: add plumbing/support for L3 fabric flush

  • iris: add depth, DC and L3 fabric flush for aux map invalidation

  • anv: add depth, DC and L3 fabric flush for aux map invalidation

  • drirc/anv: force_vk_vendor=-1 for Silent Hill 2

  • intel/dev: update mesa_defs.json from workaround database

  • anv: set StackIDControlOverride_RTGlobals for 2 workarounds

  • mesa: fix DXT1 support with EXT_texture_compression_dxt1

  • iris: implement VF_STATISTICS emit for Wa_16012775297

  • anv: implement VF_STATISTICS emit for Wa_16012775297

  • anv/iris: add note about Wa_18039438632 for RT flush after SBA

Tatsuyuki Ishi (2):

  • util/u_queue: Replace relative time wait hack with u_cnd_monotonic

  • radv: Enable descriptorBufferCaptureReplay.

Thomas Debesse (1):

  • meson: fix linking gallium with xcb-xfixes when using x11

Thomas H.P. Andersen (8):

  • nvk: EXT_post_depth_coverage

  • nak: special case PhiDsts as not uniform

  • docs: update for new extensions in nvk

  • nvk: do not overwrite test cases

  • dirconf: add a common vk_zero_vram

  • nvk: handle driconf for zeroing vram

  • driconf: set vk_zero_vram driconf for Path of Exile

  • driconf: set vk_zero_vram driconf for X4 Foundations

Thomas Wagner (4):

  • llvmpipe: Fix external memory object reference

  • llvmpipe: Unmap DMA buffer to release all resources

  • llvmpipe: properly save llvmpipe_memory_allocation in memory_object

  • llvmpipe: Remove unused struct member

Thong Thai (1):

  • ci: partially emulate cdna devices using lower image opcodes

Timothy Arceri (48):

  • nir: create validate_tex_src_texture_deref() helper

  • nir: add nir_tex_src_{sampler,texture}_deref_intrinsic

  • glsl: make use of new tex src deref intrinsic

  • nir: set disallow_undef_to_nan for legacy ARB asm programs

  • glsl: fix glsl to nir support for lower precision builtins

  • glsl: always copy bindless sampler packing constructors to a temp

  • nir: make static assert more flexible

  • nir/glsl: set deref cast mode during function inlining

  • glsl: drop double support checks in helper

  • glsl: store has implicit conversions bools in gl_shader

  • glsl: apply implicit matching rules when linking

  • glsl: fix function overload resolution at link time

  • ci: bump piglit version

  • nir/tests: make add_loop_terminators more flexible

  • nir/tests: add basic terminator merge test

  • ci: disable gimark trace

  • mesa/glsl: add nir fields to the gl shader structs

  • glsl: add gl_nir_validate_intrastage_interface_blocks()

  • glsl: make gl_nir_validate_intrastage_arrays() more flexible

  • glsl: add support for converting global instructions to NIR

  • util/hash_table: add _mesa_string_hash_table_create() helper

  • nir: add max_ifc_array_access field to vars

  • nir: add nir_function_impl_clone_remap_globals()

  • glsl: move _mesa_glsl_can_implicitly_convert() to linker_util.cpp

  • nir: add function in/outs to variable modes

  • nir: serialize nir_parameter type

  • nir: store variable mode in nir_parameter

  • nir: add implicit_conversion_prohibited field to nir_parameter

  • glsl: add gl_nir_link_function_calls()

  • glsl: add gl_nir_linker_size_arrays()

  • nir: add nir_intrinsic_deref_implicit_array_length intrinsic

  • nir: handle wildcard array deref

  • glsl: add intrastage shader linking helpers for nir linker

  • glsl: add lower_derivatives_without_layout() helper

  • glsl: set blake3 hash in standalone scaffolding

  • glsl: switch to a full nir based linker

  • glsl: remove now unused linker code

  • glsl: fix gl_{Clip,Cull}Distance error messages

  • glsl/mesa: move uniform related shader structs to shader_types.h

  • glsl: move resource_name_updated() to linker_util.cpp

  • glsl/mesa: remove ir_uniform.h

  • glsl: move error and warning helpers to util file

  • glsl: move shader cache lookup call to st

  • glsl: rename link_shaders() -> link_shaders_init()

  • glsl: remove linker.cpp

  • nir/glsl: set cast mode for image during function inlining

  • nir/glsl: set deref cast mode for blocks during function inlining

  • glsl/nir: fix function cloning at link time

Timur Kristóf (22):

  • radv: Add gs/hs_inputs_read field for linked LS and ES.

  • ac/nir/tess: Add tcs_inputs_read to LS output lowering.

  • ac/nir/tess: Don’t emit VS outputs that aren’t read by TCS.

  • ac/nir/esgs: Add gs_inputs_read to ES output lowering.

  • ac/nir/esgs: Don’t emit ES outputs that aren’t read by GS.

  • ac/nir: Add helper for I/O location mapping.

  • ac/nir/tess: Map linked LS/HS I/O based on TCS input mask.

  • ac/nir/esgs: Map linked ES/GS I/O based on GS input mask.

  • ac/nir: Remove ac_nir_calc_io_offset function.

  • radv: Stop assigning linked driver locations.

  • nir: Remove unused nir_assign_linked_io_var_locations.

  • ac/nir/tess: Simplify calculation of HS output LDS offset.

  • ac/nir: Shorten the name of ac_nir_calc_io_offset_mapped.

  • ac/nir/tess: Remove no_inputs_in_lds.

  • ac/nir: Move varying cost functions from radeonsi to common code.

  • radv: Add NIR XFB IO intrinsic info to legacy stages not just NGG.

  • radv: Add new linking step and use nir_opt_varyings.

  • radv: Determine linked I/O info after nir_opt_varyings.

  • nir/opt_algebraic: Add various bitfield extract patterns.

  • radv: Flush L2 cache for non-L2-coherent images in EndCommandBuffer.

  • radv: Increase NGG culling PS param limit to 12 on GFX10.

  • radv: Enable NGG culling by default on GFX10.

Tom Cherry (1):

  • Do not pass std::shared_ptr when not transfering ownership

Tomeu Vizoso (2):

  • etnaviv/ml: Fix includes

  • etnaviv/nn: Fix use of etna_core_info

Tomson Chang (2):

  • amd/vpelib: Fix color adjustment change detect hole

  • amd/vpelib: Only update cached adjustment when it is valid

Trigger Huang (1):

  • mesa: Fix AMD performance monitor implementation

Utku Iseri (1):

  • st/mesa: clamp reported max lod bias

Valentine Burley (72):

  • tu/rmv: Fix missing image bind logging for WSI images

  • tu: Implement VK_EXT_device_address_binding_report

  • tu/kgsl: Remove unused variable

  • docs/features: Update features.txt for Turnip

  • lavapipe: Block more formats from getting blit feature flags

  • vulkan/format: Translate two 420_UNORM formats properly

  • tu, fdl: Drop custom mapping for 1-plane YCbCr formats

  • tu: Drop tu_vk_format_to_pipe_format helper function

  • vulkan/wsi: Refactor can_present_on_device

  • tu: Always report that we can present on kgsl

  • freedreno/ci: Update expectations for Adreno 660

  • freedreno/ci: Re-enable Adreno 660 for Vulkan pre-merge jobs

  • android: Extract version from llvm-project instead of hardcoding it

  • tu: Remove redundant bits override from lower_tex_ycbcr

  • ci: Backport two fixes tor the Vulkan CTS

  • freedreno/ci: Update expectations

  • freedreno/ci: Skip tests that might time out during pre-merge jobs

  • freedreno/ci: Move and document last remaining failures

  • freedreno/ci: Re-enable Adreno 630 for Vulkan nightly jobs

  • tu: Expose VK_KHR_workgroup_memory_explicit_layout

  • freedreno/ci: Wire up skips for a630_vk_full

  • nvk: Advertise VK_EXT_legacy_vertex_attributes

  • llvmpipe: Only use udmabuf with libdrm

  • vulkan, radv: Add new common vk_format_get_plane_width/height helpers

  • tu: Use vk_format_get_plane_width/height to get the plane dimensions

  • tu: Use vk_format_get_plane_count for tu6_plane_count

  • util: Remove Vulkan-only formats from get_plane_width/height

  • tu: Fix VK_EXT_extended_dynamic_state3 feature

  • tu: Simplify VK_EXT_sample_locations SampleCounts assignment

  • freedreno/ci: Uprev kernel for a630 runner

  • freedreno/ci: Skip timing out test on a630

  • freedreno/ci: Uprev kernel to 6.11

  • freedreno/ci: Update expectations after Piglit uprev

  • turnip/ci: Remove fixed test from a660 xfails

  • freedreno/ci: Document some a630 EGL flakes

  • ci: Add a new build-only job without libdrm

  • freedreno/devices: Fix A740v3 from Quest 3

  • freedreno/devices: Unify magic_regs for A740 and A32

  • freedreno/devices: Document an alias for FD644

  • egl: Fix missing libdrm check

  • ci: Build zink and llvmpipe in debian-no-libdrm

  • freedreno/ci: Document new flake

  • tu: Streamline setting YCbCr feature bits

  • tu: Be more consistent with using vk_format helpers

  • tu: Use vk_format_get_plane_count instead of special casing

  • tu: Fix conditional check in tu_image_view_init

  • tu: Use vk_format_get_plane_format

  • tu: Use existing helpers in tu_clear_blit

  • tu: Introduce tu_aspects_to_plane helper function

  • tu: Unify zeroing bufferFeatures

  • tu: Set some feature bits earlier

  • tu: Use v2 format feature flags

  • tu: Update comments about the blob driver

  • tu: Add an assert to tu6_plane_index

  • util/format: Add new 10-bit P010 RGB/planar formats

  • util/format: Add new 12-bit P012 RGB/planar formats

  • lavapipe: Remap 10 and 12 bit formats to 16 bit formats

  • nvk: Remap 10 and 12 bit formats to 16 bit formats

  • hk: Remap 10 and 12 bit formats to 16 bit formats

  • vulkan: Fix incorrect bpcs value for padded formats

  • tu: Fix incorrect bpcs value for padded formats

  • vulkan/format: Properly translate 10-bit and 12-bit formats

  • vulkan/format: Update vk_format_from_pipe_format with additional formats

  • ci: Add global ANGLE skips for its waiver

  • freedreno/devices: Inline a690 quirk

  • freedreno/devices: Document common name for a635 speedbins

  • freedreno/devices: Enable 64-bit atomics on a735 and a740v3

  • freedreno/devices: Establish a7xx sub-generations

  • ir3: Don’t lower to LCSSA before calling nir_divergence_analysis()

  • intel/ci: Fix Alder Lake’s configuration

  • anv/ci: Remove additive blending fails on ADL

  • lavapipe: Block YCbCr formats from getting blit feature flags

Vignesh Raman (19):

  • ci/deqp-runner: unset CC for arm32 cross-compilation

  • ci: uprev deqp-runner from 0.18.0 to 0.20.0

  • ci: enable Mali V10 testing

  • ci: use v6.11-rc5 kernel for Mali V10 testing

  • ci: move mtl-fw.json to .gitlab-ci directory

  • ci/deqp-runner: pass EXTRA_CARGO_ARGS

  • ci: include exit code in test result output

  • ci/lava: handle non-zero exit codes

  • ci/lava: update unit tests

  • ci/bare-metal: handle non-zero exit codes

  • ci: add Gen10 Arm Mali firmware to rootfs

  • ci/image-tags: add DEBIAN_PYUTILS_TAG

  • ci/lava: set exit code in exception case

  • ci: prepare-artifacts-python: copy if src dir exist

  • ci: build KERNEL_IMAGE_BASE in before_script

  • ci: move rules from rules-anchors to workflow

  • ci/crosvm: Use default value for CROSVM_GALLIUM_DRIVER

  • ci: rename FORCE_KERNEL_TAG to EXTERNAL_KERNEL_TAG

  • Revert “ci: disable Collabora’s farm due to maintenance”

Visan, Tiberiu (2):

  • amd/vpelib: set the same range for clr adj

  • amd/vpelib: Remove TODO comments and legacy check(#421)

Vitaliy Triang3l Kuzmin (2):

  • r600: Add FMT_1_REVERSED to r600_formats.h

  • r600: Add missing formats to r600_colorformat_endian_swap

Vlad Schiller (3):

  • pvr: Handle VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO

  • pvr: Handle VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO

  • pvr: Minor code refactor

Vldly (1):

  • freedreno: Fix resource tracking on repeated map with discard

Víctor Manuel Jáquez Leal (1):

  • frontends/va: Don’t return P010/P016 as surface formats when encoding

WANG Xuerui (2):

  • meson: Force use of LLVM ORCJIT for hosts without MCJIT support

  • meson: Additionally probe -mtls-dialect=desc for TLSDESC support

Wang, Kyle (1):

  • amd/vpelib: Add missing copyrights

X512 (2):

  • egl/haiku: fix double free of BBitmap

  • egl/haiku: fix synchronization problems, add missing header

Yahan Zhou (30):

  • Update vk.xml and code generator

  • Fix testAndroidBaselineProfile2021Support for host swiftshader

  • Add support for descriptor with inline uniform block

  • Implement vkQueueSubmit2 in the same way as vkQueueSubmit

  • Add some vk 1.3 extension strings

  • Create sync device before calling goldfish_sync_queue_work

  • Parse more ext structs in vkAllocateMemory and vkCreateBuffer

  • Disable compatible handle types for semaphore timeline

  • Fix dEQP-VK.wsi.android.maintenance1

  • VkImageCreateInfo should ignore queeu family indices in some situation

  • Use old en/decoding for vkQueueSignalReleaseImage

  • Add VK_EXT_vertex_attribute_divisor support for guest ANGLE

  • Declare AHB blob unsupported in Vulkan

  • Add VK_EXT_fragment_density_map for Chrome

  • Add snasphot support for vk coherent memory

  • Snapshot vk image content in common situation

  • Better track color buffer usage in Vulkan

  • Make it not crash during vk snapshot load

  • Fix corner cases where vk dependency graph breaks

  • Handle dependency by VkMemoryDedicatedAllocateInfo

  • Snapshot VkBuffer

  • Add snapshot for command buffer

  • Fix handle create mismatch for Vulkan snapshot

  • Add snapshot support for vkBindImageMemory2

  • Fix Vulkan snapshot with -guest-angle

  • Revert^2 “Add snapshot support for vkBindImageMemory2”

  • [Vulkan Snapshot] tryLock when an API might create extra handles

  • Signal the fence after color buffer copying

  • Revert “Signal the fence after color buffer copying”

  • [Vulkan Snapshot] Add dependency graphics pipeline -> render pass

Yao Zi (1):

  • panvk: Link with –build-id explicitly

YaoBing Xiao (1):

  • vulkan/x11: use xcb_connection_has_error to check for failue

Yinjie Yao (2):

  • radeonsi/vcn: Rename transform_skip_disabled and remove hardcoded value for VCN5

  • radeonsi/vcn: Add support for QVBR rate control mode for VCN5

Yiwei Zhang (8):

  • venus: only request ring thread prio for TLS ring

  • venus: clarify wsi image ownership

  • anv: improve vma usage for descriptor buffer

  • ci: re-enable venus ci

  • venus: fix a race condition between gem close and gem handle tracking

  • Revert “meson: disallow Venus debug + LTO build via GCC”

  • venus: workaround cacheline overflush issue on Intel JSL

  • venus: avoid over-caching sfb cmds

Yunhyeok “Yune” Choi (1):

  • glx: Getting rid of the double assignment in `__glXWireToEvent`.

Zack Rusin (1):

  • svga: Redo the way generated files are handled

Zan Dobersek (11):

  • freedreno: fix a7xx perfcntr countables

  • ir3: some 8-bit subgroup intrinsics must execute as 16-bit instructions

  • nir/lower_vars_to_scratch: calculate threshold-limited variable size separately

  • ir3: lower relevant 8-bit ALU ops in nir_lower_bit_size

  • ir3: use fully-functional dp4acc when available

  • ir3: indicate possible dword straddle for any multi-component pvtmem access

  • ir3: improve validation, display for ldp instructions

  • tu: enable shaderInt8 support

  • tu: use instance indices in RD dump filenames

  • freedreno: sanitize device names for config name usage

  • zink: fix bo_export caching

Zhang He (1):

  • iris, crocus: fix a typo and break comment line correctly

antonino (10):

  • panfrost: rename `PAN_GPU_INDIRECTS`

  • panfrost: refactor draw logic to support native draw indirect

  • panfrost: implement indirect draw for CSF-based GPUs

  • pan/cs: add helpers to emit contiguous csf code blocks

  • pan/cs: add helpers to generate csf loop

  • panfrost: implement multi draw indirect for CSF-based GPUs

  • panfrost: advertise `PIPE_CAP_MULTI_DRAW_INDIRECT`

  • mesa/main: expose `EXT_multi_draw_indirect`

  • pan/cs: add support for nop instruction

  • pan/genxml: fix SET_EXCEPTION_HANDLER instruction definition

bbhtt (1):

  • pipe_loader_drm: Fix virtgpu_drm header path

cheyang (1):

  • Android15 support gralloc IMapper5

chyyran (1):

  • spirv_to_dxil: add missing SPIR-V capabilities

dawnhan (1):

  • vulkan/android: Add missing AHB formats

itycodes (1):

  • intel: Fix a typo in intel_device_info.c:has_get_tiling

llyyr (1):

  • vulkan/wsi/wayland: fix suboptimal flag being ignored with explicit sync

nyanmisaka (4):

  • intel/pci_ids: Update ADL device names

  • intel/pci_ids: Update RPL device names

  • intel/pci_ids: Update TGL device names

  • intel/pci_ids: Update DG1 device names

quic_lkondred (1):

  • freedreno: Add support for Adreno 663 GPU

sergiuferentz (2):

  • Adding support for VK_EXT_external_memory_host extension

  • gfxstream: VulkanBatchedDescriptorSetUpdate toggled on caps on Guest

yinjiyao (2):

  • frontends/va: check hevc enc hdr sei

  • radeonsi/vcn: add HDR sei in hevc enc

Mesa 24.3.0 Release Notes / 2024-11-21 — The Mesa 3D Graphics Library latest documentation (2024)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Ms. Lucile Johns

Last Updated:

Views: 6185

Rating: 4 / 5 (61 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Ms. Lucile Johns

Birthday: 1999-11-16

Address: Suite 237 56046 Walsh Coves, West Enid, VT 46557

Phone: +59115435987187

Job: Education Supervisor

Hobby: Genealogy, Stone skipping, Skydiving, Nordic skating, Couponing, Coloring, Gardening

Introduction: My name is Ms. Lucile Johns, I am a successful, friendly, friendly, homely, adventurous, handsome, delightful person who loves writing and wants to share my knowledge and understanding with you.