Mesa 23.3.0 Release Notes / 2023-11-29

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

Mesa 23.3.0 implements the OpenGL 4.6 API, but the version reported by glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. Some drivers don’t support all the features required in OpenGL 4.6. OpenGL 4.6 is only available if requested at context creation. Compatibility contexts may report a lower version depending on each driver.

Mesa 23.3.0 implements the Vulkan 1.3 API, but the version reported by the apiVersion property of the VkPhysicalDeviceProperties struct depends on the particular driver being used.

SHA256 checksum

50f729dd60ed6335b989095baad81ef5edf7cfdd4b4b48b9b955917cb07d69c5  mesa-23.3.0.tar.xz

New drivers

  • NVK: A Vulkan driver for Nvidia hardware

New features

  • VK_EXT_pipeline_robustness on ANV

  • VK_KHR_maintenance5 on RADV

  • OpenGL ES 3.1 on Asahi

  • GL_ARB_compute_shader on Asahi

  • GL_ARB_shader_atomic_counters on Asahi

  • GL_ARB_shader_image_load_store on Asahi

  • GL_ARB_shader_image_size on Asahi

  • GL_ARB_shader_storage_buffer_object on Asahi

  • GL_ARB_sample_shading on Asahi

  • GL_OES_sample_variables on Asahi

  • GL_OES_shader_multisample_interpolation on Asahi

  • GL_OES_gpu_shader5 on Asahi

  • EGL_ANDROID_blob_cache works when disk caching is disabled

  • VK_KHR_cooperative_matrix on RADV/GFX11+

Bug fixes

  • crash in si_update_tess_io_layout_state during _mesa_ReadPixels (radeonsi_dri, mesa 23.2.1)

  • mesa: vertex attrib regression

  • [RADV] War Thunder has some grass flickering.

  • radv: satisfactory broken shader

  • RADV problem with R7 M440 in some games

  • gpu driver crashes when opening ingame map playing dead space 2023

  • [anv] Valheim water misrendering

  • EGL/v3d: EGL applications under a X compositor doesn’t work

  • RADV: trunc_coord breaks ambient occlusion in Dirt Rally and other games

  • radv: Mass Effect Legendary Edition: a line going across the screen is visible in some areas with Ambient Occlusion enabled

  • anv: DIRT5 gfx11_generated_draws_spv_source triggers “assert(!copy_value_is_divergent(src) || copy_value_is_divergent(dest));”

  • panfrost: gbm_bo_get_offset() wrongly returns 0 for second plane of NV12 buffers

  • [RADV][TONGA] - BeamNG.drive (284160) - Artifacts are present when looking at the skybox.

  • LEGO Star Wars: The Skywalker Saga graphical glitches (DXVK) on R9 380

  • [radv] Crypt not rendering properly

  • Leaks of DescriptorSet debug names

  • [Tracing flake] Missing geometry in trace@freedreno-a630@freedoom@freedoom-phase2-gl-high.trace

  • Unreal Engine 5.2 virtual shadow maps have glitchy/lazy tile updates

  • RADV: Visual glitches in Unreal Engine 5.2.1 when using material with anisotropy and light channel 2

  • radv: Regression with UE5 test

  • SIGSEGV with MESA_VK_TRACE=rgp and compute only queue

  • [ANV] Corruptions in Battlefield 4

  • anv regression w/ commit e488773b29d97 (“anv: Fast clear depth/stencil surface in vkCmdClearAttachments”)

  • ir3: dEQP-GLES31.functional.synchronization.inter_invocation.image_atomic_read_write crash on a6xx gen4

  • Zink + Venus: driver can’t handle INVALID<->LINEAR!

  • Anv: Particles have black square artifacts on Counter Strike 2 on Skylake

  • Lords of the Fallen 2023 Red Eye mode crashing game and desktop

  • [radeonsi] [vulkan] [23.3-rc1 regression] Video output corrupted in QMplay2 with Vulkan renderer

  • [BISECTED] ac/radeon commit somehow breaks nv12 surface from HEVC decode

  • Parsec displays completely green screen with hardware decoder selected while using Mesa 23.3 and Mesa 24

  • H264 to H264 transcode output corruption with gst-vaapi

  • opencl-jpeg-encoder does not work with nouveau/rusticl, works with nouveau/clover

  • [R600] X-plane 11 demo (Linux Native) crashes upon launch on HD5870 and HD6970

  • Ubuntu 23.10 build error with rusticl_opencl_bindings.rs

  • Rusticl fails to build

  • ANV not handling VkMutableDescriptorTypeCreateInfoEXT::pMutableDescriptorTypeLists[i] being out of range

  • tu: Wolfenstein: The New Order misrenders on a740

  • DRI_PRIME fails with ACO only radeonsi

  • nir_to_tgsi: Incorrect handling of indirect array access

  • ANV gen9 32 bit vulkan asserts on many cts tests

  • GPU hang observed while launching 3DMark Wildlife Unlimited on MTL

  • ac/gpu_info: Query maximum submitted IBs from the kernel

  • RADV: regression in 23.2.1 causing GPU hang with RDNA1 in various UE5 games

  • GPU page faults reported while playing Talos Principle 2 (demo)

  • No CCS_E scanout on tgl+ with ANV

  • anv: Modifier tests assert-fail on TGL+

  • ci: zink-tu jobs no longer included in manual pipelines

  • [ANV][A770] GravityMark segfaults and buffer allocation errors

  • etnaviv: gc2000 gles2 regression

  • ci_run_n_monitor: pipeline finding unreliable

  • nvk: Implement VK_EXT_dynamic_rendering_unused_attachments

  • anv: jsl timeline semaphores flaky

  • anv: OOB access in vkDestroyDevice?

  • nvk: Implement VK_EXT_primitive_topology_list_restart

  • nvk: Implement VK_EXT_image_sliced_view_of_3d

  • nvk: Implement VK_KHR_workgroup_memory_explicit_layout

  • util/macros: BITFIELD64_RANGE raises an error with mesa-clang if we try to set last bit

  • r300/r400 regression; can’t compile `if/then` in shaders

  • iris: gbm_bo_get_offset() wrongly returns 0 for second plane of NV12/P010 buffers

  • nvk: Implement VK_EXT_depth_bias_control

  • ICL/zink: gpu hang on ‘piglit.object namespace pollution.framebuffer with gldrawpixels’

  • [R600] Wolfenstein: The New Order text glitch on menu

  • need extension to request image/texture not use data dependent compression

  • rusticl: segfault in clCreateKernel on AMD Instinct MI100

  • !25587 broke xserver

  • GPU Hang in Deep Rock Galactic on DG2

  • intel: Wrong length for 3DSTATE_3D_MODE on gfx125

  • [radeonsi] Wargame: Red Dragon /w OpenGL stopped working with ACO

  • traces job reference images missing again sometimes

  • Vulkan Texture/Polygon Glitches in Games

  • freedreno: dmabuf modify query ignores format

  • virgl: removing PIPE_CAP_CLEAR_TEXTURE completely breaks virglrenderer

  • Turnip build error on termux

  • failiure in amd llvm helper

  • failiure in amd llvm helper

  • radv_amdgpu_cs_submit: Assertion `chunk_data[request->number_of_ibs - 1].ib_data.ip_type == request->ip_type’ failed.

  • hasvk: subgroups regression

  • radeonsi: broken hardware decoding (vaapi/vulkan) on RDNA2 gpu (bisected)

  • aco: SwizzleInvocationsMaskedAMD behavior is not correct for reads from inactive lanes

  • anv: dEQP-VK.ssbo.phys.layout.random.16bit.scalar.13 slow

  • [RDNA3] CS:GO - excessive power consumption and lower performance in Vulkan while MSAA is set to 4x or 8x

  • [ICL] piglit.spec.arb_gl_spirv.execution.ssbo.unsized-array regression

  • radv: Counter Strike 2 has multiple bugs while rendering smoke grenade effect

  • Doom Eternal freezing on NAVI31 with current git

  • iris CTS blend test fail with MSAA config on DG2

  • anv: 32bit mesa asserts

  • RADV: Randomly dissapearing objects in Starfield with RX 5xx and Vega graphics

  • anv: missing barrier handling on video engines

  • radv: Star Wars The Old Republic hang when DCC is enabled

  • radv: Resident Evil 6 hangs 7900XTX GPU when DCC is enabled if in Options go to Display settings

  • radv: Resident Evil 6 Benchmark Tool hangs 7900 XTX GPU when DCC is enabled immediately after splash screen

  • ANV: fp64 shader leaked

  • v3d: noop drm-shim raises some warnings

  • freedreno: crashdec/etc chip_id support

  • intel: compute dispatches with variable workgroup size have ralloc_asprintf CPU overhead

  • ci build issues with builtin types

  • freedreno: running angle perf traces with GALLIUM_THREAD=0 crashes

  • RadeonSI: glClear() causes clear texture for some frames on RX580

  • radeonsi: corruption when seeking video decoded with vaapi in mpv

  • Zink/HasVK regression bisected to “gallium: move vertex stride to CSO”

  • [radv] [Path Of Exile] - one setting in the workaround file breaks shadows/lighting rendering. Other workaround settings seems obsolete.

  • radv: images don’t always have extents in RGP

  • shader_test causing a crash in compiler

  • D3D12: Video decoding requirements are too restrictive. ID3D12VideoDevice3 should not be required.

  • Crash in st_ReadPixels

  • [regression] intel build issue on i386

  • [ANV] [DG2/A770] The Spirit and The Mouse, miscellaneous issues with Mesa Git

  • zink on hasvk regression: Assertion `(dyn)->vi_binding_strides[first_binding + i] == (strides[i])’ failed.

  • Penumbra: Overture hangs on new game loading screen

  • [r300, RV516] Some deqp-gles2@performance@shader@control_statement vertex tests cause hard lockup & reboot in mesa 22.3.1 (regression over 22.1.7) on a Radeon X1550

  • v3dv: Add a feature that implicitly copies the linear image to the tiled image prior to sampling from it

  • radv: Regression from 266b2cfe5bf3feda16747c50c1638fb5a0426958

  • h264 encoding picture showed randomly repeated frames.

  • Mesa CI: NAVI10 hangs when running VKCTS on Linux 6.1

  • zink: no uniform buffer objects support for v3dv?

  • v3dv: Request for VkImageDrmFormatModifierExplicitCreateInfoEXT::pPlaneLayouts support

  • [ANV] [DG2/A770] The Spirit and The Mouse, occasional flickering geometry

  • [Google][Rex][anv] GLES dEQP test fails in anv when run via ANGLE-on-Venus on ChromeOS ARCVM.

  • VAAPI on VCN: bad stream may crash whole gfx system

  • Crash after GPU reset

  • Bifrost PanVK should not be in CI

  • [Intel][Vulkan][Gen12] vkCmdCopyImage() generates garbage data when the destination texture is bound to a piece of used device memory

  • mesa: new glcts fails

  • tu: GPL support is broken

  • lavapipe: ycbcr regression

  • aco: Assertion when compiling CP2077 shader

  • anv: flakiness on tgl+ with samplemask handling

  • [RADV] Dead by Daylight memory leak (shader-related?) on 23.1.6

  • r300: optionally convert MULs into output modifier for the following MUL or DOT instructions

  • r300: better 1-x presubtract pattern matching

  • gpu hang on DG2 when running KHR-GLES31.core.texture_cube_map_array.image_op_tess*

  • KHR-GLES31.core.texture_cube_map_array.image_op_tessellation_evaluation_sh fail on GFX12+

  • wsi: deadlocks when DISPLAY is changed

  • hasvk: Incompatible with minigbm/gralloc4 on Android

  • VAAPI: AMDGPU crash on RX 6900 XT on corrupted video

  • lavapipe/llvmpipe: shader unregister crash

  • [ANV] [DG2/A380] Corruption in Borderlands 3

  • blorp regression on dg2

  • decouple -Dshader-cache= from EGL_ANDROID_blob_cache

  • radv: commit 81641b01555faa4dd1dfc7de2513ad8d63e77ab7 leaded to artifacts in Quake II RTX

  • [radv] Colors are distorted in Cyberpunk 2077 with ray tracing enabled

  • Forza Horizon 5 stuttering since mesa 23.1.4 / 9b008673 revert as a FIX

  • ubsan + gtest build fails

  • glCopyTexSubImage2D is very slow on Intel

  • NVE4 (GeForce 710) fails to get vdpau in mesa git

  • [RADV] red and pink tinted shadows in Overwatch 2 on 7900 XTX

  • nouveau prevents hardware acceleration with Chromium (Wayland)

  • Corrupt text rendering in Blender

  • DRI2 gallium frontend is using bad format type

  • regression - MR 23089 - Hellblade RT crashing

  • Incorrect vlVaCreateBuffer/vlVaMapBuffer behavior for buffer type VAEncCodedBufferType in Gallium

  • Issue with clang-format

  • Follow-up from “Draft: intel: Disable color fast-clears for blorp_copy”

  • nightly VA-API build: new timeout

  • r600: retire the SB optimizer

  • ci: do not download perfetto on-fly in build jobs

  • Shared Memory Leak With Qt OpenGL Applications

  • OpenGL, SIGSEGV when program pipeline objects has separated vertex shader progam and separated fragment shader progam with in/out

  • vaDeriveImage returns VA_STATUS_ERROR_OPERATION_FAILED

  • 975a8ecc881873744d851ab0ef45ad7698eaa0ef “frontends/va: use resources instead of views” cause radeonsi can’t play video.

  • zink: reduce pipeline hash size

  • Rusticl,radeonsi: ac_rtld error(2): too much LDS

  • aco, radv Rage 2 menu corruption - bisected

  • radv, aco: World War Z character texture regression on 7900xtx

  • android: De-stage drm_gralloc support from mesa3d

  • Cyberpunk screen goes black at game launch on integrated Gfx

  • lavapipe/llvmpipe: regressions since descriptor rewrite

  • intel: State cache invalidation after BLORP binding table setup ought to be unnecessary on ICL.

  • ci: HW job logs have spam at the end

  • kernel crash seen on AMD Raven device

  • crocus: regression crashing in doubles/ubo tests

  • turnip: object management CTS crashes

  • a618: multiple assertions with different kernel config on u_vector_add

  • [anv] Death Stranding crashes

  • Can no longer build Clover without llvmspirvlib

  • [radeonsi][vaapi] segfault in vl_video_buffer_sampler_view_components() when using vaapisink receiving I420 format

  • Baldurs Gate 3 (DX11) - Graphical corruption on RDNA3 (ACO regression)

  • [AMDGPU] Compiling large Blender Eevee shader node trees is unusably slow

  • Building llvmpipe with LP_USE_TEXTURE_CACHE set fails since 23.2.0-rc1: error C2039: dynamic_state is not member of lp_build_sampler_soa in lp_tex_sample.c

  • r300: calculate some cycles estimate for shader-db

  • intel: Deathloop and other DX12 games fail assert(validated) with invalid SEL instruction

  • GTF-GL46.gtf21.GL.build.CorrectFull_vert regressed on intel platforms

  • error message when encoding via VAAPI AMD

  • gpu hangs on dg2 with mesh shading enabled on vkcts

  • radeonsi: Deadlock when creating a new GL context in parallel with linking a shader on another GL context

  • robustness2 raygen tests intermittently fail in Intel Mesa CI

  • ci/ci_run_n_monitor.py: KeyError: ‘clang-format’

  • glthread: huge performance regression

  • DirectX games do not launch on Intel HD Graphics 4000 (IVB GT2) [bisected]

  • rusticl: fails to build for iris + radeonsi

Changes

Adam Jackson (3):

  • egl: Implement EGL_EXT_explicit_device

  • mesa: Implement and advertise GL_MESA_sampler_objects

  • docs: Mention ‘meson devenv’ in the pre-install test instructions

Aditya Swarup (6):

  • isl: enable Tile64 for 3D images

  • intel/isl: Unittest for linear to Ytile conversion

  • intel/isl: Convert linear texture to Tile4 format

  • intel/isl: Convert Tile4 texture to linear format

  • intel/isl: Linear to Tile-4 conversion unittest

  • Revert “iris: Disable tiled memcpy for Tile4”

Alba Mendez (1):

  • meson: support installation tags

Alejandro Piñeiro (61):

  • v3dv: re-enable sync_fd import/export on the simulator

  • broadcom(cle,clif,common,simulator): add 7.1 version on the list of versions to build

  • broadcom/cle: update the packet definitions for new generation v71

  • broadcom/common: add some common v71 helpers

  • broadcom/qpu: add comments on waddr not used on V3D 7.x

  • broadcom/qpu: set V3D 7.x names for some waddr aliasing

  • broadcom/compiler: rename small_imm to small_imm_b

  • broadcom/compiler: add small_imm a/c/d on v3d_qpu_sig

  • broadcom/qpu: add v71 signal map

  • broadcom/qpu: define v3d_qpu_input, use on v3d_qpu_alu_instr

  • broadcom/qpu: add raddr on v3d_qpu_input

  • broadcom/qpu: defining shift/mask for raddr_c/d

  • broadcom/commmon: add has_accumulators field on v3d_device_info

  • broadcom/qpu: add qpu_writes_rf0_implicitly helper

  • broadcom/qpu: add pack/unpack support for v71

  • broadcom/compiler: phys index depends on hw version

  • broadcom/compiler: don’t favor/select accum registers for hw not supporting it

  • broadcom/vir: implement is_no_op_mov for v71

  • broadcom/compiler: update vir_to_qpu::set_src for v71

  • broadcom/qpu_schedule: add process_raddr_deps

  • broadcom/qpu: update disasm_raddr for v71

  • broadcom/qpu: return false on qpu_writes_accumulatorXX helpers for v71

  • broadcom/compiler: add support for varyings on nir to vir generation for v71

  • broadcom/compiler: payload_w is loaded on rf3 for v71

  • broadcom/qpu_schedule: update write deps for v71

  • broadcom/compiler: update register classes to not include accumulators on v71

  • broadcom/qpu: implement switch rules for fmin/fmax fadd/faddnf for v71

  • broadcom/compiler: update one TMUWT restriction for v71

  • broadcom/compiler: update ldunif/ldvary comment for v71

  • broadcom/compiler: update payload registers handling when computing live intervals

  • broadcom/qpu: new packing/conversion v71 instructions

  • v3dv/meson: add v71 hw generation

  • v3dv: emit TILE_BINNING_MODE_CFG and TILE_RENDERING_MODE_CFG_COMMON for v71

  • v3dv/cmd_buffer: emit TILE_RENDERING_MODE_CFG_RENDER_TARGET_PART1 for v71

  • v3dvx/cmd_buffer: emit CLEAR_RENDER_TARGETS for v71

  • v3dv/cmd_buffer: emit CLIPPER_XY_SCALING for v71

  • v3dv/uniforms: update VIEWPORT_X/Y_SCALE uniforms for v71

  • v3dv/cmd_buffer: just don’t fill up early-z fields for CFG_BITS for v71

  • v3dv: default vertex attribute values are gen dependant

  • v3dv/pipeline: default vertex attributes values are not needed for v71

  • v3dv/pipeline: handle GL_SHADER_STATE_RECORD changed size on v71

  • v3dv: no specific separate_segments flag for V3D 7.1

  • v3dv: add support for TFU jobs in v71

  • v3d: add v71 hw generation

  • v3d: emit TILE_BINNING_MODE_CFG and TILE_RENDERING_MODE_CFG_COMMON for v71

  • v3d: TILE_RENDERING_MODE_CFG_RENDER_TARGET_PART1

  • v3d: emit CLEAR_RENDER_TARGETS for v71

  • v3d: just don’t fill up early-z fields for CFG_BITS for v71

  • v3d: emit CLIPPER_XY_SCALING for v71

  • v3d: no specific separate_segments flag for V3D 7.1

  • v3d: default vertex attributes values are not needed for v71

  • v3d/uniforms: update VIEWPORT_X/Y_SCALE uniforms for v71

  • v3d: handle new texture state transfer functions in v71

  • v3d: handle new TEXTURE_SHADER_STATE v71 YCbCr fields

  • v3d: setup render pass color clears for any format bpp in v71

  • v3d: GFX-1461 does not affect V3D 7.x

  • v3d: don’t convert floating point border colors in v71

  • v3d: handle Z clipping in v71

  • v3d: add support for TFU blit in v71

  • v3dv: implement depthBounds support for v71

  • doc/features: update after last v3d changes

Alex Denes (1):

  • virgl: link VA driver with build-id

Alexander Orzechowski (1):

  • radeonsi: Set PIPE_CONTEXT_LOSE_CONTEXT_ON_RESET for auxiliary contexts

Alyssa Rosenzweig (431):

  • zink: Switch to register intrinsics

  • gallium/trace: Collect enums from multiple files

  • gallium,util: Move blend enums to util/

  • gallium,util: Move util_blend_dst_alpha_to_one

  • util/blend: Add helpers for normalizing inverts

  • vulkan: Add helpers for blend enum translation

  • lvp: Use common blend/logicop translation

  • nir/lower_blend: Use util enums

  • panfrost: Convert to PIPE_BLEND enums internally

  • gallium: Remove pipe->compiler BLEND enum translation

  • compiler: Remove blend enums duplicating util

  • nir/legacy: Fix fneg(load_reg) case

  • nir/legacy: Fix handling of fsat(fabs)

  • ntt: Switch to new-style registers and modifiers

  • ir3: Convert to register intrinsics

  • nir: Add fence_{pbe,mem}_to_tex(_pixel)_agx intrinsics

  • nir: Devendor load_sample_mask

  • nir: Promote tess_coord_r600 to tess_coord_xy

  • nir: Add nir_lower_tess_coord_z pass

  • r600: Use nir_lower_tess_coord_xy

  • ir3: Use nir_lower_tess_coord_z

  • nir: Initialize workgroup_size in builder_init_simple_shader

  • v3dv: Rely on nir_builder setting workgroup size

  • radv: Rely on workgroup_size initialization

  • panfrost: Fix transform feedback on v9

  • r600/sfn: Remove nir_register unit tests

  • panfrost: Lower vertex_id for XFB

  • panfrost: Fix transform feedback on v9 harder

  • asahi: Augment fake drm_asahi_params_global

  • asahi: Use nir_builder_at more

  • asahi: Remove unused #define

  • asahi: Refactor PBE upload routine

  • asahi: Extract shader_initialize helper

  • asahi: Serialize NIR in memory

  • asahi: Identify background/EOT counts

  • asahi,agx: Set coherency bit for clustered targets

  • ail: Page-align layers for writable images

  • asahi: Mark writeable images as such

  • asahi: Reallocate to set the writeable image flag

  • asahi: Add agx_batch_track_image helper

  • asahi: Add texture/image indexing lowering pass

  • asahi: Upload at most the max texture state registers

  • asahi: Upload image descriptors

  • asahi: Make clear the non-sRGBness of EOT images

  • asahi: Don’t restrict sampler views

  • asahi: Forbid 2D Linear with images

  • agx: Add try_coalesce_with helper

  • agx: Try to allocate phis compatibly with sources

  • agx: Try to allocate phi sources with phis

  • agx: Try to allocate phi sources with loop phis

  • agx: Vectorize 16-bit parallel copies

  • agx: Reduce un/packs with mem access lowering

  • agx: Fix bogus assert

  • asahi: Augment PBE descriptor for software access

  • asahi: Extend PBE packing for image support

  • asahi: Use nir_lower_robust_access

  • agx: Legalize image LODs to be 16-bit

  • agx: Lower image size to txs

  • agx: Generalize texture/PBE packing

  • agx: Add image write instruction

  • agx: Model texture bindless base

  • agx: Handle bindless properly for txs lowering

  • agx: Pack bindless textures

  • agx: Translate texture bindless handles

  • agx: Translate image_store from NIR

  • agx: Handle frag side effects without render targets

  • agx: Wait for outstanding stores before barriers

  • agx: Implement image barriers

  • agx: Handle early_fragment_tests

  • agx: Add interleave opcode

  • agx: Extract coords_for_buffer_texture helper

  • agx: Extract texture_descriptor_ptr_for_* helpers

  • agx: Lower image atomics

  • agx: Lower buffer images

  • asahi,agx: Fix txf sampler

  • agx: Add image_load opcode

  • agx: Extract texture write mask handling

  • agx: Implement image_load

  • agx: Emit global memory barriers for images

  • agx: Don’t emit silly barriers

  • agx: Implement fence_*_to_tex_agx intrinsics

  • agx: Add simple image fencing pass

  • agx: Require tag writes with side effects

  • agx: Plumb in coverage mask

  • asahi: Extract sampler_view_for_surface

  • asahi: Introduce concept of spilled render targets

  • asahi: Add agx_tilebuffer_spills query

  • asahi: Do not support masking with spilled RTs

  • asahi: Ignore spilled render targets in EOT shaders

  • asahi: Ignore spilled render targets with partial renders

  • asahi: Extract some tilebuffer lowering code

  • asahi: Lower tilebuffer access for spilled RTs

  • asahi: Lower multisample image stores

  • asahi: Permit meta shaders to use preambles

  • asahi: Ignore spilled render targets for background load

  • asahi: Offset clear colour uniform by 4

  • asahi: Execute preambles for background programs

  • asahi: Advertise Z16_UNORM

  • ir2: Switch to nir_legacy

  • intel/fs: Don’t read reg.base_offset

  • panfrost: Remove unused helpers

  • nir: Remove nir_lower_locals_to_regs

  • nir: Rename lower_locals_to_reg_intrinsics back

  • nir: Remove register arrays

  • asahi: Don’t depend on glibc to decode

  • pan/bi: Remove leftover include

  • nir/trivialize: Handle more RaW hazards

  • panfrost: Disable blending for no-op logic ops

  • nir/lower_blend: Fix 32-bit logicops

  • nir/lower_blend: Optimize out PIPE_LOGICOP_NOOP

  • clang-format: Ignore original panfrost commit

  • nir/schedule: Assume no old-style registers

  • gallium/u_simple_shaders: Optimize out ffloors

  • gallium/u_transfer_helper: Remove dead forward decl

  • nir/loop_analyze: Drop unused inverse_comparison

  • nir/passthrough_gs: Drop unused array_size_for_prim

  • panfrost: Add missing static inline annotation

  • pan/decode: Drop unused debug function

  • pan/mdg: Add missing static inline annotation

  • panfrost: Drop unused decode_position for samples

  • panfrost: Only define pan_blitter_get_blend_shaders for midgard

  • panfrost: Add missing inline

  • panfrost: Gate overdraw_alpha on Bifrost+

  • nir: Rename scoped_barrier -> barrier

  • nir: Remove lower_to_source_mods

  • nir: Remove lower_vec_to_movs

  • nir: Remove reg_intrinsics parameter to convert_from_ssa

  • nir: Remove register load/store builders

  • r600/sfn: Stop referencing legacy functionality

  • r600/sfn: Ignore instruction write masks

  • nouveau/codegen: Drop writemask check

  • vc4,broadcom/compiler: Drop write_mask handling

  • zink: Collapse is_ssa check

  • nir: Add {…} before case

  • nir/from_ssa: Drop legacy reg support

  • nir/schedule: Drop nir_schedule_dest_pressure

  • nir: Drop NIR reg create/destroy

  • nir: Remove nir_index_local_regs and callers

  • nir/schedule: Drop more nir_register handling

  • nir: Remove nir_foreach_register

  • nir: remove nir_{src,dest}_for_reg

  • ntt: Drop nir_register reference

  • nir/print: Assume SSA

  • nir/clone: Assume SSA

  • nir/serialize: Drop legacy NIR

  • nir/validate: Assume SSA

  • nir: Remove impl->{registers,reg_alloc}

  • nir: Remove nir_alu_dest::saturate

  • treewide: Drop is_ssa asserts

  • nir: Collapse some SSA checks

  • treewide: Remove more is_ssa asserts

  • nir: Remove reg-only dest manipulation

  • nir: Remove stale todo

  • nir/print: Drop legacy NIR

  • nir: Drop nir_alu_src::{negate,abs}

  • treewide: sed out more is_ssa

  • pan/mdg: Assume SSA

  • treewide: Drop some is_ssa if’s

  • nir: Drop trivial reg handling

  • aco: Remove is_ssa check

  • intel: Collapse is_ssa checks

  • llvmpipe: Assume SSA

  • ir3: Collapse is_ssa checks

  • lima: Collapse is_ssa checks

  • radeonsi: Collapse SSA check

  • nir/gather_ssa_types: Collapse SSA checks

  • nir/worklist: Assume SSA

  • nir/range_analysis: Assume SSA

  • treewide: Collapse more SSA checks

  • nir/instr_set: Assume SSA

  • nir: Collapse more SSA checks

  • nir: Remove def_is_register

  • nir: Do not init dests

  • nir: Initialize source as a NULL SSA def

  • nir: Collapse more SSA checks

  • nir: Remove nir_{src,dest}::is_ssa

  • nir: Drop nir_register

  • nir/from_ssa: Remove pointless union

  • ir3: Drop write_mask handling

  • rogue: Stop reading write masks

  • etnaviv: Don’t use alu->dest.write_mask

  • etnaviv: What if we just didn’t have a compiler?

  • intel/vec4: Don’t use legacy write mask

  • ntt: Evaluate write_mask check

  • nir: Remove nir_alu_dest::write_mask

  • nir: Remove nir_foreach_def

  • lima: Clean up after deleting asserts

  • nir: Remove no-op remove_def_cb

  • nir: Drop no-op all_srcs_are_ssa

  • nir: Simplify alu_instr_is_copy

  • nir: Add load_coefficients_agx intrinsic

  • agx: Implement nir_intrinsic_load_coefficients_agx

  • agx: Allow more varying slots

  • agx: Set lower_fisnormal

  • agx: Forcibly vectorize pointcoord coeffs

  • agx: Add interpolateAtOffset lowering pass

  • agx: Lower flat shading in NIR

  • asahi: Stub num_dies

  • asahi: Move a bunch of helpers to common

  • agx: Lower 8-bit ALU

  • agx: Handle 8-bit vecs

  • asahi,agx: Respect no16 even for I/O

  • agx: Don’t lower load_local_invocation_index

  • agx/dce: Use the helper

  • agx: Fix atomics with no destination

  • agx: Fix shader info with sample mask writes

  • agx: Do not move bindless handles

  • agx: Put else instructions in the right block

  • agx: Use unconditional else instruction

  • agx: Optimize out pointless else instructions

  • agx: Fix length bit confusion

  • agx: Require an immediate for `nest`

  • agx: Use compressed fadd/fmul encodings

  • agx: Optimize swaps of 2x16 channels

  • agx: Optimize logical_end removal

  • agx: Fix AGX_MESA_DEBUG=demand

  • agx: Maintain ctx->max_reg while assigning regs

  • agx: Allow 64-bit memory regs

  • agx: Fix accounting for phis

  • agx: Set phi sources in predecessors

  • agx: Stop setting registers after the shader

  • agx: Use agx_replace_src

  • agx: Assert invariant stated in the comment

  • agx: Don’t use ssa_to_reg across blocks

  • agx: Don’t reuse ssa_to_reg across blocks

  • agx: Remove unused allocation

  • agx: Stop setting forwarding bit

  • agx: Handle blocks with no predecessors

  • agx: Lower f2u8/f2i8

  • agx: Handle conversions to 8-bit

  • agx: Fix uadd_sat packing

  • agx: Fix 64-bit immediate moves

  • agx: Lower f2f16_rtz

  • agx: Handle f2f16_rtne like f2f16

  • agx: Handle <32-bit local memory access

  • agx: Do not allow creating vec8

  • asahi: Legalize compression before blitting

  • nir: Drop “SSA” from NIR language

  • agx: Stop passing nir_dest around

  • agx: Remove agx_nir_ssa_index

  • pan/mdg: Don’t reference nir_dest

  • pan/bi: Don’t reference nir_dest

  • asahi: Do not reference nir_dest

  • panfrost: Do not reference nir_dest

  • zink: Do not reference nir_dest

  • ir3: Do not reference nir_dest

  • dxil: Do not reference nir_dest

  • nir: Drop nir_dest_init

  • panfrost: Pack stride at CSO create time on v9

  • lvp,nir/lower_input_attachments: Use nir_trim_vector

  • broadcom/compiler: Use nir_trim_vector explicitly

  • nir: Assert that nir_ssa_for_src components matches

  • nir: Add nir_shader_intrinsics_pass

  • nir: Lower fquantize2f16

  • agx: Lower fquantize2f16

  • nir/lower_helper_writes: Consider bindless images

  • nir/passthrough_gs: Correctly set vertices_in

  • nir/passthrough_gs: Fix array size

  • nir/print: Print access qualifiers for intrinsics

  • nir/lower_gs_intrinsics: Remove end primitive for points

  • panfrost/ci: Disable T720

  • nir: Add load_sysval_agx intrinsic

  • agx: Fix extraneous bits with b2b32

  • agx: Use more barriers

  • asahi: Copy CSO stride

  • agx: Assert vertex_id, instance_id are VS-only

  • asahi: Keep drawoverhead from OOMing itself

  • agx: Don’t blow up when lowering textures twice

  • agx/lower_vbo: Handle nonzero component

  • agx: Allow loop headers without later preds

  • agx: Handle b2i8

  • agx: Convert 8-bit comparisons

  • agx: Implement imul_high

  • asahi: Advertise OpenGL ES 3.1!

  • asahi/decode: Turn assert into error

  • asahi: Report local_size from compiler

  • asahi: Use local_size from compiler directly

  • asahi: Pass layer stride in pixels, not elements

  • agx: Clear sample count after lowering MSAA

  • agx: Clear image_array after lowering

  • asahi: Preserve atomic ops when rewriting image to bindless

  • agx: Use 16-bit reg for pixel_coord

  • asahi: Generalize query logic

  • asahi: Simplify occlusion query batch tracking

  • asahi: Refactor agx_get_query_result

  • asahi: Only touch batch->occlusion_queries for occlusion

  • asahi: Sync when beginning a query

  • asahi: Add non-occlusion query tracking

  • asahi: Add get_query_address helper

  • agx/fence_images: Use intrinsics_pass

  • agx: Do not fence write-only images

  • asahi: Add missing LOD source for agx_meta’s txfs

  • agx: Do some texture lowering early

  • agx: Add helper returning if a descriptor crawl is needed

  • nir,asahi: Remove texture_base_agx

  • asahi: Move UBO lowering into GL driver

  • asahi: Add sysval tables for each shader stage

  • asahi: Split out per-stage sysvals

  • asahi: Collapse grid_info

  • asahi: Extract agx_upload_textures

  • asahi: Upload a single draw_uniforms per draw

  • asahi: Add real per-stage dirty flags

  • asahi: Extract sampler upload

  • asahi: Put unuploaded uniforms on the batch

  • asahi: Decouple sysval lowering from uniform assignment

  • asahi: Use finer dirty tracking for blend constant

  • asahi: Use proper dirty tracking for VBOs

  • asahi: Dirty track VBOs + blend const separately

  • asahi: Dirty the shader stage when the shader changes

  • asahi: Fix shader stage dirtying

  • treewide: Use nir_shader_intrinsic_pass sometimes

  • treewide: Also handle struct nir_builder form

  • nir/lower_shader_calls: Fix warning with clang

  • nir: Add nir_before/after_impl cursors

  • treewide: Use nir_before/after_impl in easy cases

  • treewide: Use nir_before/after_impl for more elaborate cases

  • radv: Use before/after_cf_list for entrypoints

  • ci: Disable known broken Bifrost Vulkan job

  • ci: Disable WHL jobs

  • nir/opt_if: Simplify if’s with general conditions

  • asahi: Fixes for clang-warnings

  • agx: Fix jmp_exec_none encoding

  • agx/validate: Print to stderr

  • agx: Annotate opcodes with a scheduling class

  • agx: Add schedule-specialized get_sr variants

  • agx: Include schedule class in the opcode info

  • agx: Schedule for register pressure

  • agx: Lower pack_32_4x8_split

  • asahi: Force translucency for ignored render targets

  • agx: Remove logical_end instructions

  • agx: Lower pseudo-ops later

  • agx: Expand nest

  • agx: Lower nest later

  • agx: Split nest instruction into begin_cf + break

  • agx: Add break_if_*cmp instructions

  • agx: Add agx_first/last_instr helpers

  • agx: Use agx_first_instr

  • agx: Detect conditional breaks

  • agx: Omit push_exec at top level

  • agx: Omit while_icmp without continue

  • agx: Add helper to determine if a NIR loop uses continue

  • agx: Only use nest by 1 for loops w/o continue

  • agx: Add pseudo-instructions for icmp/fcmp

  • agx: Generate unfused comparison pseudo ops

  • agx: Fuse conditions into if’s

  • agx: Fuse compares into selects

  • agx: Add unit test for if_cmp fusing

  • agx: Add unit test for cmp+sel fusing

  • asahi: Translate cube array dimension

  • ail: Force page-alignment for layered attachments

  • agx: Handle cube arrays when clamping arrays

  • agx: Lower coordinates for cube map array images

  • agx: Run opt_idiv_const after lowering texture

  • asahi: Forbid linear 1D Array images

  • asahi: Handle linear 1D Arrays

  • asahi: Conditionally expose cube arrays

  • gallium,mesa/st: Add PIPE_CONTEXT_NO_LOD_BIAS flag

  • asahi: Skip LOD bias lowering for GLES

  • nir: Add nir_function_instructions_pass helper

  • nir: Add NIR_OP_IS_DERIVATIVE property

  • nir: Hoist nir_op_is_derivative

  • nir/opt_preamble: Use nir_op_is_derivative

  • nir/opt_gcm: Use nir_op_is_derivative more

  • nir/gather_info: Use nir_op_is_derivative

  • nir/opt_sink: Sink load_constant_agx

  • nir/opt_sink: Sink load_local_pixel_agx

  • nir/opt_sink: Sink frag coord instructions

  • nir/opt_sink: Do not move derivatives

  • nir/opt_sink: Move ALU with constant sources

  • nir/opt_sink: Also consider load_preamble as const

  • agx: Enable sinking ALU

  • treewide: Drop nir_ssa_for_src users

  • treewide: Remove remaining nir_ssa_for_src

  • nir: Remove nir_ssa_for_src

  • asahi: Clamp index buffer extent to what’s read

  • agx: Align the reg file for 256-bit vectors

  • agx: Hoist sample_mask/zs_emit

  • agx: Set PIPE_SHADER_CAP_CONT_SUPPORTED

  • agx: Augment if/else/while_cmp with a target

  • agx: Add jumps to block ends

  • agx: Add agx_prev_block helper

  • agx: Insert jmp_exec_none instructions

  • nir: Add layer_id_written_agx sysval

  • nir: Support arrays in block_image_store_agx

  • agx/nir_lower_texture: Allow disabling layer clamping

  • agx: Pack block image store dim correctly

  • agx: Handle layered block image stores

  • agx: Add pass to lower layer ID writes

  • asahi: Add helper to get layer id in internal program

  • asahi,agx: Select layered rendering outputs

  • agx: Support packed layered rendering writes

  • agx/tilebuffer: Support layered layouts

  • agx/lower_tilebuffer: Support spilled layered RTs

  • asahi: Use layered layouts

  • asahi: Expose VS_LAYER_VIEWPORT behind a flag

  • asahi: Account for layering for attachment views

  • asahi: Assume LAYER is flat-shaded

  • asahi: Add pass to predicate layer ID reads

  • asahi: Predicate layer ID reads

  • asahi: Write to cubes/etc attachments as 2D array

  • asahi: Use a 2D Array texture for array render targets

  • asahi: Generate layered EOT programs

  • asahi: Handle layered background programs

  • lima/pp: Do not use union undefined behaviour

  • nir: Add trivial nir_src_* getters

  • nir: Use set_parent_instr internally

  • nir: Use getters for nir_src::parent_*

  • nir: Assert the nir_src union is used safely

  • nir: Use a tagged pointer for nir_src parents

  • nir: Add ACCESS_CAN_SPECULATE

  • ir3: Set CAN_SPECULATE before opt_preamble

  • ir3: Model cost of phi nodes for opt_preamble

  • nir/opt_preamble: Walk cf_list manually

  • nir/opt_preamble: Preserve IR when replacing phis

  • nir/opt_preamble: Unify foreach_use logic

  • nir/opt_preamble: Move phis for movable if’s

  • nir/opt_preamble: Respect ACCESS_CAN_SPECULATE

  • freedreno/ci: Minetest

  • r600/sfn: Handle load_global_constant

  • nir/opt_phi_precision: Work with libraries

  • nir/legalize_16bit_sampler_srcs: Use instr_pass

  • nir/print: Handle KERNEL

  • nir/lower_io: Use load_global_constant for OpenCL

  • nir/opt_algebraic: Reduce int64

  • nir/opt_algebraic: Optimize LLVM booleans

  • nir/trivialize_registers: Handle obscure load hazard

  • hasvk: Support builiding on non-Intel

  • crocus: Support building on non-Intel

  • meson: Add vulkan-drivers=all option

  • meson: Add gallium-drivers=all option

  • agx: Fix fragment side effects scheduling

Amber (7):

  • ir3: make wave_granularity configurable

  • turnip: Add support for devices not supporting double thread size.

  • turnip: make sampler_minmax support configurable.

  • freedreno, turnip: set correct reg_size_vec4 for a6xx_gen1_low

  • ir3: handle non-uniform case for atomic image/ssbo intrinsics

  • freedreno: Add support for devices not supporting double thread size.

  • turnip: Add debug option to allow non-conforming features.

Andrew Randrianasulu (1):

  • nv50/ir: Remove few nvc0 specific defines from nv50-specific header.

Antonio Gomes (9):

  • rusticl/kernel: Removing unnecessary clone in kernel launch

  • rusticl/kernel: Add CsoWrapper

  • rusticl/compiler: Add NirPrintfInfo

  • rusticl: Move Cso to Program

  • rusticl/compiler: Remove unnecessary functions

  • rusticl: Move NirKernelBuild to ProgramDevBuild

  • rusticl/program: New helper functions to NirKernelBuild

  • rusticl/core: Delete KernelDevState and KernelDevStateInner

  • rusticl/core: Make convert_spirv_to_nir output pair (KernelInfo, NirShader)

Asahi Lina (29):

  • docs/tgsi: Specify that depth texture fetches are replicated

  • asahi: Add synctvb debug flag

  • asahi: Add smalltile debug option

  • asahi: Add nomsaa debug flag

  • asahi: decode: Add a params argument to pass through

  • asahi: Add extra CDM header block for G14X

  • asahi: wrap: Handle freeing shmems

  • asahi: decode: Refactor to always copy GPU mem to local buffers

  • asahi: decode: Add a function to construct decode_params from a chip_id

  • asahi: Add a shared library interface for decode

  • asahi: Add a noshadow debug flag

  • asahi: Do not overallocate BOs by more than 2x

  • asahi: Fix race in BO stats accounting

  • asahi: Always use resource size, not BO size

  • asahi: Print info about shadowed resources

  • asahi: Impose limits on resource shadowing

  • asahi: Force linear for SHARED buffers with no/implicit modifier

  • asahi: Enable explicit coherency for G14D (multi-die)

  • asahi: Handle non-written RTs correctly

  • asahi: Fix incorrect BO bitmap reallocations

  • asahi: Allocate staging resources as staging

  • asahi: cmdbuf: Identify call/ret bits

  • asahi: decode: Implement VDM call/ret

  • asahi: decode: Do not assert on buffer overruns

  • asahi: Fix VDM pipeline field width

  • asahi: Add scaffolding for supporting driconf options

  • asahi: Add and support the no_fp16 driconf flag

  • driconf: Disable fp16 for browsers

  • asahi: Allow no16 flag for disk cache

Bas Nieuwenhuizen (16):

  • aco: fix nir_op_vec8/16 with 16-bit elements.

  • aco: Fix some constant patterns in 16-bit vec4 construction with s_pack.

  • nir: Fix 16-component nir_replicate.

  • radv: Expose VK_EXT_external_memory_acquire_unmodified.

  • util/perf: Add gpuvis integration.

  • egl,venus,vulkan,turnip,freedreno: Update CPU trace init to init more than perfetto.

  • vulkan: Add CPU tracing for vkWaitForFences.

  • docs: Add documentation for gpuvis.

  • vulkan: Add trace points for more Vulkan waiting functions.

  • radv: Use a double jump to limit nops in DGC for dynamic sequence count.

  • nir: Add AMD cooperative matrix intrinsics.

  • aco: Add WMMA instructions.

  • aco: Make RA understand WMMA instructions.

  • radv: Don’t transparently use wave32 with cooperative matrices.

  • radv: Add cooperative matrix lowering.

  • radv: Expose VK_KHR_cooperative_matrix.

Benjamin Cheng (10):

  • radv/video: use app provided hevc scaling list order

  • radv/video: copy from correct H264 scaling lists

  • anv/video: copy from correct H264 scaling lists

  • vulkan/video: add helper to derive H264 scaling lists

  • radv/video: use vk_video_derive_h264_scaling_list

  • anv/video: use vk_video_derive_h264_scaling_list

  • util/vl: extract gallium vl scanning data to shared code

  • radv/video: send h264 scaling list in raster order

  • anv/video: send h264 scaling list in raster order

  • radv/video: find SPS with pps_seq_parameter_set_id

Benjamin Lee (1):

  • nvk: Fix segfault when opening DRI device file returns error

Biswapriyo Nath (1):

  • radv/video: Match function definitions to declarations

Boris Brezillon (1):

  • panfrost: Flag the right shader when updating images

Boyuan Zhang (3):

  • virgl: Add vp9 picture desc

  • virgl: Implement vp9 hardware decode

  • radeonsi/vcn: disable tmz ctx buffer for VCN_2_2_0

Caio Oliveira (134):

  • nir: Use instructions_pass() for nir_fixup_deref_modes()

  • meson: Ensure that LLVMSPIRVLib is not required for Clover

  • nir: Let nir_fixup_deref_modes() fix deref_casts when possible

  • nir: Add nir_opt_reuse_constants()

  • radv: Use nir_opt_reuse_constants()

  • compiler/types: Use ralloc for the key in array_types

  • compiler/types: Use smaller keys for array_types table

  • compiler/types: Extract get_explicit_matrix_instance() function

  • compiler/types: Use smaller keys for explicit_matrix_types table

  • anv/tests: Refactor state_pool_test_helper to not use macros for parametrization

  • anv/tests: Link a single anv_tests binary using gtest

  • anv/tests: Propagate failures to gtest

  • hasvk/tests: Refactor state_pool_test_helper to not use macros for parametrization

  • hasvk/tests: Link a single hasvk_tests binary using gtest

  • hasvk/tests: Propagate failures to gtest

  • util: Add convenience macros for linear allocator

  • compiler/types: Use right hash for function types

  • compiler/types: Don’t duplicate empty string

  • compiler/types: Constify a couple of pointers in glsl_type

  • compiler/types: Remove unused GLSL_TYPE_FUNCTION and related functions

  • compiler/types: Move GLSL specific builtin structs into glsl/

  • glsl: Add missing glsl_types initialization to test_optpass

  • glsl: Don’t create struct type builtins

  • compiler/types: Add extra level of macro to builtin_macros

  • compiler/types: Use designated initializer syntax to specify builtins

  • compiler/types: Move local cache details to implementation file

  • compiler/types: Add a mem_ctx for the glsl_type_cache

  • compiler/types: Use type cache mem_ctx for hash tables

  • compiler/types: Don’t store a mem_ctx per type

  • compiler/types: Simplify clearing the glsl_type_cache

  • compiler/types: Move static asserts about glsl_type to a central place

  • compiler/types: Store builtin types directly as data

  • compiler/types: Use a linear (arena) allocator for glsl_types

  • compiler/types: Make struct glsl_type visible to C code

  • compiler/types: Add workaround to use builtin_type_macros.h in C

  • compiler/types: Move builtin type initialization to C

  • glsl: Annotate _mesa_glsl_error() with PRINTFLIKE

  • compiler/types: Fix array name dimension flipping for unsized arrays

  • compiler/types: Use Python to generate code for builtin types

  • compiler/types: Use glsl_get_type_name() to access the type name

  • compiler/types: Change glsl_type::name to be an uintptr_t

  • compiler/types: Use a string table for builtin type names

  • intel/compiler/xe2: Account for reg_unit() in TCS intrinsics

  • intel/compiler/xe2: Account for reg_unit() in TES intrinsics

  • intel/fs/xe2+: Update BS payload setup for Xe2 reg size.

  • intel/fs/xe2+: Update TASK/MESH payload setup for Xe2 reg size.

  • compiler: Use a meson dependency for libcompiler

  • meson: Remove unnecessary inc_compiler mentions

  • rusticl: Ensure NIR generated headers will be available

  • clover: Hide SPIR-V related code behind HAVE_CLOVER_SPIRV

  • clover: Only compile/depend libclspirv and libclnir when using SPIR-V support

  • compiler: Only enable mesaclc helper if we have OpenCL SPIR-V support

  • intel/compiler: Don’t allocate memory for SIMD select error handling

  • microsoft/compiler: Fix printf formatting string issues

  • util: Add more PRINTFLIKE and MALLOCLIKE annotations

  • util: Remove ralloc_parent from linear_header

  • util: Use linear parent to (r)allocated extra nodes

  • util: Remove size from linear_parent creation

  • util: Make DECLARE_LINEAR_ALLOC_* macros assume no destructors

  • util: Use an opaque type for linear context

  • util: Remove usages of linear_realloc()

  • util: Remove linear_realloc()

  • util: Remove size information from child allocations

  • util: Remove per-buffer header in linear alloc for release mode

  • util: Add a few basic tests for linear_alloc

  • util: Fix bookkeeping of linear node sizes

  • intel/compiler: Don’t store stage name and abbrev

  • intel/compiler/xe2: URB fence uses LSC now

  • intel/compiler/xe2: Fix URB writes in TCS

  • intel/compiler/xe2: Update TCS ICP handle code to support SIMD16

  • compiler/types: Add support for Cooperative Matrix types

  • nir: Add new intrinsics for Cooperative Matrix

  • nir: Handle cooperative matrix in various passes

  • spirv: Expose some memory related functions in vtn_private.h

  • spirv: Let vtn_ssa_value hold references to variables

  • spirv: Implement SPV_KHR_cooperative_matrix

  • compiler/types: Remove private related declarations

  • compiler/types: Remove use of new/delete

  • compiler/types: Remove use of references

  • compiler/types: Remove use of auto

  • compiler/types: Use C compatible cast syntax

  • compiler/types: Spell struct and enum in type names

  • compiler/types: Add void parameter to ensure these are valid C prototypes

  • intel/fs: Tweak default case of fs_inst::size_read()

  • compiler/types: Move the C++ inline functions in glsl_type out of the struct body

  • compiler/types: Move C declarations into glsl_types.h

  • compiler/types: Flip wrapping of base_type checks

  • compiler/types: Flip wrapping of various type identification checks

  • compiler/types: Flip wrapping of convenience accessors for vector types

  • compiler/types: Flip wrapping of basic “get type” functions

  • rusticl: Add Rust bindings for inline glsl_types functions

  • util: Add size to ralloc_header in debug mode

  • util: Add a canary to identify gc_ctx in debug mode

  • util: Add function print information about a ralloc tree

  • util: Avoid waste space when linear alloc’ing large sizes

  • spirv: Expose stage enum conversion in vtn_private.h

  • spirv: Change spirv2nir to use the shorter shader name abbreviations

  • spirv: List entry-points in spirv2nir when unsure what to use

  • spirv: Let spirv2nir find out the shader to use

  • intel/compiler: Don’t emit calls to validate() in release build

  • compiler/types: Flip wrapping of “type contains?” predicate functions

  • compiler/types: Flip wrapping of array related functions

  • compiler/types: Flip wrapping of cmat related functions

  • compiler/types: Flip wrapping of CL related functions

  • compiler/types: Flip wrapping of size related functions

  • compiler/types: Flip wrapping of struct related functions

  • compiler/types: Flip wrapping of interface related functions

  • compiler/types: Flip wrapping of layout related functions

  • compiler/types: Flip wrapping of record_compare

  • compiler/types: Flip wrapping of get_instance()

  • compiler/types: Flip wrapping of texture/sampler/image get instance functions

  • compiler/types: Flip wrapping of various get instance functions

  • compiler/types: Flip wrapping of get row/column type helpers

  • compiler/types: Flip wrapping of remaining non-trivial type getters

  • compiler/types: Flip wrapping of remaining small data getters

  • compiler/types: Flip wrapping of numeric type conversion functions

  • compiler/types: Move remaining code from nir_types to glsl_types

  • rusticl: Add bindings for glsl_vector_type()

  • compiler/types: Add more glsl_contains_*() functions and use them in C++

  • compiler/types: Add glsl_get_mul_type() and use it in C++

  • compiler/types: Add glsl_type_compare_no_precision() and use it in C++

  • compiler/types: Add glsl_type_uniform_locations() and use it in C++

  • compiler/types: Add glsl_get_std430_array_stride() and use it in C++

  • compiler/types: Add glsl_get_explicit_*() functions and use them in C++

  • compiler/types: Implement glsl_type::field_type() in terms of existing functions

  • compiler/types: Add glsl_simple_explicit_type() and simplify glsl_simple_type()

  • compiler/types: Add remaining type extraction functions and use them in C++

  • compiler/types: Use C instead of C++ constants for builtin types

  • compiler/types: Remove usages of C++ members in glsl_types.cpp

  • compiler/types: Annotate extern “C” only once in glsl_types.cpp

  • compiler/types: Rename glsl_types.cpp to glsl_types.c

  • compiler/types: Remove warnings about potential fallthrough

  • compiler/types: Move comments and reorganize declarations

  • anv: Fix leak when compiling internal kernels

Carsten Haitzler (2):

  • kmsro: Add hdlcd DPU

  • panfrost: Add GPU variant of G57 to the set of known ids

Charles Giessen (1):

  • panvk: Use 1.0 in ICD Manifest json

Charmaine Lee (8):

  • svga: set clear_texture to NULL for vgpu9

  • svga: fix stride used in vertex declaration

  • svga: fix persistent mapped surface update to constant buffer

  • svga: restrict use of rawbuf for constant buffer access to GL43 device

  • svga: fix immediates used in rawbuf for constant buffer

  • svga: use srv raw buffer for accessing readonly shader buffer

  • svga: sync resource content from backing resource before image upload

  • svga: ignore sampler view resource if not used by shaders

Chia-I Wu (38):

  • radv: fix separate depth/stencil layouts in fb state

  • radv: fix separate depth/stencil layouts in resolve meta

  • radv: refactor depth clear in clear meta

  • radv: fix separate depth/stencil layouts in clear meta

  • amd/ci: update radv-stoney-aco-fails.txt for depth/stencil clear

  • radv: disable tc-compat htile for layered images on gfx8

  • amd/ci: update radv-stoney-aco-fails.txt for depth/stencil resolve

  • winsys/amdgpu: fix a race between import and destroy

  • ac/surface: limit RADEON_SURF_NO_TEXTURE to color surfaces

  • winsys/radeon: fix a race between bo import and destroy

  • vulkan/runtime: add a helper for ETC2 emulation

  • radv: use vk_tecompress_etc2 from the runtime

  • vulkan/runtime: fix image type check for ETC2 emulation

  • vulkan/runtime: fix a harmless typo for ETC2 emulation

  • vulkan/runtime, radv: remove 1D support from ETC2 emulation

  • radv: add radv_is_format_emulated

  • radv: simplify view format override for emulated formats

  • radv: hard code format features for emulated formats

  • mesa: make astc_decoder.glsl vk-compatible

  • radv, drirc: rename radv_require_{etc2,astc}

  • anv: remove unused field from anv_image_view

  • anv: add anv_image_view_{init,finish}

  • anv: support image views with surface state stream

  • anv: add anv_push_descriptor_set_{init,finish}

  • anv: support alternative push descriptor sets

  • anv: add anv_descriptor_set_write

  • anv: add anv_cmd_buffer_{save,restore}_state

  • anv: add anv_is_format_emulated

  • anv: add a hidden plane for emulated formats

  • anv: decompress on upload for emulated formats

  • anv: fix up image views for emulated formats

  • anv: fix up blit src for emulated formats

  • anv: advertise emulated formats

  • anv: add support for vk_require_astc driconf

  • util: improve BITFIELD_MASK and BITFIELD64_MASK on clang

  • anv: prep for gen9 astc workaround

  • anv: add gen9 astc workaround

  • radv: fix image view extent override for astc

Chris Spencer (9):

  • radv: initialize result when pipeline cache creation fails

  • anv/android: Fix importing hardware buffers with planar formats

  • anv/android: Add support for AHARDWAREBUFFER_FORMAT_YV12

  • anv: Advertise Vulkan 1.3 on Android 13

  • anv: Don’t reject Android image format if external props not supplied

  • android: Add explanatory comment to u_gralloc

  • anv/android: Enable shared presentable image support

  • anv/video: use correct enum value for max level IDC

  • radv/video: use correct enum value for max level IDC

Christian Gmeiner (41):

  • nir/print: print instr pass_flags

  • etnaviv: move nir texture lowerings into one pass

  • nir: add enta specific intrinsic used for txs lowering

  • etnaviv: nir: support intrinsic used for txs lowering

  • etnaviv: nir: lower nir_texop_txs

  • ci/etnaviv: update ci expectations

  • etnaviv: make use of BITFIELD_BIT(..) macro

  • etnaviv: name the enum used for pass_flags

  • etnaviv: add is_dead_instruction(..) helper

  • etnaviv: extend etna_pass_flags with source modifiers

  • etnaviv: do not clear all pass_flags before RA

  • etnaviv: nir: look at parent instr in lower_alu(..)

  • etnaviv: nir: add etna_nir_lower_to_source_mods(..)

  • etnaviv: nir: switch to etna_nir_lower_to_source_mods(..)

  • etnaviv: nir: convert to new-style NIR registers

  • freedreno/regs: remove double assignment of self.current_domain

  • freedreno/regs: remove not used variable

  • freedreno/regs: remove dead code

  • freedreno/regs: python does not need ‘;’

  • etnaviv: switch to log2f(..)

  • etnaviv: switch to U_FIXED(..) macro

  • etnaviv: switch to S_FIXED(..) macro

  • etnaviv: fix null pointer dereference

  • etnaviv: switch to float_to_ubyte(..)

  • ci/etnaviv: update ci expectation

  • etnaviv: unbreak cmdline compiler

  • agx/lower_address: Use intrinsics_pass

  • agx/lower_address: Remove not used has_offset

  • isaspec: python does not need ‘;’

  • docs: Move isaspec out of drivers/freedreno

  • isaspec: Add support for templates

  • isaspec: encode: Correct used regex

  • isaspec: Add method to get all instrustions

  • isaspec: Add support for custom meta information

  • isaspec: Add BitSetEnumValue object

  • spirv: Don’t use libclc for rotate

  • docs: update etnaviv extensions

  • etnaviv: drm: Be able to mark end of context init

  • etnaviv: Skip ‘empty’ cmd streams

  • ci: Bump PyYAML to 6.0.1

  • etnaviv: Don’t leak disk_cache

Collabora’s Gfx CI Team (2):

  • Uprev Piglit to ed58dfbd12be34fa3dab97a7a2987b890e0637f1

  • Uprev Piglit to f7db20b03de6896d013826c0a731bc4417c1a5a0

Cong Liu (2):

  • r300: Fix out-of-bounds access in ntr_emit_store_output()

  • virgl:Fix ITEM_CPY macro pointer copy bug

Connor Abbott (83):

  • afuc: Rework and significantly expand README.rst

  • tu: Fix vk2tu_*_stage flag type

  • tu: Fix and simplify execution dependency handling

  • tu, freedreno/a6xx: Remove has_ccu_flush_bug

  • ir3: Handle GS stream “mixing” with non-point output primitives

  • tu: Disable transformFeedbackPreservesProvokingVertex

  • isaspec: Add “displayname” for altering {NAME} when decoding

  • isaspec: Add support for “absolute” branches

  • isaspec: Add support for function and entrypoint labels

  • isaspec: Add “custom” field type

  • isaspec: Add callback after decoding an instruction

  • isaspec: Rename isa_decode() to isa_disasm()

  • isaspec: Add initial decoding support

  • afuc: Fix xmov lexer typo

  • afuc: Convert to isaspec

  • afuc: Add setbit/clrbit

  • afuc: Fix writing $00

  • freedreno/afuc: Initial a7xx support

  • ir3: Parse (eq) flag

  • ir3, freedreno, tu: Plumb through SP_FS_PREFETCH_CNTL::ENDOFQUAD

  • tu: Add missing last_baryf statistic

  • freedreno, tu, ir3: Add last_helper statistic

  • ir3: Gather pixlod status earlier

  • ir3: Implement helper invocation optimization

  • vk/graphic_state, tu: Use dynamic blend count from subpass

  • freedreno/a7xx: Add CP_RESET_CONTEXT_STATE

  • vk/graphics_state: Fix copying MS locations pipeline state

  • tu: Remove MSAA draw state

  • tu: Merge SAMPLE_LOCATIONS and SAMPLE_LOCATIONS_ENABLE draw states

  • tu: Merge PC_RASTER_CNTL into RAST draw state

  • tu: Stop reusing base Vulkan dynamic state enums

  • tu: Merge depth/stencil draw states

  • tu: Rename PrimID-related registers

  • tu, freedreno/a6xx: Don’t use VS for PrimID passthru state

  • tu: Pull entangled shader state into program config

  • ir3: Add ir3_find_input_loc() helper

  • tu: Split up tu6_emit_vpc()

  • freedreno, ir3, tu: Constify various uses of ir3_shader_variant

  • ir3: Add helper to determine when variant exceeds safe constlen

  • tu: Split program draw state into per-shader states

  • tu: Fix per-view viewport state propagation

  • tu: Fix tu6_emit_*_fdm size call

  • tu: Fix assert in FDM state emission

  • tu: Actually emit patchpoint for viewports with FDM

  • nir/lower_subgroups: Don’t do multiple lowerings at once

  • nir/spirv: Add inverse_ballot intrinsic

  • amd: Use inverse ballot intrinsic if available

  • tu: Create singleton “empty” shaders

  • tu: Start tracking shaders independently of pipeline

  • tu: Move FS-specific pipeline information to the shader

  • tu: Use shader directly for VS/TCS output size and patch size

  • tu: Rewrite tessellation modes handling

  • tu: Rework passing shared consts

  • tu: Decouple program state from the pipeline

  • tu: Use pipeline feedback loop flag indirectly

  • tu: Rewrite remaining pipeline LRZ handling

  • tu: Don’t reference pipeline for some draw states

  • tu: Make compute dispatch use the shader

  • tu: Don’t use pipeline for dynamic draw states

  • tu: Don’t use pipeline for bandwidth validity

  • tu: Don’t use pipeline for per_view_viewport

  • tu: Don’t use pipeline for active stages

  • tu: Remove pipeline from state

  • zink: Rework color clamping and conversion

  • freedreno/fdl: Use A8_UNORM HW format for sampling

  • tu: Support clearing A8_UNORM

  • freedreno/fdl: Support PIPE_FORMAT_R5G5B5A1_UNORM on a6xx

  • tu/clear_blit: Fix staging image view layer count

  • tu/clear_blit: Allow VK_REMAINING_ARRAY_LAYERS as layerCount

  • tu: Allow VK_WHOLE_SIZE in tu_CmdBindVertexBuffers2EXT pSizes

  • tu: Implement vkCmdBindIndexBuffer2KHR

  • tu: Implement vkGetImageSubresourceLayout2KHR and vkGetDeviceImageSubresourceLayoutKHR

  • tu: Implement vkGetRenderingAreaGranularityKHR

  • tu: Use new buffer usage flags

  • tu: Support VkPipelineCreateFlags2CreateInfoKHR

  • tu: Check for DEVICE_LOST in vkGetEventStatus()

  • tu: Add maintenance5 properties

  • freedreno/ci: Skip dEQP-VK.info.device_extensions

  • tu: Expose VK_KHR_maintenance5

  • freedreno/ci: Remove minetest trace

  • v3d/ci: Remove minetest trace

  • ir3/ra: Don’t swap killed sources for early-clobber destination

  • tu: Fix re-emitting VS param state after it is re-enabled

Corentin Noël (16):

  • ci: Add locked flag to bindgen-cli installation

  • virgl: Do not expose EXT_texture_mirror_clamp when using a GLES host

  • ci: disable Collabora’s LAVA lab for maintenance

  • llvmpipe: make sure to initialize the lp_setup_context slots with the default values

  • virgl: Cover all the formats defined in the virgl definition

  • mesa: Ensure that the baselevel will never exceed the maximal supported number

  • ci: Uprev virglrenderer

  • freedreno/drm/virtio: Use MESA_TRACE_SCOPE instead of _BEGIN/_END

  • tu: Use MESA_TRACE_SCOPE instead of _BEGIN/_END

  • aux/tc: Use MESA_TRACE_SCOPE instead of _BEGIN/_END

  • venus: Change the only occurrence of VN_TRACE_BEGIN/END to VN_TRACE_SCOPE

  • util: Avoid the use of MESA_TRACE_BEGIN/END

  • util/perf: Remove the tracing categories

  • util: Remove MESA_TRACE_BEGIN/END

  • mesa/bufferobj: ensure that very large width+offset are always rejected

  • frontends/va: Remove wrong use of ProfileToPipe

Daniel Schürmann (9):

  • nir/opt_move: fix handling of if-condition

  • aco: append p_logical_end after monolithic RT shaders

  • aco/insert_exec_mask: set Exact mode after p_discard_if when necessary

  • aco: don’t optimize cross-lane instructions across p_wqm

  • aco: make p_wqm a marker instruction without Operands/Definitions

  • aco: don’t insert a copy when emitting p_wqm

  • aco: insert a single p_end_wqm after the last derivative calculation

  • aco/insert_exec_mask: Simplify WQM handling (1/2)

  • aco/insert_exec_mask: Simplify WQM handling (2/2)

Daniel Stone (23):

  • dri: Support 1555/4444 formats

  • egl/dri2: Don’t look up image extension twice

  • egl/wayland: Always initialise fd_display_gpu

  • egl/wayland: Add image loader extension for swrast

  • egl/wayland: Never use DRI2_LOADER extension

  • egl/wayland: Assume modern DRI interface versions

  • egl/drm: Use IMAGE_DRIVER instead of DRI2_LOADER

  • egl/drm: Assume modern DRI interface versions

  • ci: Disable nouveau CI

  • panfrost/vk: Use correct sampler dimensions for MSAA

  • ci: Declare stages before jobs

  • ci/radeonsi: Add new flake

  • ci/d3d12: Add new flake

  • ci/intel: Add new skqp flake

  • ci/zink: Add new zink-lvp flakes

  • ci/radeonsi: Skip more really slow tests

  • ci/zink: Add another conversion fail on a618

  • ci: Move farm-disable rules before anything else

  • ci: Always set user container jobs to manual

  • ci: Use container rules for containers

  • ci: Only look at file changes for MRs

  • ci: Fix pre-merge pipelines with no code changes

  • ci: Try really hard to print final result string

Daniel van Vugt (1):

  • glx: Increment dpy->request before issuing an error that had no request

Danylo Piliaiev (71):

  • freedreno/cffdec: Decode CP_DRAW_AUTO

  • freedreno, turnip: Clarify some RB_CCU_CNTL fields

  • freedreno,turnip: Make number of VSC pipes configurable

  • freedreno,turnip: Make CS shared memory size configurable

  • freedreno,turnip: Make VS input attr/binding count configurable

  • freedreno: Add A605, A608, A610, A612 GPUs definition

  • turnip: Make multiview support configurable per generation

  • ir3: Make FS tex prefetch optimization optional

  • ir3: Use NIR info to enable per sample shading

  • freedreno/regs: Rename SP_FS_CTRL_REG0.DIFF_FINE into LODPIXMASK

  • ir3: Fix FS quad ops returning wrong values from helper invocations

  • tu,freedreno: Forbid blit event for R8G8_SRGB due to gpu faults

  • radv: fix unused non-xfb shader outputs not being removed

  • vulkan/nir: Add common helper to check if output is XFB

  • radv: Use common nir_vk_is_not_xfb_output

  • turnip: Use common nir_vk_is_not_xfb_output

  • freedreno/regs: Define unknown SP_FS_PREFETCH_CNTL fields

  • freedreno/registers: Refactor gen_header.py to allow more options

  • freedreno/registers: Generate python files with reg offsets

  • freedreno: Add a list of raw magic regs

  • freedreno: Fully define a730 and a740 device properties

  • ir3/tests: Use fd_dev_info to infer GPU generation

  • freedreno/computerator: Fix remaining issues with A7XX

  • isaspec: Make possible to obtain gpu_id in <expr> blocks

  • ir3/a7xx: cat5 mode1 has swapped tex/samp ids

  • ir3/a7xx: Don’t multiply global mem instruction’s offset by 4

  • ir3/a7xx: insert lock/unlock at the end of every compute shader

  • ir3/a7xx: Add ccinv instruction

  • ir3/a7xx: Use ccinv for data synchronization

  • ir3/a7xx: Disable shared consts for a7xx

  • tu/common: Generalize TU_GENX macro

  • tu: Basic a7xx support

  • freedreno/fdl: Set LOSSLESSCOMPEN for image when ubwc is enabled on a7xx

  • tu/a7xx: Fix geometry shaders

  • tu/a7xx: Fix tesselation shaders

  • tu/a7xx: Fix multiview

  • tu/a7xx: Fix flat shading

  • tu/a7xx: Fix occlusion query

  • tu/a7xx: Fix 3d blits after multiview usage

  • tu/a7xx: Fix CmdDrawIndirectByteCountEXT

  • tu/a7xx: Disable LRZ

  • ir3/lower_tex_prefetch: Fix crash with lowered load_barycentric_at_offset

  • tu: Exclude SP_UNKNOWN_AE73 from reg stomping

  • tu: Call tu_cs_dbg_stomp_regs with appropriate GPU gen

  • freedreno/replay: Add limited support for KGSL

  • freedreno/rddecompiler: Update to handle a7xx

  • freedreno/replay: Add “print” instr to ir3 asm to be used in replay

  • freedreno/replay: Add “gpu_print” function for command streams

  • tu/perfetto: Remove now unnecessary tu_perfetto_util

  • tu/perfetto: Allow gpu time to be passed into tu_perfetto_submit

  • tu/kgsl: Fix memory leak of tmp allocations during submissions

  • tu/kgsl: Support u_trace and perfetto

  • tu/a7xx: Correctly record timestamps for u_trace

  • tu/virtio: Fix incorrect call to tu_perfetto_submit

  • ci: Compile Turnip’s virtio kmd in debian-arm64

  • freedreno/registers: Refine a7xx push consts registers

  • ir3,tu: Refactor push consts info plumbing

  • freedreno: Make possible to specify A7XX feature flags

  • turnip,ir3: Implement A7XX push consts load via preamble

  • tu: Add push_consts_per_stage debug option

  • tu: Fix VK_FORMAT_A8_UNORM_KHR using UBWC when !has_8bpp_ubwc

  • tu/kgsl: Fix field order in kgsl_command_object init

  • tu: Fix stale tu_render_pass_attachment::store_stencil with dyn rendering

  • tu: Zero init tu_render_pass and tu_subpass for dynamic rendering

  • tu: Disable preamble push consts when they are not used

  • ir3: Fix values of #wrmask not being compatible with ir3 parser

  • tu: Count a whole push consts range in constlen for PREAMBLE push consts

  • freedreno/rddecompiler: Use fd_dev_gen to pass gpu_id to ir3 disasm

  • freedreno/rddecompiler: Decompile repeated IBs

  • freedreno: Fix field size of A6XX_TEX_CONST[3].ARRAY_PITCH

  • tu: Fix reading of stale (V)PC_PRIMITIVE_CNTL_0

Dave Airlie (163):

  • ci: remove binding model from the asan skips for lavapipe.

  • gallivm: fix atomic global temporary storage.

  • llvmpipe: fix fragdata/lastfragdata heuristic a bit more.

  • nvk: add missing finish calls

  • nvk: add some initial wsi framework.

  • nvk: fix header guards to be less generic.

  • nvk: add bind buffer memory

  • nvk: Add initial queue

  • nvk: add cmd buffer framework

  • nvk: Reset pushbufs on command buffer reset

  • nvk: reindent descriptor sets to mesa std.

  • nvk: add initial descriptor pool framework.

  • nvk: some boilerplate for descriptor sets

  • nvk: add descriptor set bo allocation.

  • nvk: implement buffer address.

  • nvk: descriptor set freeing fix

  • nvk: move to new command stream generator.

  • nvk: port the blit and copy code to new command submission.

  • nouveau/ws: drop the old push generators.

  • nvk: link in codegen without gallium bits.

  • nvk: Initial wiring in of the compiler

  • nvk: Basic descriptor binding

  • nouveau/vk: add support for compute classes to generator.

  • nvk: retrieve gpc/mp counts from kernel.

  • nvk: add support for preamble and tls allocation.

  • nvk: add record result to cmd_buffer.

  • nvk: add command stream upload buffer.

  • nouveau/winsys: Add m2mf/compute objects

  • nvk: add some basic format wrapping framework

  • nvk: add some compute limits

  • nvk: add basic nve4+ compute support.

  • nvk: fix empty cmd submission.

  • nouveau/ws: add a push reset just for references.

  • nouveau/classes: add 906f header support.

  • nvk: add initial 8/16 byte clears.

  • nvk: fix pipeline pushbuf sizing

  • nvk: increase graphics cpu push buffer

  • nvk: fix depth emission ordering.

  • nvk: add some limits/features from binary driver.

  • nvk: add indexed draw support.

  • nvk: assign vertex locations according to input attrib index

  • nvk: lower io to temps to avoid output reads in vertex shaders

  • nvk: handle NULL to destroy descriptor pool

  • nvk: add basic primitive restart

  • nvk: fix copy lower address extraction

  • nvk: fix multiple pipelines failure allocation case.

  • nvk: init dev->physical_device earlier.

  • nvk/winsys: store device ptr into bo instead of ptr

  • nvk: set the device fd

  • nil: Fix image align and size constraints

  • nvk: Report image alignments from NIL

  • nouveau/winsys: allocate unique object handles across channels.

  • nvk/nil: don’t ask for compressed image kind

  • nvk/barrier: handle host bit.

  • nvk: add compute support for ampere

  • nvk: add min_lod to spirv caps.

  • nvk: fix r32_sint format support

  • nvk: expose EXT_sampler_filter_minmax

  • nvk: fix transform feedback crash when optimiser removes things.

  • nvk: merge tess info between tcs/tes.

  • nvk: introduce an optimisation loop.

  • nvk: add support for D32_SFLOAT_S8_UINT

  • nvk/query: fix push buffer size for copy pool results.

  • nvk: init image fields for requirements

  • nvk: handle alignments in device memory

  • nvk/tess: don’t emit patch control points in pipeline

  • nvk: align geometry clip setting with nvc0

  • nvk: fix independent color write masks.

  • nvk: enable rgb32 texel buffer support

  • nvk: enable EXT_depth_clip_control

  • nvk: enable EXT_depth_clip_enable

  • nvk: always sync internal cmd bufs for vma lifetimes.

  • nouveau/winsys: add support for the vma bind interfaces

  • nvk: Add support for sparse buffers

  • nvk: Add support for sparse images

  • nvk/queue: add support for syncobjs and sparse binds

  • nvk: Handle pre-turing indirect buffers with sparse

  • nvk: enable sparse features

  • nvk: enable a bunch of external fence/semaphore bits

  • nvk: enable sparse residency buffer on maxwell+

  • nvk: add new internal bo allocation flag.

  • docs: add two nvk exts to features.txt

  • zink: use fprintf instead of printf to align the requirements warnings

  • nvk: align sampler allocation counts with nvidia.

  • zink: turn off threaded cpu access if not visible.

  • nvk: add gart forced cmd pool side buffer.

  • nvk: add cond render upload buffer.

  • nvk: enable KHR_shader_clock.

  • nvk: NOUVEAU_WS_BO_LOCAL is a trap.

  • gallivm: drop unused info parameter

  • llvmpipe/fs: drop cbuf 0 since it’s lowered now.

  • gallivm/nir: avoid using params->info

  • llvmpipe/fs: move some tgsi checks in nir path to nir code.

  • llvmpipe/cs: convert to using tgsi->nir

  • llvmpipe/cs: drop tgsi for compute/mesh/task shader internals.

  • lavapipe: use vk_buffer common code.

  • lavapipe: use vk_buffer_range common code.

  • llvmpipe/fs: switch to using tgsi->nir instead of handling tgsi

  • llvmpipe/analyse: drop TGSI path.

  • llvmpipe/fs: start using nir info in some places.

  • llvmpipe/fs: drop the simple shader logic

  • llvmpipe/fs: rewrite output finding using nir.

  • nvk: add build_id linker argument.

  • nir/gather: add support for fbfetch and bindless image loads.

  • llvmpipe/cs: further cleanups after tgsi removal.

  • llvmpipe: move to nir lowering for fquantize2f16

  • rusticl: don’t store ptrs to nir_variables across opt passes.

  • llvmpipe: enable f16 paths on aarch64.

  • clover/llvm: move to modern pass manager.

  • nir: use a _clone so users calling their variable clone don’t get a warning

  • nir: rename nir_inline_functions.c to nir_functions.c

  • nir: use nir_function_instructions_pass in the inliner.

  • nir: move the libclc lowering over to functions file.

  • nir/functions: use helper to get function for a name.

  • nir/functions: put link state into a struct

  • nir/functions: move linker pass to new helper

  • nir: add nir function clone

  • nir: don’t inline linked functions

  • gallivm/nir: split prepasses out to make per-function work easier.

  • gallivm: rework translator to allow per-impl work.

  • spirv/nir: parse function control and store in nir.

  • nir: add driver_functions option to avoid inlining.

  • nir: add a function usage tracker

  • rusticl: use cleanup funcs

  • gallivm: add support for function calling

  • llvmpipe/cs: add support for function calls.

  • llvmpipe: enable driver functions.

  • radv: don’t emit event code on video queues.

  • spirv: use a pointer sized int type for opencl event_t

  • clover: fix parameter arguments since recent translator changes.

  • radv/video: take db alignment into account when allocating images.

  • ac,radeonsi: move vcn enc structs to common

  • ac,radeonsi: move vcn enc av1 default cdf file to common

  • nir: add a deref slot counter that handles compact

  • llvmpipe/linear: drop tgsi path.

  • gallivm: drop tgsi aos paths.

  • llvmpipe/nir: call gather info to update inputs read properly

  • llvmpipe/fs: start converting interp/input paths to nir.

  • llvmpipe/fs: start converting dervied state to nir based.

  • llvmpipe/linear: convert to using nir for output.

  • llvmpipe/linear: move to nir inputs

  • draw/mesh: reset some user state values on mesh draws.

  • llvmpipe/fs: fix regression in sample mask handling from tgsi removal.

  • llvmpipe: reset viewport_index_slot in fb bind

  • llvmpipe/cs: migrate to generic jit texture from pipe code.

  • llvmpipe/cs: migrate cs image handle to common jit code.

  • lavapipe: fix some whitespace in advance of other changes.

  • lavapipe: fix subresource layers asserts

  • lavapipe: support host image copying on compressed texture formats

  • llvmpipe: don’t create texture functions for planar textures.

  • lavapipe: don’t emit blit src/dst for subsampled formats.

  • llvmpipe: don’t support planar formats for buffers.

  • lavapipe: convert sampler to use vk base class.

  • lavapipe: cleanup copy code to use a local region variable.

  • lavapipe: start introducing planes structure.

  • lavapipe: allocate image and image view planes.

  • lavapipe: handle planes in copies

  • lavapipe: handle planes in get image sub resource

  • lavapipe: add descriptor sets bindings for planar images

  • lavapipe: handle planes in texture lowering.

  • lavapipe: expose planar ycbcr formats and new ycbcr features

  • lavapipe + docs: update ycbcr extension enables.

  • intel-clc: avoid using spirv-linker.

David Heidelberg (82):

  • ci/freedreno: update a530 flakes

  • ci: build kernel in gfx-ci/linux and just use binaries in Mesa3D CI

  • ci: update kernel to 6.3.13

  • ci/freedreno: add fails introduced by upreving to 6.3.13

  • Revert “lima/ci: temporarily disable deqp-egl tests due to timeouts”

  • ci/radeonsi: stoney arb_timer_query got fixed between kernel 6.3.1..13

  • ci/lima: EGL testing was disabled when fp16 fail was removed

  • ci/freedreno: fix unexpectedpass flake on a630

  • ci/freedreno: add another a530 flakes

  • ci: add quirk for GitLab assuming changes is always true for scheduled runs

  • ci/microsoft: when re-enabling Windows Farm, always run the container

  • ci/freedreno: add a530 flakes, remove one fail which recently started passing

  • ci/panfrost: introduce OpenGL testing with Mali-G57 MP5 on Asurada chromebook

  • ci/freedreno: cover all texture gather flakes

  • ci/freedreno: add a530 flake vs-lessthanequal-uvec4-uvec4

  • ci/farms: always compare the code against main repository

  • Revert “ci/farms: always compare the code against main repository”

  • ci/kernel: add amd patch to prevent crashes when starting X

  • ci/kdl: remove extra-verbose ls command

  • ci/nouveau: add 20 minutes timeout to gk20a and align gm20b

  • ci/freedreno: document another mapbuffer flake on a530

  • ci/amd: fix timeouting radeonsi-raven-va-full job

  • docs/ci: default to port 80 for the caching proxy

  • docs/ci: update to systemd and used version of the trace for testing

  • docs/ci: remove default nginx config, which we don’t need for proxy

  • bin/ci: handle errors more gracefully in update_traces_checksum script

  • ci/freedreno: document another flakes on Adreno 530

  • ci: add perfetto into mesa git-cache

  • ci/panfrost: re-enable t760 and t860 traces as a nightly job

  • CI: Re-enable G52 Vulkan testing

  • ci/panfrost: t760-gles is nightly job, test also GLES 3 and 3.1

  • ci/zink: Add flake seen in the wild

  • ci/build: limit debian-build-testing to 30 minutes

  • ci/amd: add glx@glx-visuals-depth flake to raven

  • ci/freedreno: document vs-nested-return-sibling-loop2 flake on Adreno 530

  • ci/farms: enabled Microsoft job only when conditions are met

  • ci/deqp: really remove the uncompressed results.csv file

  • ci/baremetal: do not install curl, it’s already there

  • ci/baremetal: shorten BM_KERNEL to filename and BM_DTB to name only

  • ci/freedreno: document another a530 flake batch

  • ci: remove LAVA prefix from variables which can be used also elsewhere

  • ci/zink: drop a630, which we currently have very low amount available

  • ci/freedreno: the tag belongs to the apq8016 only

  • ci/freedreno: switch references, the farm-rules takes care about this

  • ci/freedreno: handle disabling farm properly for each FD/Collabora farm

  • ci/freedreno: another batch of Adreno 530 flakes

  • gtest: backport ansi color fix

  • ci: disable Material Testers.x86_64_2020.04.08_13.38_frame799.rdc trace

  • panfrost/ci: revert Disable T720

  • ci/piglit: add extra space on top to prevent single quote getting into URL

  • ci/freedreno: There is only one King of Town.

  • ci: switch to 6.4 kernel, improving Adreno 660 reliability

  • ci/iris: add GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive timeout

  • ci/panfrost: add G52 flakes

  • ci/panfrost: we have enough device, parallelize Vulkan tests

  • ci/virgl: flakes in functional.draw_buffers_indexed group

  • ci/freedreno: add another a530 flake

  • ci/panfrost: add G52 simple_tests.partial_image_pot_same_format_noclear flake

  • panvk: architecture isn’t invalid, just unsupported

  • panvk: catch unsupported arch in the panvk_physical_device_init

  • Revert “ci: disable a660 jobs”

  • docs: add LAVA farm informations

  • ci: disable Google Freedreno farm, currently timeouting on all jobs

  • Revert “ci: disable Google Freedreno farm, currently timeouting on all jobs”

  • ci/farms: no need to check RUNNER_TAG for Collabora farm

  • ci/traces: extend no-output timeout by 5 minutes

  • ci/venus: add fragment.32B_in_memory_with_vec4_s32 flake

  • iris: do not mention specifically clover for OpenCL support

  • ci/freedreno: disable broke cheza (Adreno 630) runners

  • ci/bare-metal: correct workaround for R8152 issue while retrieving TFTP data

  • ci/bare-metal: drop unused imports, sort, use SPDX license

  • ci/lima: farm is down, disable for now

  • ci: do not report failed job when flakes reporting fails

  • ci/freedreno: re-enable Cheza (Adreno 630) runners

  • ci/traces: upload only missing trace images

  • ci/traces: keep images for every job except the performance testing

  • ci/traces: rename upload function to reflect it works with S3

  • ci/traces: always export piglit EXTRA_ARGS

  • ci: ci_marge_queue.py

  • ci/freedreno: fix copy paste causing a618_gl being run only in manual pipeline

  • ci/freedreno: disable Adreno 660 Vulkan pre-merge

  • ci/traces: drop the freedoom-phase2-gl-high.trace

David Rosca (70):

  • radeonsi: Use DIV_ROUND_UP instead of ALIGN_POT

  • frontends/va: Skip processing buffers already converted with EFC

  • frontends/va: Don’t use EFC with scaling or filtering enabled

  • radeonsi/vcn: Don’t use chroma in AV1 encode with RGB input

  • frontends/va: Parse H264 SPS for video signal parameters

  • frontends/va: Parse HEVC SPS for video signal parameters

  • frontends/va: Add postproc support for converting to full range

  • radeonsi/vcn: Set H264 video signal parameters in bitstream

  • radeonsi/vcn: Set HEVC video signal parameters in bitstream

  • radeonsi/vcn: Enable full/limited range support for H264/HEVC/AV1

  • radeonsi/vcn: Fix setting color range in AV1 bitstream

  • gallium/auxiliary/vl: Fix RGB->YCbCr full range matrix

  • gallium/auxiliary/vl: Handle UV subsampling in compute_shader_yuv

  • gallium/auxiliary/vl: Fix blurry output of compute_shader_yuv

  • frontends/va: Add YUV420 to NV12 postproc conversion

  • gallium/auxiliary/vl: Fix chroma and blurry output of cs video_buffer

  • gallium/auxiliary/vl: Fix chroma offset of compute_shader_weave

  • frontends/va: Also map VAImageBufferType for reading

  • frontends/va: Alloc interlaced surface for interlaced pics

  • frontends/vdpau: Alloc interlaced surface for interlaced pics

  • radeonsi: Don’t prefer interlaced for video decode

  • ci/amd: Skip VAAPI CreateSurfacesWithConfigAttribs/1121 test

  • frontends/va: Don’t allow multi-plane derive without driver support

  • frontends/va: Init view_resources array in vlVaPut/GetImage

  • radeonsi: Copy all planes with multi-plane staging textures

  • radeonsi: Enable PIPE_VIDEO_CAP_SUPPORTS_CONTIGUOUS_PLANES_MAP

  • ci/amd: Skip all VAAPI tests that creates too many huge surfaces

  • radeonsi/vcn: Update rate control when framerate changes with HEVC

  • frontends/va: Ignore requested size when creating VAEncCodedBufferType

  • gallium/auxiliary/vl: Set correct csc matrix in set_buffer_layer

  • radeonsi/vcn: Fix leaking fences in decode

  • gallium/auxiliary/vl: Add BT.709 full csc matrix

  • frontends/va: Set csc matrix in postproc

  • gallium/auxiliary/vl: Don’t set csc matrix in video_buffer/rgb_to_yuv_layer

  • frontends/va: Add BT.709 as supported postproc color standard

  • Revert “radeonsi/vcn: add an exception of field case for h264 decoding”

  • gallium/auxiliary/vl: Set vertex element src_stride in vl_deint_filter

  • gallium/auxiliary: Fix util_compute_blit half texel offset with scaling

  • gallium/auxiliary/vl: Map range when updating constants

  • gallium/auxiliary/vl: Clamp coordinates in compute shaders

  • gallium/auxiliary/vl: Support chroma sample location in compute shaders

  • frontends/va: Support chroma sample location in postproc

  • frontends/va: Flush after unmapping VAImageBufferType

  • frontends/va: Parse chroma sample location in H264/HEVC SPS

  • radeonsi/vcn: Set H264/HEVC chroma sample location in bitstream

  • radeonsi/vcn: Don’t hang GPU when using DCC surface as encoder input

  • frontends/va: Track surfaces in context

  • frontends/va: Destroy fences when destroying surface or context

  • radeonsi/vcn: Implement destroy_fence vfunc

  • frontends/va: Process VAEncSequenceParameterBufferType first in vaRenderPicture

  • frontends/va: Set default rate control values once when creating encoder

  • gallium/auxiliary/vl: Add RGB to YUV compute shader

  • gallium/auxiliary/vl: Use chroma offset in YUV to RGB weave compute shader

  • gallium/auxiliary/vl: Fix YUV to RGB bob compute shader deinterlacing

  • gallium/auxiliary/vl: Only map the shader constants buffer in render

  • frontends/va: Add High Quality preset mode

  • radeonsi/vcn: Add High Quality encoding preset for AV1

  • radeonsi: Fix plane size in si_copy_multi_plane_texture

  • frontends/va: Implement vaMapBuffer2

  • frontends/va: Fix locking in vlVaBeginPicture

  • frontends/va: Parse H264 SPS for max_num_reorder_frames

  • util/vl: Fix vl_rbsp parser with bitstreams without emulation bytes

  • frontends/va: Fix parsing packed headers without emulation bytes

  • radeonsi/vcn: Add encode support for H264 B-frames

  • frontends/va: Map decoder and postproc surfaces for reading

  • radeonsi: Fix offset for linear surfaces on GFX < 9

  • gallium/auxiliary/vl: Fix coordinates clamp in compute shaders

  • gallium/auxiliary: Fix coordinates clamp in util_compute_blit

  • gallium/auxiliary/vl: Scale dst_rect x0/y0 when rendering chroma plane

  • util/rbsp: Fill bits twice if reading more than 16 bits

Derek Foreman (2):

  • vulkan/wsi: Allow binding presentation_timing when software rendering

  • vulkan/wsi: warn about unset present_mode in PresentModeCompatibilityExt

Dmitry Baryshkov (3):

  • gallium: move kmsro definition to the bottom of the file

  • gallium: unbreak kmsro/freedreno case

  • tu: Pass real size of prime buffers to allocator

Dmitry Osipenko (3):

  • util/cache_test: Re-add test for disabled cache

  • util/cache_test: Fix disabled cache test using SHADER_CACHE_DISABLE_BY_DEFAULT

  • util/cache_test: Add test for get/put() with disabled cache

Dor Askayo (1):

  • nouveau: add exported GEM handles to the global list

Dr. David Alan Gilbert (6):

  • rusticl/core: Add profiling time storage (queued) to event

  • rusticl: Wire the ‘queued’ profiling time up

  • rusticl: Wire the ‘submit’ profiling time up

  • rusticl: Wrap pipe queries

  • rusticl: Wrap pipe query reads

  • rusticl: Wire the ‘start’ and ‘end’ profilng times up

Dylan Baker (4):

  • VERSION: bump to 23.3.0-devel

  • docs: Update release calendar for 23.2.0-rc1

  • docs: truncate feature list for 23.3-devel

  • meson: use a single dependency call for lua

Echo J (5):

  • nvk: Fix some cast defines

  • nvk: Add A8B8G8R8_*_PACK32 format support

  • nvk: Add bufferImageGranularity limit

  • nvk: Reset offset value in ResetDescriptorPool

  • nil: Add A4B4G4R4_UNORM format support

Emma Anholt (111):

  • ci/radv: Clarify when the ANGLE GS failures started happening.

  • ci: Uprev ANGLE to 0518a3ff4d4e (“Android: Simplify power metrics collection”)

  • ci/tgl: Improve the info for ANGLE’s MSAA regression on TGL.

  • ci/tu: Add more crash cases for the multithreading bugs caught on a630.

  • ci/tu: Mark descriptor_buffer.basic.limits as failing in gmem too.

  • ci/tu: Drop some xfails for !24086

  • tu: Fix data race in userspace VMA management.

  • ci/a5xx: Add another GPU hanging piglit test to the skips.

  • Revert “ci: Disable nouveau CI”

  • nvk: Avoid strict aliasing warning in the pushbuffer encoding.

  • nvk: Fix uninitialized result usage in NVK_DEBUG_ZERO_MEMORY.

  • nvk: Fix unused result warnings in pushbuf resets.

  • nvk: Remove duplicate (disabled) point sprite setup.

  • nvk: Fix missing init of the stages to sync against.

  • nvk: Use depth_clamp_enable to select PIXEL_*_Z_CLAMP.

  • nouveau/winsys: Fix an undefined use in the error path.

  • nvk: Quiet a compiler warning.

  • nvk: Clean up redundant vendor checking for physical device creation.

  • nvk: Add support for probing as a platform device.

  • nvk: Disable shaderStorageImageReadWithoutFormat pre-Maxwell.

  • freedreno/a5xx: Fix border color structure size.

  • freedreno/a5xx: Skip emitting unused texture descriptors for images.

  • freedreno/ir3: Move pvtmem per-fiber size alignment to the compiler.

  • ci/freedreno: Drop a bunch of stale a530 xfails.

  • ci/freedreno: Sort another a530 xfail with its friends.

  • ci/freedreno: Update comments for some a530 xfails.

  • ci/freedreno: Add some more db820c xfails.

  • freedreno/devices: Move fibers_per_sp to the common info struct.

  • freedreno/devices: Set num_sp_cores explicitly for pre-gen6.

  • freedreno/a6xx: Move pvtmem allocation to ir3_gallium.

  • freedreno/a3xx: Add the shift for MEMSIZEPERITEM according to db410c docs.

  • freedreno/a5xx: Refactor SHADER_OBJ emit to a helper function.

  • freedreno/a5xx: Set num_sp_cores and set PC/VFD_POWER_CNTL accordingly.

  • freedreno/a5xx: Add private mem support.

  • freedreno/cffdec: Fix decode on pixel 2 blob’s COMPUTE_CHECKPOINT

  • ci/freedreno: Add a regression test for decoding a540 blob’s compute shaders.

  • freedreno: Fix crashdec pre-a6xx.

  • freedreno/a5xx: Skip SSBO emit when none are enabled.

  • vulkan/util: Make multialloc succeed with 0 allocations.

  • turnip: Track the first/last subpass an attachment is used in.

  • turnip: Skip emitting empty CP_COND_REG_EXEC.

  • turnip: Save the renderpass’s clear values in the cmdbuf state.

  • turnip: Move gmem clears and loads to the first subpass that uses them.

  • turnip: Move sysmem clears to the first subpass that uses them.

  • ci/freedreno: Skip some tests on a5xx that destabilize other tests.

  • freedreno/a3-5xx: Don’t try to emit ISAM for SSBO loads.

  • ci/turnip: Add a660 VK coverage.

  • disk_cache: Disable the “List” test for RO disk cache.

  • blorp: Disable unaligned partial HIZ fast clears for HIZ_CCS too.

  • intel/fs: Move defin/defout setup to the start of the loop.

  • intel/fs: Move the defin[]/defout[] screening up to livein[]/liveout[] setup.

  • intel/fs: Simplify compute_start_end().

  • ci/freedreno: Add another excessive-constlen UBO skip.

  • ci/anv: Drop DEQP_VER:vk setting.

  • ci/anv: Drop “-vk” from the job name.

  • ci/anv: Add a manual full VK run for TGL.

  • ci/anv: Add testing on JSL.

  • freedreno: Build drm subdir before perfcntrs, which uses it.

  • ci/intel: Add various updates from our nightly runs.

  • ci/virgl: Disable virgl-iris-traces.

  • ci/zink: Add a few updates for anv/tgl from the nightly runs.

  • ci/fastboot: Use a case insensitive match for a fastboot line.

  • ci/etnaviv: Skip some tests that hang the GPU and knock out other tests.

  • ci/etnaviv: Drop some gc2k flakes that I think are resolved.

  • ci/anv: Drop incorrect xfail addition for TGL

  • ci/anv: Drop the 16bit.scalar.13 skip.

  • ci/etnaviv: Minor xfail/flake polishing.

  • ci/etnaviv: Skip a GLES2 test that times out the asan job.

  • ci/zink: Skip more doubles tests on anv that flake at 3 minute timeouts.

  • ci/docker: Clear the results file before starting a new deqp test run.

  • ci/crocus: Add a related flake to a known one.

  • ci/etnaviv: return gl-1.4-tex1d-2dborder as a known flake

  • ci/crocus: Add known piglit flakes

  • ci/hasvk: Add a bunch of new CTS border color fails.

  • i915: Re-clang-format and enforce it in CI.

  • i915: Print the relevant counts vs limits when throwing errors.

  • i915: Don’t log I915_DEBUG=fs output for blit shaders.

  • i915: Save fragment program compile error messages in the fragment shader.

  • i915: Do a test compile at glLinkShader() time.

  • i915: Make exceeding tex indirect count fatal.

  • i915: Use nir_group_loads() to reduce texture indirection phases.

  • ci/crocus: Generalize the drawarrays-vertex-count flakes.

  • ci/zink: Skip 3-minute-long glx-visuals timeouts.

  • ci/zink: Skip dmat[34] op tests in general, as well

  • ci/crocus: Disable flaky unvanquished-ultra trace

  • nir/print: Decode system values in the variable declarations.

  • ci/zink: Add a TGL flake that’s showed up in nightlies recently.

  • ci/radeonsi: Drop an xfail for vangogh.

  • i915: Make I915_DEBUG=fs log shaders that fail to link due to CF.

  • nir: Flatten ifs with discards in nir_opt_peephole_select for HW without CF.

  • glsl: Remove lower_discard().

  • ci/zink: Only test half of piglit pre-merge on anv.

  • ci: Stop doing internal retries in bare-metal.

  • ci/bare-metal: Drop the 2 vs 1 exit code from poe_run.

  • ci/bare-metal: Default our boards to a 20-minute timeout for the whole job.

  • ci/iris: Drop parallel on kbl piglit to 2.

  • ci/freedreno: Fold a630_egl into a630_gl.

  • ci/freedreno: Move skqp testing to a618.

  • ci/zink: Cut zink-lvp coverage in half.

  • ci/freedreno: Generalize the implicit_unmap timeouts.

  • ci_run_n_monitor: Poll mesa/mesa and user/mesa for pipelines at the same time.

  • glx: Delete support for GLX_OML_swap_method.

  • ci: drop skip for glx-swap-copy.

  • dri: Drop a duplicate mesa vs pipe format table.

  • docs/ci: Drop old instructions for farm disabling

  • docs/ci: Add some links in the CI docs to how to track job flakes

  • glsl: Remove int64 div/mod lowering.

  • llvmpipe: Set nir_lower_dround_even.

  • nir: Add nir_lower_dsign as 64-bit fsign lowering.

  • glsl: Retire dround lowering.

  • ci_run_n_monitor: Always resolve –rev arguments for looking up pipelines.

Eric Engestrom (194):

  • ci: avoid running hardware jobs if lint fails - now on LAVA too!

  • ci: avoid running hardware jobs if lint fails - now on Windows too!

  • ci: replace copy of nouveau rules with reference

  • ci: drop leftover kernel configs

  • ci: use !reference for scheduled_pipeline retry rule

  • ci: add .llvmpipe-manual-rules and use it

  • ci: add .gallium-core-rules and use it instead of gallium_core_file_list anchor

  • ci: replace llvmpipe_file_list anchor with reference

  • ci: replace softpipe_file_list anchor with reference

  • ci: replace lavapipe_file_list anchor with reference

  • ci: replace iris_file_list anchor with reference

  • ci: replace radv_file_list anchor with reference

  • ci: replace radeonsi_file_list anchor with reference

  • ci: replace virgl_file_list anchor with reference

  • ci: move etnaviv files rules to src/etnaviv/ci/gitlab-ci.yml

  • ci: move freedreno files rules to src/freedreno/ci/gitlab-ci.yml

  • ci: move nouveau files rules to src/gallium/drivers/nouveau/ci/gitlab-ci.yml

  • ci: move panfrost files rules to src/panfrost/ci/gitlab-ci.yml

  • ci: move broadcom files rules to src/broadcom/ci/gitlab-ci.yml

  • ci: move lima files rules to src/gallium/drivers/lima/ci/gitlab-ci.yml

  • ci: move amd files rules to src/amd/ci/gitlab-ci.yml

  • ci: move microsoft files rules to src/microsoft/ci/gitlab-ci.yml

  • ci: move zink files rules to src/gallium/drivers/zink/ci/gitlab-ci.yml

  • ci: move virtio files rules to src/virtio/ci/gitlab-ci.yml

  • ci: move intel files rules to src/intel/ci/gitlab-ci.yml

  • ci: move virgl files rules to src/gallium/drivers/virgl/ci/gitlab-ci.yml

  • ci: move llvmpipe files rules to src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml

  • ci: move softpipe files rules to src/gallium/drivers/softpipe/ci/gitlab-ci.yml

  • ci: move lavapipe files rules to src/gallium/drivers/lavapipe/ci/gitlab-ci.yml

  • ci: delete install.tar after extracting it to avoid re-uploading it

  • docs: add release notes for 23.1.4

  • docs: add sha256sum for 23.1.4

  • docs: update calendar for 23.1.4

  • asahi: drop unused include paths

  • ci/lint: deduplicate formatting check jobs

  • ci/lint: also print a diff for rust format issues

  • ci: allow hw jobs even if lint jobs fail for non-Marge pipelines

  • ci: print rustfmt’s version

  • ci: print clang-format’s version

  • bin/ci_run_n_monitor: get git sha from pipeline if specified, instead of requiring –rev to match

  • lavapipe/ci: use tighter changes: rules

  • ci: add a 10min job timeout to formatting checks

  • ci: reduce bare-metal retries of poe_run to only 3 attempts

  • broadcom/ci: reduce vc4-rpi3-gl timeout to 30min (instead of 1h)

  • broadcom/ci: reduce v3d-rpi4-gl timeout to 30min (instead of 1h)

  • broadcom/ci: reduce v3d-rpi4-traces timeout to 30min (instead of 1h)

  • broadcom/ci: reduce v3dv-rpi4-vk timeout to 30min (instead of 1h)

  • ci: add .core-rules to .gallium-core-rules

  • ci: drop rule for non-existent src/include/

  • docs: add release notes for 23.1.5

  • docs: add sha256sum for 23.1.5

  • docs: update calendar for 23.1.5

  • ci: include some timing information in the git cache download script

  • docs/ci: stop trying to enumerate drivers that are tested using VK-GL-CTS

  • docs/ci: in paragraph about the CI being overwhelmed, mention our tool to help with that

  • docs/ci: drop mention of build systems variants in the CI

  • docs/ci: expand the description of test suites

  • bin: add wrapper to run scripts in a python venv

  • bin/ci/ci_run_n_monitor: use venv wrapper

  • bin/ci/gitlab_gql: use venv wrapper

  • bin/ci/update_traces_checksum: use venv wrapper

  • bin/pick-ui: use venv wrapper

  • ci: include mold in x86_64_test-base & rootfs images

  • ci: use mold to build deqp

  • zink/ci: set the default timeout for zink jobs to 30min instead of 1h

  • egl: make _eglFilterConfigArray static

  • egl: fixup _eglFilterConfigArray() params and drop _eglFallbackMatch() wrapper

  • ci: build nvk

  • ci: document max image tag length

  • docs/radv: mark VK_EXT_tooling_info as implemented

  • docs/radv: mark VK_INTEL_shader_integer_functions2 as implemented

  • git-blame-ignore-revs: repeat instruction on how to enable to avoid having to look for it

  • git-blame-ignore-revs: add radv formatting commit

  • git-blame-ignore-revs: add pvr formatting commit

  • meson: fix indentation

  • docs/v3dv: mark direct display extensions as implemented

  • ci: reorder vk drivers alphabetically in debian-vulkan job

  • ci: build hasvk in debian-vulkan job

  • ci/zink+radv: set a timeout of 2x the normal runtime

  • amd/ci: drop duplicate test expectations

  • panfrost: upcast uint8/uint16 before shifting them beyond their range

  • ci/a530: document piglit flake

  • docs: add release notes for 23.1.6

  • docs: add sha256sum for 23.1.6

  • docs: update calendar for 23.1.6

  • docs: add one more 23.1.x release

  • ci: rename *.log to *.txt to work around gitlab bug

  • ci/freedreno: reuse freedreno_gl_file_list instead of re-definining it

  • egl: bump extension string length

  • vc4: drop duplicate .lower_ldexp

  • zink: fix format in zink_make_{image,texture}_handle_resident()

  • v3dv: fix VK_PIPELINE_ROBUSTNESS_{BUFFER,IMAGE}_BEHAVIOR_DEVICE_DEFAULT_EXT copy/paste typo

  • v3dv: fix copy/pasted type of `sample`

  • v3dv: fix shader stage name in error message

  • v3d/qpu: fix type of function argument

  • ci/deqp: backport fix for dEQP-EGL.functional.wide_color.*_888_colorspace_*

  • ci/farm-rules: fix missing valve-infra jobs in scheduled pipelines

  • bin/ci_run_n_monitor: error out if both –project and –pipeline-url are passed

  • ci: document farm rules

  • ci/b2c: skip install.tar extraction if the tarball is not present

  • ci/b2c: don’t allow failures in test script preparation

  • ci/b2c: assert that install folder is present whether or not the tarball was extracted

  • ci/amd: split the polaris10 rules into one for each farm

  • ci: skip containers & build jobs when disabling a farm

  • docs: add release notes for 23.1.7

  • docs: add sha256sum for 23.1.7

  • docs: update calendar for 23.1.7

  • docs: add one more 23.1.x release

  • ci: taking igalia farm offline

  • ci/b2c: drop logic to remove install.tar

  • ci: drop clover leftover

  • Revert “ci: taking igalia farm offline”

  • bin/ci_run_n_monitor: print in which repo we’re looking for the pipeline

  • bin/ci_run_n_monitor: automatically pick MR pipelines when they exist

  • ci: remove duplicate fork pipeline in MRs

  • ci_run_n_monitor: add comment to explain “MR > fork” logic

  • ci: don’t run everything just because a farm gets re-enabled

  • ci/windows: centralize definition of windows runners tags

  • ci/windows: add windows docker runner tags to .windows-docker-vs2019

  • ci/windows: drop build rules from test jobs

  • ci: document which image tags need to be bumped when updating piglit

  • ci: document which image tags need to be bumped when updating {alpine,debian,fedora}/x86_64

  • ci/farm-rules: rename .disable-farm-mr-rules to make it clear it’s only about MRs

  • ci/farm-rules: re-add “run every container and build job when a farm gets re-enabled”

  • ci/zink: drop redundant `MESA_LOADER_DRIVER_OVERRIDE: zink`

  • docs: add release notes for 23.1.8

  • docs: add sha256sum for 23.1.8

  • docs: update calendar for 23.1.8

  • docs: add another 23.1.x

  • ci: limit build jobs to 30min so that they can retry when they go wrong

  • docs: drop outdated and redundant note about the minimum meson version

  • ci/zink+radv: specify that zink-radv-navi10-valve should run in the mupuf farm

  • ci/zink+radv: bump the timeout of zink-radv-navi10-valve by 10 minutes

  • docs: add calendar for 23.3

  • ci: unify container and build jobs rules

  • docs/meson: drop mention that our meson is ready

  • ci/docs: drop extra overwritten rules

  • ci/zink+radv: document flake

  • docs: document the merging process and what is allowed or not

  • ci: drop unused shader-db clone + build from alpine image

  • ci: drop unused shader-db clone + build from fedora image

  • ci: move shader-db clone/build into its own script

  • ci/deqp-runner: fix indentation

  • ci/deqp-runner: restore exit-on-error after getting deqp-runner’s exit code

  • ci: fix shebang in build-deqp-runner.sh

  • docs: add release notes for 23.1.9

  • docs: add sha256sum for 23.1.9

  • docs: update calendar for 23.1.9

  • ci: drop unused ephemeral packages in alpine image

  • docs/ci: rewrite the “farm maintenance ^ other change” rule to mean what we actually meant

  • ci: skip dEQP-VK.api.driver_properties.conformance_version for everyone

  • pick-ui: use assignment expressions

  • pick-ui: use more expressive variable names

  • pick-ui: add `Backport-to: XX.Y` nomination

  • v3d/ci: move traces job to wayland

  • ci: print deqp version in the job log

  • ci/b2c: move to the shiny new `gfx-ci/ci-tron` repo

  • ci/b2c: use latest mesa-trigger image

  • include/dri_interface.h: restore define mistakenly removed in !25587

  • ci_run_n_monitor: dependency jobs must always be started

  • util/xmlconfig: drop driInjectDataDir() now that DRIRC_CONFIGDIR is always supported

  • util/xmlconfig: inline datadir

  • ci/b2c: change artifacts path to match baremetal and LAVA

  • VERSION: bump for rc1

  • .pick_status.json: Update to e64a97694ac9dc97f65e1a8e91a5c9789109fd2c

  • .pick_status.json: Update to 4cdd094ae1e97d857a6b9dbc291d7bbe6ea266ac

  • .pick_status.json: Update to e4a1bc70dd739ca8addddc940af08312b038e288

  • .pick_status.json: Update to faed5d647f2416bb0ce3a9d33a3955169c70dc52

  • VERSION: bump for 23.3.0-rc2

  • .pick_status.json: Update to 1f1ec1c6bcc2a32a3c1df8c2cc7a2f4e7139b7ec

  • .pick_status.json: Mark 8dda860f83ac30d042dc6beb4438cc925d1fd130 as denominated

  • .pick_status.json: Update to 7d6f9ccfbeab050c26775d5e03578a01526cbfcb

  • .pick_status.json: Update to aa33ca0a52591961f8ae01dc253354462ed17c18

  • .pick_status.json: Update to a77ea9555aa00cc12f3d1c440252e940ff552500

  • .pick_status.json: Mark 227300345ed38377190b0eaf08694d5c42ee7e60 as denominated

  • VERSION: bump for 23.3.0-rc3

  • .pick_status.json: Update to 56451ce773c11094a8c08fdc6b500bb8bdcf37e1

  • .pick_status.json: Mark fa7ec4226bdf48bf63438e303af83ecd58ec95f2 as denominated

  • .pick_status.json: Update to 08f851f4361cfbdb211dc70d03cf3ebff331c3ee

  • .pick_status.json: Update to 03a7cb261828b350dd9b56bd74850197ca9eba33

  • .pick_status.json: Mark fcfa68a632e5711cc657b103c9a0384928e9bf49 as denominated

  • VERSION: bump for 23.3.0-rc4

  • .pick_status.json: Update to f05688aa3299a27430119b27e45181a6f415bff8

  • egl/dri2: increase NUM_ATTRIBS to fit all the attributes

  • .pick_status.json: Update to f39ed0063b4cd3e5a71efad2d43ce31f574c698d

  • .pick_status.json: Update to b07a58157d0b110dbc09a42cffe7046c3200dd3b

  • VERSION: bump for 23.3.0-rc5

  • .pick_status.json: Update to f843b14c171299e1696ca6d971ccaa496f60c3ab

  • intel/perf: fix regex escaping

  • intel/ci: fix .hasvk-manual-rules

  • VERSION: bump for 23.3.0

  • Revert “VERSION: bump for 23.3.0”

  • docs: add release notes for 23.3.0

  • Revert “docs: add release notes for 23.3.0”

Erico Nunes (10):

  • lima/ppir: don’t optimize loads with different block successors

  • lima/ppir: convert to nir_legacy

  • lima/gpir: switch to register intrinsics

  • egl/drm: fix EGL_EXT_buffer_age with gbm contexts

  • lima: fix plbu block stride calculation

  • ci: disable lima LAVA lab for maintance

  • Revert “ci: disable lima LAVA lab for maintance”

  • v3dv: allow headless device without display device

  • Revert “ci/lima: farm is down, disable for now”

  • v3dv: Rework to remove drm authentication for wsi

Erik Faye-Lund (30):

  • meson: report with_glvnd in summary

  • docs: upgrade bootstrap to 5.3.1

  • docs: expand mobile-menu without js

  • panfrost: delete stale editorconfig file

  • docs/panfrost: link to lima

  • docs/panfrost: use code-blocks with wrapping for long blocks

  • docs/panfrost: use math-role to denote powers of two

  • docs: fix linkcheck

  • docs: update a few links to https

  • docs: update anchor for link

  • docs: update link to git-wiki

  • docs: link to upstream etnaviv

  • docs: apply some trivial redirects

  • docs: use doc-role when linking to lists article

  • docs: keep up with intels ever-moving documentation

  • docs: mark some redirects as allowed

  • docs: only link to old docs from html

  • docs: use html_static_path for static files

  • ci/etnaviv: update ci expectation

  • ci/etnaviv: allow failure on failing test

  • zink: fix wording of warning

  • ci/etnaviv: move failure to flake

  • meson: add wayland-protocols from meson wrapdb

  • util/xmlconfig: add an env-var for overriding drirc search dir

  • meson: add src/util to the drirc search path

  • docs/relnotes: remove cruft from end of lines

  • docs/ci: escape at-symbols

  • docs/relnotes: escape some at-symbols

  • bin/gen_release_notes: escape at-symbols

  • panfrost: use perf_debug instead of open-coding

Faith Ekstrand (809):

  • nv50/ir: Convert to new-style NIR registers

  • nv50/ir: Support vector movs

  • intel/fs: Add support for new-style registers

  • intel/vec4: Assume get_nir_dest() provides a sane write-mask

  • intel/vec4: Add support for new-style registers

  • intel: Switch to intrinsic-based registers

  • intel/fs: Drop support for nir_register

  • intel/vec4: Drop support for nir_register

  • anv,hasvk,iris: sampler_prog_key::swizzles is only used on crocus

  • nir: Properly handle divergence for load_reg

  • nir/trivialize: Maintain divergence information

  • nir/trivialize: Trivialize cross-block loads

  • vc4: Convert to new-style NIR registers

  • nir/schedule: Support load/store_reg

  • broadcom/compiler: Convert to new-style NIR registers

  • intel/fs: Use write masks from store_reg intrinsics

  • intel/fs: Rework the overlapping mov/vec case

  • intel/fs: Assume NIR is in SSA form

  • nir: Add a backend_flags field to nir_tex_instr

  • intel/fs: Add a parameter to speed up register spilling

  • nir/builder: Allow tex helpers on image types

  • nir/builder: Add a nir_txs_deref() helper

  • vulkan: Add a core vk_buffer_view struct

  • vulkan: Add a more direct way to use a NIR shader

  • vulkan: Add a vk_query_pool base object

  • vulkan: Add common vkCmdBegin/EndQuery wrappers

  • vulkan/format: Add the remaining 1-plane YCbCr formats

  • vulkan: Add a core vk_sampler struct

  • nv50/nir: Lower to scratch AFTER optimization

  • nouveau: Allow GLSL_SAMPLER_DIM_SUBPASS*

  • nouveau/nir: Implement support for compact arrays

  • nouveau/codegen: Handle/indirect goes before sample index

  • nouveau/codegen: Use a NULL format for PIPE_FORMAT_NONE for images

  • nouveau/codegen: Don’t convertSurfaceFormat for unknown formats

  • nv50/ir: Run nir_divergence_analysis before out-of-SSA

  • anv: Use vk_sampler

  • anv: Use vk_buffer_view

  • vulkan: Add init/finish helpers for vk_query_pool

  • anv: Use vk_query_pool

  • anv: Use the common versions of vkBegin/EndQuery()

  • nir/builder: Don’t assume we have compiler options

  • Revert “mesa, compiler: Move gl_texture_index to glsl_types.h”

  • Revert “compiler: Combine duplicated implementation of is_gl_identifier into glsl_types.h”

  • vulkan: Use VkBufferUsageFlags2 in vk_buffer

  • clang-format: Set ColumnLimit to 78

  • nvk: Implement EnumerateInstanceVersion

  • nvk: Add stub implementations of VkImage and VkImageView

  • nvk: Add stub implementation of VkSampler

  • nvk: Add a stub implementation of VkBuffer

  • nvk: Implement VkDescriptorSetLayout

  • nvk: Implement VkPipelineLayout

  • nvk: Add initial descriptor set lowering

  • nvk: Implement vkUpdateDescriptorSets

  • nvk: Expose nvk_descriptor_stride_align_for_type

  • nvk: Re-format descriptor set layouts

  • nvk: Re-format pipeline layouts

  • nvk: Re-format descriptor sets some more

  • nvk/buffer: Take an offset in nvk_buffer_address

  • nvk/buffer: Add a push_buffer_ref helper

  • nvk/copy: Use nvk_buffer_address in CmdCopyBuffer

  • nvk/image: Add image address helpers

  • nvk/copy: Use nvk_image_base_address()

  • nvk: Add an nvk_device_physical helper

  • nvk: Add a skeleton for pipelines

  • nvk: Re-arrange nvk_descriptor_set.h a bit

  • nvk: Reformat nvk_nir_lower_descriptors

  • nvk: Add a couple descriptor set address helpers

  • nvk: Move nvk_cmd_pool cast definitions

  • nvk: Rework whitespace in nvk_cmd_buffer.c

  • nvk: Add a root descriptor table

  • nvk: Fetch descriptor set addresses from the root table

  • nvk: Re-arrange nir_lower_explicit_io a bit

  • nvk: Lower load_global_constant_offset

  • nvk: Drop image_view_init

  • nvk: Stop returning VK_ERROR_FORMAT_NOT_SUPPORTED for non-blitable

  • nvk: Allow R32_UINT

  • nvk: Mark nvk_push_descriptor_set_ref() inline

  • nvk: Add a descriptor table data structure

  • nvk: Copy in the nouveau TIC format table

  • nvk/image_view: Reformat and fix Create/DestroyImageView

  • nvk: Add an image descriptor table to the device

  • nvk: Fill out TIC table entries for image views

  • nvk: Set b->cursor when lowering image intrinsics

  • nvk: Unify descriptor loading in lower_descriptors

  • nvk: Re-format nvk_image_view.h a bit

  • nvk: Re-format nvk_buffer.c a bit

  • nvk: Add a stub implementation of buffer views

  • nvk: Make texture descriptors a bit more acceptable to codegen

  • nvk: GART os host-cache-coherent

  • nvk: Reserve a null image descriptor

  • nvk: Rework descriptor writes

  • nouveau: Add stubs for an image layout library called NIL

  • nil: Create images

  • nil: Add the TIC format table from nouveau

  • nil: Add a nil_view and code to fill out TIC entries

  • nvk: Add an nvk_get_format helper

  • nvk: Use helpers for push_ref

  • nvk: Align arguments consistently in copy/blit code

  • nvk: Move Fill/UpdateBuffer to nvk_cmd_copy

  • Revert “nvk: Stop returning VK_ERROR_FORMAT_NOT_SUPPORTED for non-blitable”

  • nvk: Manually offset for array layers in copy/blit

  • nvk: Convert to using NIL for image layout

  • nvk: Re-indent image entrypoints

  • nvk: Implement VkGetImageSubresourceLyout

  • nvk: Reset and properly clean up command buffer upload areas

  • nvk: Rework format features queries

  • nvk: Add a more competent GetPhysicalDeviceImageFormatProperties

  • nvk: Support compressed images in copy commands

  • nvk: Drop vk_sync BO refs after push_submit

  • nil: Drop miptail support for now

  • nil: Don’t minify image dimensions when setting up TIC

  • nil: Refactor TIC image extent setup

  • nil: Fix image array layer alignments

  • nvk: Teture pool sizes are maximums not sizes

  • nvk: Re-format nvk_sampler.c

  • nvk: Implement samplers

  • nil: Add a helper for filling out buffer TIC entries

  • nvk: Move is_storage_image_format to nvk_format.c

  • nvk: Implement buffer views

  • nvk: Advertise KHR_dedicated_allocation

  • nvk: Use the correct root descriptor table size for CmdDispatch

  • nvk: Add support for dynamic buffers

  • nvk: Better advertise image format features

  • nvk: Advertise descriptor array indexing

  • nvk: Advertise non-zero descriptor set limits

  • nvk: Use a descriptor type instead of a hand-rolled thing

  • nvk: Handle cube storage images properly

  • nvk: Load the requested descriptor size

  • nvk: Implement push constants

  • nvk: Properly indent a comment

  • nvk: Fix descriptor offset alignment

  • nvk: Use a switch for descriptor types in load_descriptor

  • nvk: Support inline uniform blocks

  • nvk: Delete the storage TIC in nvk_image_view_destroy

  • nvk: Assert that we don’t double-free descriptors

  • nvk: Initial vkCmdClearImage support

  • nvk: Unconditionally zero image format properties

  • nvk: No-op sparse image format properties

  • nvk: Advertise minUniformBufferOffsetAlignment

  • nvk: Rework OOM handling for descriptor pools

  • nvk: Bind immutable samplers on descriptor set creation

  • nvk: Padd shader BOs by 4K to avoid I-cache overflow

  • nvk: Include nvk_private.h in everything

  • nvk: Make image/buffer address helpers const

  • nouveau/push: Add a P_INLINE_FLOAT helper

  • nvk: Init WSI after setting up supported_sync_types

  • nouveau/parser: Fix an integer overflow and a typo

  • nouveau/parser: Properly dump most arrays used by 3D

  • nouveau/parser: Better dump float data

  • nouveau/parser: Handle arrays properly in P_IMMD()

  • nouveau/push: Make P_IMMD more versatile

  • nouveau: Null terminate the debug flag list

  • nouveau: Generate 3D headers

  • nvk: Add graphics state to command buffers

  • nvk: Split pipeline binding into helpers

  • nvk: Switch to vk_pipeline_shader_stage_to_nir

  • nvk: Don’t free the NIR in nvk_compile_nir

  • nvk: Add an nvk_shader_address helper

  • nvk: Free pipeline shader BOs

  • nvk: Expose pipeline alloc/free functions

  • nvk: Make shader_upload take an nvk_device

  • nvk/shader: Assign I/O locations and gather info

  • nvk/shader: Populate headers for vertex and fragment shaders

  • nvk: Add a nvk_cmd_buffer_device() helper

  • nvk: Import 3D context init code from nouveau

  • nil/format: Add helpers for render formats

  • nvk: Add boilerplate for Begin/EndRendering

  • nvk: Misc. additional state setup

  • nvk: Emit dynamic graphics state

  • nvk: Implement push constants and descriptors for graphics

  • nouveau: Add CPU push buffers

  • nvk: Graphics pipelines

  • nvk: Implement vkCmdDraw()

  • nvk: Color attachments clears via image clears

  • vulkan/meta: Add the start of a meta framework

  • vulkan/meta: Add an object tracking list

  • vulkan/meta: Add a concept of rect pipelines

  • vulkan/meta: Implement attachment clears

  • vulkan/meta: Implement start-of-rendering clears

  • vulkan/meta: Add implementations of Clear*Image

  • nvk: Add an attachment format even for secondaries

  • nvk: Add an addr field to nvk_buffer

  • nvk: Expose a bind_vertex_buffer helper

  • nvk: Use vk_meta for CmdClearAttachments

  • nvk: Stop using vk_cmd_set_dynamic_graphics_state in meta_end()

  • nvk: Enable all the dynamic state features

  • nouveau: Fix pushbuf ref reset for user command buffers

  • nvk: add linear image creation support.

  • nvk: Use max alignment for descriptor pool sizes

  • nil: Switch to using the new headers for TIC entries

  • nvk: Use meta for CmdClear*Image

  • nvk: Zero client memory objects

  • nvk: Bind texture and sampler header pools for 3D

  • nvk: Use the new headers for samplers

  • nvk: Implement nir_intrinsic_load_frag_coord

  • vulkan/meta_clear: Populate VkRenderingInfo::renderArea

  • nvk: Don’t assert when there are no attachments

  • nvk: Track and reference all device memory objects

  • vulkan: Allow scissors or viewports to be set without counts

  • nvk/copy: Mape bpp part of nouveau_copy_buffer

  • nvk: Implement copies for D24_UNORM_S8_UINT images

  • nvk: Drop sample locations structs

  • nvk/meta: Save and restore VI state

  • nvk: Re-initialize dynamic_graphics_state.vi when recycling

  • nvk: Move the vertex format table into nvk_format.h

  • nvk: Advertise vertex buffer format featues

  • nvk: Clean up try_create_physical_device error handling

  • nouveau/parser: Dump more fields as float

  • nvk: Depth bounds need fui()

  • nouveau: Add class information to nouveau_ws_device

  • nil: Properly depend on nouveau winsys and nvidia-headers

  • nil: Use nvidia headers for texture format enums

  • nil: Use the nvidia headers for render target format enums

  • nil: Use nvidia headers for ZS format enums

  • nil: Rename rt to czt in the format info struct

  • nil: Rename rendering to color_target

  • nil: Re-introduce the format capabilities

  • nil: Add more format support helpers

  • nvk: Advertise more format features

  • nvk: Clear dynamic state dirty after flushing it all

  • vulkan/meta: Make stencil reference dynamic for clears

  • nvk: Depth buffers don’t allow Z-tiling

  • nvk: Disable sparse Z on Maxwell+

  • nil: Compute PTE kinds and tile modes for images

  • nouveau: Add a function to allocate a tiled buffer

  • nvk: Add internal helpers for device memory allocation

  • nvk: Do internal dedicated allocations for ZS images

  • nvk: Fix depth/stencil render pass clears

  • nvk: Fix viewport Z scale

  • nvk: Enable two-sided stencil

  • nvk: Flip the front-face setting

  • nvk: Advertise depth/stencil support

  • nvk: Don’t destroy NULL descriptor pool BOs

  • nvk: Call nir_lower_input_attachments

  • nvk: Set GEOMETRY_SHADER_SELECTS_LAYER properly

  • nvk: Return OUT_OF_DEVICE_MEMORY if bo_new fails

  • nil: Add a PTE kind for Z32_FLOAT

  • nvk: Add nvk_queue_init/finish() helpers

  • nvk: Align descriptor buffers to NVK_MIN_UBO_ALIGNMENT

  • nvk: Re-flow a couple function prototypes

  • nvk: Assert samples == 1

  • nvk: Allocate descriptors for input attachments

  • nvk: Wire up early z and post depth coverage

  • nvk: Save/restore push constants around meta ops

  • nouveau/parser: Add array and float tags for clear values

  • nvk: Use hardware clears for attachment clears

  • nvk: Add image_view_init/finish functions

  • nvk: Implement vkCmdClear*Image directly

  • nvk: Use a UINT format to clear non-renderable images

  • nvk: Don’t advertise tiling on non-power-of-two formats

  • nvk: Fix max anisotropy

  • nvk: Assert on CmdExecuteCommands

  • nvk: VkSamplerCreateInfo::mipLodBias is signed

  • nvk: Fix border color alpha

  • nil/format: Depth/stencil formats appear as red

  • nil: Fix max mip level

  • nil: Fix nonnormalized coordinates

  • nvk: Set up clip and cull distances

  • nvk: Fix dynamic buffer descriptor copies

  • nvk: Inline nouveau_copy_linear

  • nvk/copy: Rename push to p

  • nvk/blit: Rename push to p

  • nvk/dispatch: Rename push to p

  • nvk: Drop most buffer tracking

  • nvk: Rework TLS/SLM and image/sampler table handling

  • nvk: Invalidate texture header and sampler caches each submit

  • nvk/sampler: Free descriptor table entries

  • nvk: Rework nvk_descriptor_table_add/remove

  • nvk: Implement descriptor table growing

  • nvk: Zero unused descriptors

  • nvk: Add some asserts for nv50 compiler image restrictions

  • nvk: Update to the new command buffer infrastructure

  • nvk: Split nvk_queue into its own file

  • nvk: Start every command buffer with a nop

  • nvk: Initialize fixed draw/default state once

  • nouveau/parser: Convert to mako

  • nouveau/parser: Use more idiomatic python

  • nouveau/parser: Put the dump helpers in C files

  • nvk: Use f for extension features

  • nvk: Drop a TODO

  • nvk: Use VK_IMAGE_USAGE_*_ATTACHMENT_BIT for image clears

  • nvk: Increase the graphics pipeline push space

  • nil: Don’t claim texture support for 2-bit SNORM

  • nouveau/push: Fix a void pointer arithmetic bug

  • nouveau/parser: Add more arrays

  • nouveau/mme: Add basic structures for the Turing+ MME

  • nouveau/mme: Add isaspec XML for the Turing+ MME

  • nouveau/mme: Add an assembler and disassembler for the Turring+ MME

  • nouveau/mme: Add a builder for the Turing+ MME

  • nouveau/mme: Add a tiny simulator for the Turing+ MME

  • nouveau/mme: Add an isaspec-based dumper

  • nouveau/mme: Make the winsys headers C++ safe

  • nouveau/mme: Add unit tests for the Turing+ MME simulator

  • nvk: Add MME infrastructure

  • nvk: Use MME for clears

  • nouveau/mme: Add helper macros for setting fields

  • nvk: Use MME for vkCmdDraw[Indexed]()

  • nvk: Implement vkCmdDraw[Indexed]Indirect()

  • nvk: Use p for the nouveau_ws_push_buffer in zero_vram

  • nouveau: Add an nv_push struct

  • nouveau: Rename the fields of vk_push

  • nouveau: Move nv_push and helpers to their own header

  • nouveau/parser: Take a FILE* in DUMP_*_MTHD_DATA

  • nouveau: Move push validate to nv_push.c

  • nouveau: Move push dumping to nv_push.c

  • nvk: Use nv_push directly for graphics pipelines

  • nouveau: Add a nouveau_ws_bo_new_mapped helper

  • nvk: Use bo_new_mapped for the zero page

  • nvk: Always allocate empty_push

  • nvk: Move queue_sumbit to nvk_queue_drm_nouveau.c

  • nvk: Submit pushbufs directly

  • nvk: Use a regular BO for the empty push

  • nvk: Use a regular BO for the queue state push

  • nvk: Add an nvk_queue_submit_simple helper

  • nvk: Initialize the queue later in device setup

  • nvk: Use submit_simple for draw state init

  • nvk: Use queue_submit_simple for zero_vram

  • nvk: Break nvk_cmd_pool into its own file

  • nvk: Use cmd instead of cmd_buffer

  • nvk: Add BO recycling to the command pool

  • nvk: Return VkResult from nvk_cmd_buffer_upload_alloc

  • nvk: memcpy root descriptors for compute instead of doing a DMA

  • nvk: Fully populate QMDs before uploading

  • nvk: Constant buffer alignment is actually 64B

  • nvk: Rework side-band data upload

  • nvk: Add an nvk_cmd_buffer_push helper

  • nvk: Add an nvk_cmd_buffer_ref_bo helper

  • nvk: Allocate upload buffers from the command pool

  • nvk: Use nvk_cmd_bo for push bufs

  • nvk: Implement vkCmdExecuteCommands()

  • nvk: Remove remaining references to nouveau_push.h

  • nouveau: Use DRM interfaces directly in MME tests

  • nouveau: Drop nouveau_ws_push

  • nvk: Re-indent vk_instance.c

  • nvk: Use vk_object_zalloc/free for descriptor pools/sets

  • nvk: Fix up whitespace in nvk_descriptor_set.c

  • nvk: Implement VK_KHR_push_descriptor

  • nvk: Reference descriptor set layouts in the sets themselves

  • nvk: Embed a nv_device_info in nvk_physical_device

  • nvk: Add an nvk_queue_submit wrapper

  • nvk: Also store the push BO map in nvk_queue_state

  • nvk: Bring back push sync and dumping

  • nvk: drop nvk_nir.h

  • nvk: Add lowering for load_global_constant_bounded

  • nvk: Properly implement robustBufferAccess

  • vulkan/meta: Add key types

  • vulkan/meta: Add a helper for image view types

  • vulkan/meta: Add a create_sampler helper

  • vulkan/meta: Fixes for clear

  • vulkan/meta: Implement vkCmdBlitImage()

  • nvk: Support load_layer_id

  • nvk/meta: Save/restore descriptor set 0

  • nvk: Use meta for doing blits with the 3D hardware

  • nvk: WFI in pipeline barriers

  • util/vma: Allow initializing zero-size heaps

  • nvk: Rework nvk_queue_submit_simple()

  • nvk: Add a heap data structure

  • nvk: Return a VkResult from nvk_shader_upload()

  • nvk: Add a shader heap to nvk_device

  • nvk: Allocate shaders from a heap

  • nvk: Rework whitespace in nvk_device_memory.c

  • nvk: Style fixes in nvk_physical_device.c

  • nvk: Reset semaphore syncs on wait

  • nvk/wsi: Style fixes

  • nvk/wsi: Use the common present implementation

  • nouveau/parser: Parse all fields in each method

  • nvk: Add a query pool object

  • nvk: Implement timestamp queries

  • nvk: Implement pipeline statistics and occlusion queries

  • nouveau/mme: Allow ZERO as the destinatio nof mme_load_to

  • nouveau/mme: Assert on OOB registers

  • nouveau/mme: Add support for freeing registers

  • nouveau/mme: Add a couple helpers for working 64-bit addresses

  • nouveau/mme: Add a helper for MME_DMA_READ_FIFOED

  • nvk: Use mme_tu104_read_fifoed()

  • nvk: Implement vkCmdCopyQueryPoolResults()

  • nvk: Handle large command buffer uploads better

  • nvk: Use a normal DMA for CmdUpdateBuffer

  • nouveau/parser: Handle 6F methods

  • nvk: Use mme_load_addr64()

  • nvk: Use poll for BO waits

  • nvk: Events

  • nvk: Don’t crash if we fail to allocate a push BO

  • nvk: Stop leaking command pool BOs

  • nvk: Enable VK_KHR_create_renderpass2

  • nvk: Advertise VK_KHR_imageless_framebuffer

  • nvk: Flush the current pushbuf before allocating a new one

  • nvk: Advertise VK_KHR_separate_depth_stencil_layout

  • nvk: Tell WSI we don’t support legacy scanout

  • nouveau: Add PCI information to nv_device_info

  • nvk: Implement VK_EXT_pci_bus_info

  • nvk: Bind 3D images as 3D for clears

  • nvk: Support copies between 3D and 2D images

  • nil: Add a helper for getting 2D views of 3D images

  • nvk: Support 2D views of 3D images

  • nvk: Advertise VK_KHR_maintenance1

  • nvk: Use 2D array views for 3D storage images

  • nil: Fix include guards in nil_image.h

  • nvk: Advertise custom border color features

  • vulkan: Add a helper for swizzling color values

  • nvk: Implement VK_EXT_border_color_swizzle

  • nvk: Advertise VK_EXT_extended_dynamic_state3

  • nvk: Move more states to dynamic

  • nvk: Advertise VK_KHR_storage_buffer_storage_class

  • nvk: Add a helper for pushing descriptors

  • nouveau/headers: Add generated headers to dependencies

  • nvk: Implement VK_EXT/KHR_buffer_device_address

  • nvk: Break the guts of CmdDispatch into a helper

  • nvk: Implement DispatchIndirect

  • nouveau/mme: Add a mul64 helper

  • nvk: Implement CS invocations statistics queries

  • nil: Use ONE for the anixotropic coarse spread function

  • nil: Properly support MSAA

  • nil: Add an offset4d struct and some helpers

  • nouveau/parser: Sort METHOD_ARRAY_SIZES

  • nouveau/parser: Handle SET_ANTI_ALIAS_SAMPLE_POSITIONS

  • nvk: Stop asserting on MSAA

  • nvk: Handle zero color attachments better

  • nvk: Handle multisampled render targets properly

  • nvk: Support copies of MSAA images

  • nvk: Use the right view format for stencil texturing

  • nvk: Pass through a shader key for fragment shaders and MSAA

  • nvk: Set correct multisample regs for graphics pipelines

  • nvk: Stop creating a new upload BO every time

  • nvk: Fill out sample locations on Maxwell B+

  • vulkan/meta: Bind whole LODs of 3D blit destinations

  • vulkan/meta: Add a helper for building texture ops

  • vulkan/meta: Break the guts of blit into a helper

  • vulkan/meta: Support writing stencil as iterative discard

  • vulkan/meta: Rename vk_meta_blit.c to vk_meta_blit_resolve.c

  • vulkan/meta: Add support for MSAA resolves

  • nvk/meta: Fix restore for descriptor set 0

  • nvk: Use meta for MSAA resolves

  • nvk: Replace gl_SamplePosition with fract(gl_FragCoord.xy)

  • nvk: Stop advertising higher framebufferNoAttachmentsSampleCounts

  • nvk: Advertise MSAA via image format properties

  • nvk: Advertise VK_KHR_depth_stencil_resolve

  • nvk: Assert that descriptor buffer access stays in-bounds

  • nvk: Add a bo size to nvk_descriptor_set

  • nvk/format: Style fix for VkFormatProperties3KHR

  • nvk: Support VK_FORMAT_B10G11R11_UFLOAT_PACK32 for vertex buffers

  • nvk: Add a devenv ICD json file

  • nvk: Advertise EXT_vertex_attribute_divisor

  • nvk: Lower image_size to txs

  • nvk: Fix a comment

  • nvk: Add an nvk_buffer_addr_range helper

  • nvk: Use nvk_buffer_addr_range for buffer descriptors

  • nvk: Re-order Vulkan 1.0 feature bits

  • nvk: Enable inheritedQueries

  • nvk: Enable VK_EXT_provoking_vertex

  • nvk: Advertise samplerMirrorClampToEdge via 1.2 features

  • nvk: Advertise VK_KHR_bind_memory2

  • nvk: Enable KHR_dynamic_rendering

  • nvk: Advertise KHR_uniform_buffer_standard_layout

  • nvk: Advertise EXT_index_type_uint8

  • nvk: Advertise VK_EXT_separate_stencil_usage

  • nvk: Capitalize NVK in user exposed strings

  • nvk: Rename grid_size to group_count

  • nvk: Lower load_num_workgroups ourselves

  • nvk: Drop block_size from the root descriptor table

  • nvk: Add a helper for loading resource_index-based descriptors

  • nvk: Set maxMemoryAllocationCount

  • nouveau/winsys: Take a drmDevicePtr in nouveau_ws_device_new()

  • nouveau/winsys: Add an info to nouveau_ws_device

  • nouveau/winsys: Move device type into nv_device_info

  • nouveau/nil: Take an nv_device_info for image functions

  • nouveau/nil: Use nv_device_info for format queries

  • nouveau/mme: Invoke SET_OBJECT in the tests

  • nouveau/mme: Make alu_op_to_str static

  • nouveau/mme: Move mme_value into its own header

  • nouveau/mme: Add a mme_reg_alloc struct

  • nouveau/mme: Add an intermediate MME_ALU_OP enum

  • nouveau/mme: Add an intermediate MME_CMP_OP enum

  • nouveau/mme: Use mme_mov() for temp copies of register IMM32 sources

  • nouveau/mme: Make helpers less Turing specific

  • nouveau/mme: Break the Turing builder guts into a separate header

  • nouveau/mme: Move the guts of mme_merge_to() into mme_tu104_builder.c

  • nouveau/mme: Move the guts of mme_state_arr_to() into mme_tu104_builder.c

  • nouveau/mme: Drop the implicit_imm parameter from mme_alu_to()

  • nouveau/mme: Move the cf_stack struct to mme_builder.h

  • nouveau/mme: Prepare the builder for multiple GPU generations

  • nouveau/mme: Take an nv_device_info in mme_builder_init

  • Support immediates in MERGE

  • Add add immediate optimizations

  • nvk: Add support for contiguous heaps to nvk_heap

  • nvk: Use a contiguous shader heap pre-Volta

  • nvk: Disable indirect draw/dispatch and query copy MMEs for now

  • nvk: Free a couple regs in nvk_mme_build_draw_*()

  • nvk: Properly align root descriptor tables for pre-Pascal

  • nvk: Compile all NIR before running codegen

  • vulkan/meta: Insert a geometry shader when needed

  • nvk: Use a GS for layerered rendering pre-MaxwellB

  • nvk: Handle zero-size index and vertex buffers pre-Turing

  • nvk: Cosmetic clean-ups to Create/DestroyDevice

  • nil: Only choose a PTE kind for tiled images

  • nouveau/mme: Fix is_int18 for negative numbers

  • nouveau/mme: Don’t swap x and y in mme_fermi_merge_to()

  • nouveau/mme: Take a const nv_device_info in mme_builder_init

  • nouveau/mme: Unify some of the test framework

  • nouveau/mme: Add some generic builder tests

  • nouveau/mme: Add builder tests for SUB

  • nouveau/mme: Use a uint32_t for size in mme_fermi_bfe()

  • nouveau/mme: nouveau/mme: Add builder tests for SLL and SRL

  • nvk/drm: Take a byte offset/range in push_add_push

  • nvk: Rework nvk_cmd_push a bit

  • nvk: Add a helper for pushing indirect data

  • nvk: Make some MME builder names more consistent

  • nouveau/mme: Don’t allow WaW dependencies in the same Turing instruction

  • nvk: Reduce register pressure in nvk_mme_build_draw*()

  • nouveau/push: Add an NV_PUSH_MAX_COUNT #define

  • nvk: Implement Draw*Indirect on pre-Turing

  • vulkan/meta: Use the new NIR texture helpers

  • nvk: Add a build test for MMEs

  • nvk: Don’t over-size push descriptor sets

  • nvk: Return VK_ERROR_INCOMPATIBLE_DRIVER if the PCI vendor isn’t NVIDIA

  • nvk: Bump init context batch size

  • nouveau/mme: Fix nested while instructions on Turing+

  • nouveau/mme: Add a helper to dump instructions

  • nvk: Rework extension enables

  • nvk: Rework features enables

  • nvk: Advertise shaderImageGatherExtended

  • nouveau/mme: Add a bfe helper

  • nouveau/mme: Ensure that zero-initizlied mme_value is ZERO

  • nvk: De-duplicate MME code for setting draw params

  • nvk: Clamp viewport clip to max range

  • nvk: Use the same lock for the submit and the memory objects list

  • nvk: Advertise ICD/loader interface version 4

  • nvk: Add instace WSI entrypoints

  • nouveau/mme: Use ADD for ine with an immediate

  • nouveau/mme: Fix while loops pre-Turing

  • nvk: Add begin to mme_scratch

  • nvk: Use the new load/store_scratch helpers for DRAW_PAD_DW

  • nouveau/mme: Add a helper for re-allocating registers

  • nvk: Rework spill helpers and DRAW_COUNT spilling

  • nvk: Spill DRAW_IDX pre-Turing

  • nvk: Break the inner MME draw loop into a helper

  • nvk: Increase the push runout to 512 dwords

  • nil: Add a nil_image_for_level helper

  • nil: Add an image_level_as_uncompressed helper

  • nvk: Implement uncompressed views of compressed images

  • nvk: Set pointClippingBehavior

  • nvk: Expose VK_KHR_maintenance2

  • nvk: Add a separate #define for SSBO alignment

  • nvk: Set spirv_to_nir_options::min_*_alignment

  • nvk: Use vk_device_memory

  • nvk: Implement VK_KHR_map_memory2

  • nvk: Sort SPIR-V caps

  • nvk: Advertise EXT_shader_viewport_index_layer on MaxwellB+

  • nvk: Only use view_id for layer in multiview

  • nvk/heap: Set the right pitch for heap resize copies

  • nvk: Advertise shaderStorageImageReadWithoutFormat

  • nvk: Fix the NO_PREFETCH assert for CmdDrawIndirect

  • nvk: Advertise KHR_spirv_1_4

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

  • nvk: Add helpers for binding image planes

  • nvk: Take an nvk_image_plane in nouveau_copy_rect_image

  • nvk: Use the max descriptor alignemtn in GetDescriptorSetLayoutSupport

  • nvk: Use NVIDIA_VENDOR_ID in pdev try_create()

  • nvk: Use abbreviated names in nvk_device_memory.c

  • nvk: Add device and driver UUIDs

  • nvk: Add external memory queries

  • nvk: Dedicated allocations override internal

  • nvk: Require dedicated allocations for external images

  • nouveau/winsys: Add dma-buf import support

  • nvk: Support dma-buf import

  • nvk: Support dma-buf export

  • nvk: Enable external memory extensions

  • nvk: Reformat nvk_buffer.c

  • nvk: Add a buffer alignment helper

  • nvk: Add an addr field to nvk_image_plane

  • nvk: Use canonical variable names in nvk_physical_device.c

  • nvk: Use canonical variable names in nvk_shader.c

  • nvk: Use canonical variable names in nvk_bo_sync.c

  • nvk: Use canonical variable names in nvk_sampler.c

  • nvk: Drop nvk_physical_device::instance

  • nvk: Only advertise EXT_pci_bus_info on discrete GPUs

  • nouveau: Put PCI info in a pci substruct in nv_device_info

  • nouveau: Stop using hex for SM numbers

  • nvk: Set deviceType based on nv_device_info::type

  • nouveau: Move more stuff into nv_device_info

  • nouveau: Move gart_size to nv_device_info

  • nvk: Use nv_device_info for class checks

  • nvk: Rename nvk_device::ctx to ws_ctx

  • nvk: Add a ws_dev to nvk_device and use it

  • nvk: Move the winsys device to nvk_device

  • nvk: Don’t enumerate pre-Kepler GPUs

  • nvk: Implement VK_EXT_physical_device_drm

  • nvk: Require an environment variable for poorly tested hardware

  • nvk: Use the new core vk_sampler struct

  • Revert “vulkan: Allow scissors or viewports to be set without counts”

  • vulkan/meta: Add a get_pipeline_layout helper

  • vulkan/meta: Use vk_meta_get_pipeline_layout in blit/resolve

  • nvk: Bind 3D depth/stencil images as 2D arrays

  • nvk: Flush more state on VI_BINDINGS_VALID dirty

  • nvk: Don’t skip zero-size bindings in GetDescriptorSetLayoutSupport

  • docs: Add a docs page for NVK

  • docs: Add NVK to features.txt

  • docs/relnotes: Stick something about NVK in new_features.txt

  • nouveau: Drop GART size from nv_device_info

  • nil: Add a nil_image_level_extent_px() helper

  • nvk: Use the new NIL helper for image level extents for copies

  • nvk: Improve image format properties and limits

  • nvk: Rework multi-plane format features a bit

  • nvk: Use nvk_root_descriptor_offset for drawInfoBase

  • nvk: Add a root_desc_addr to the root descriptor table

  • nvk: Add support for variable pointers

  • nvk: Enable the SPIR-V DeviceGroup capability

  • nvk: Separate the MME query copy code out a bit

  • nvk: Implement CopyQueryPoolResults with a compute shader

  • nvk: Misc. style nits

  • nvk: Rework memory requirements to handle aspects correctly

  • nvk: Implement the maintenance5 image layout queries

  • nvk: Use VkBufferUsageFlags2

  • nvk: Implement CmdBindIndexBuffer2KHR

  • nvk: Implement GetRenderingAreaGranularityKHR

  • nvk: Decorate CmdBegin/EndRendering entrypoints

  • nouveau: Move shader topology info to nv_device_info

  • drm-uapi: Import nouveau_drm.h

  • nouveau/winsys: Use the imported nouveau_drm.h headers

  • nvk: Use the imported nouveau_drm.h headers

  • nouveau/shim: Use the imported nouveau_drm.h headers

  • nouveau/mme: Support the new UAPI

  • nvk: Use an empty EXEC for the empty submit case

  • nouveau/winsys: Allow nouveau_ws_device_new() without VM_BIND

  • nvk: Print an error message if VM_BIND support is missing

  • nvk: Enable the new UAPI

  • nvk: Use more consistent device variable names

  • nvk: Call nir_lower_int64

  • nir/gl: Move glsl_type::sampler_target() into a helper in its one caller

  • nvk: Remove plane sources from tex instructions

  • nvk: Use common physical device properties

  • nv50/ir: Rework conversions for texture array indices

  • clang-format: Add nir_foreach_reg_*

  • clang-format: nir_foreach_src is not a foreach macro

  • clang-format: Set the default ColumnLimit to 0

  • nir: Re-align a couple enums and add clang-format comments

  • nir: Don’t clang-format const_value helpers

  • nir: Don’t clang-format a couple typedefs

  • nir: Don’t clang-format debug print setup

  • nir: More manual formatting

  • nir: Pretty format type mapping helpers

  • nir: Wrap pass macros in braces

  • nir: Add a do to the do/while in nir_const_value_t_array()

  • nir: Add a .clang-format file

  • nir: clang-format src/compiler/nir/*.[ch]

  • nvk: Don’t use nir_ssa_for_src()

  • nir: Drop most instances of nir_ssa_dest_init()

  • nir: Drop more instances of nir_ssa_dest_init()

  • nir/clone: Clone nir_def nor nir_dest

  • nir/serialize: [De]serialize nir_def nor nir_dest

  • nir: Drop nir_ssa_dest_init()

  • nir: Drop nir_ssa_dest_init_for_type()

  • nir: nir_foreach_ssa_def() -> nir_foreach_def()

  • st,zink,sfn: Use nir_foreach_def instead of nir_foreach_dest

  • dxil: Use nir_foreach_def() instead of nir_foreach_dest()

  • nir/from_ssa: Use nir_foreach_def() instead of nir_foreach_dest()

  • nir: Drop nir_foreach_dest()

  • intel/vec4: Stop passing around nir_dest

  • intel/fs: Stop passing around nir_dest and nir_alu_dest

  • broadcom: Stop using nir_dest directly

  • vc4: Stop passing around nir_dest

  • nir,ntt,a2xx,lima: Stop using nir_dest directly

  • lima: Stop using nir_dest directly

  • etnaviv: Stop passing around nir_dest

  • r600/sfn: Stop passing around nir_dest and nir_alu_dest

  • nv50/ir: Stop passing around nir_dest and nir_alu_dest

  • nir/gather_types: Stop passing around nir_dest

  • nir/dce: Stop passing around nir_dest

  • nir/propagate_invariant: Stop passing around nir_dest

  • nir/validate: Replace all dest validation with validate_def

  • nir/print: Replace all dest printing with print_def

  • nir: Get rid of nir_dest_bit_size()

  • nir: Get rid of nir_dest_num_components()

  • nir: Get rid of nir_dest_is_divergent()

  • nir: Drop nir_alu_dest

  • nir: Drop nir_dest

  • util/format: 8-bit interleaved YUV formats are UNORM

  • gallivm: Support G8B8_G8R8_422_UNORM and B8G8_R8G8_422_UNORM

  • blorp: Use R8G8_UINT for YCRCB_* formats with CCS

  • anv: Disable CCS_E for ISL_FORMAT_YCRCB_*

  • vulkan/format: Use correct swizzle for 1-plane YCbCr formats

  • gallivm: Drop the Vulkan YUV format hacks

  • nir: Rename nir_instr_type_ssa_undef to nir_instr_type_undef

  • nir s/nir_get_ssa_scalar/nir_get_scalar/

  • nir: s/live_ssa_def/live_def/

  • nir: s/nir_instr_ssa_def/nir_instr_def/

  • nir: Rework nir_scalar_chase_movs a bit

  • nir: Fix nir_op_mov handling in nir_collect_src_uniforms

  • nir: Handle nir_op_mov properly in opt_shrink_vectors

  • nir: Don’t handle nir_op_mov in get_undef_mask in opt_undef

  • nir: Clean up nir_op_is_vec() and its callers

  • nir/large_constants: Use nir_component_mask_t

  • nir/large_constants: Add read/write_const_values helpers

  • nir/opt_large_constants: Add Small constant handling

  • spirv: Re-emit constants at their uses

  • nir: Take a nir_def * in nir_tex_instr_add_src()

  • nir: Take a nir_def * in nir_phi_instr_add_src()

  • nir/opt_undef: Don’t rewrite a bcsel to mov

  • nir: Add a nir_instr_clear_src() helper and use it

  • nir: Add and use a nir_instr_init_src() helper

  • nir: Drop nir_if_rewrite_condition()

  • nir: Drop most uses of nir_instr_rewrite_src_ssa()

  • nir: Drop nir_instr_rewrite_src_ssa()

  • nir: Drop most uses if nir_instr_rewrite_src()

  • nir: Drop nir_instr_rewrite_src()

  • nir: Drop nir_push_if_src()

  • nir: Fix metadata in nir_lower_is_helper_invocation

  • nir: Use nir_shader_intrinsic_pass() a few places

  • drm-uapi: Sync nouveau_drm.h

  • nvk: Plumb no_prefetch through to the DRM back-end

  • nouveau/mme: Fix a compile warning

  • intel/isl: Rename ISL_TILING_Yf/s to ISL_TILING_SKL_Yf/s

  • intel/isl: Add ICL variants of Yf and Ys tiling

  • intel/isl: Implement correct tile size calculations for Ys/Yf

  • intel/isl: Use the depth field of phys_level0_sa for GFX4_2D 3D surfaces

  • intel/isl: Fill out the correct phys_total_extent for Ys/Yf/Tile64

  • intel/isl: Indent uncompressed surface code

  • intel/isl: Support Ys, Yf & Tile64 in isl_surf_get_uncompressed_surf

  • intel/isl: Support Yf/Ys tiling in surf_fill_state

  • intel/isl: Support Yf/Ys tiling in emit_depth_stencil_hiz

  • intel/isl: Add initial data-structure support for miptails

  • intel/isl: Add support for computing offsets with miptails

  • intel/isl: Support miptails in isl_surf_get_uncompressed_surf

  • intel/isl: Start using miptails

  • intel/isl: Disallow CCS on 3D surfaces with miptails

  • intel/isl: Allow Ys tiling

  • anv: Align memory VA to support for Ys, Tile64 tiled images

  • nvk: Clean up includes

  • nvk: Add include guards to nvk_bo_sync.h

  • nvk: SPDX everything

  • nouveau/nil: SPDX everything

  • nouveau/mme: SPDX everything

  • nvk: Don’t add a dummy attachment when gl_SampleMask is written

  • nvk: Set the discard bit for Z/S self-deps

  • nvk: Invalidate the texture cache in PipelineBarrier

  • nvk: Lower interp_at_sample to interp_at_offset

  • nvk: Disable statistics around meta ops

  • nvk: Clean up viewport math

  • nvk: Fix depth clipping parameters

  • nvk: Enable dynamic clip/clamp enable

  • nvk: Set GUARDBAND_Z_SCALE_1 when Z-clipping

  • r600: Use more auto-generated nir_builder helpers

  • r600: Use nir_builder helpers for load/store_shared_r600

  • nvk: Re-order physical device limits

  • nvk: Advertise maxMemoryAllocationCount = 4096

  • nvk: Advertise discreteQueuePriorities = 2

  • nvk: Rip out old UAPI support

  • nvk/drm: Drop the push_add_push_bo() helper

  • nvk/drm: Drop the push_add_bo() helper

  • nvk: Drop command buffer BO tracking

  • nvk: Drop memory object tracking

  • nvk: Drop the device-level mutex

  • nvk: Get rid of the tiled memory allocation helpers

  • nvk/drm: Restructure nvk_queue_submit_drm_nouveau()

  • nvk/drm: Split exec as needed for large command buffers

  • nvk: Don’t store the descriptor pool BO in the set

  • nvk: Store a 20-bit driver_build_sha in nvk_instance

  • nvk: Hook up the disk cache

  • nvk: Re-structure early shader compilation a bit

  • nvk: Add a default pipeline cache

  • nvk: Cache NIR shaders

  • nvk: Init pipelineCacheUUID

  • drm-uapi: Sync nouveau_drm.h

  • nvk: Take GETPARAM_EXEC_PUSH_MAX into account

  • nvk: Handle zero-sized sparse buffers

  • nvk: Use align() and align64() instead of ALIGN_POT

  • nouveau: Generate headers for Maxwell B compute

  • nvk: Add a nvk_cmd_buffer_compute_cls() helper

  • nvk: Invalidate sampler/texture header caches in BeginCommandBuffer()

  • nvk: Invalidate SKED caches at the top of command buffers

  • nvk: Advertise more inline uniform block limits

  • nvk: Emit MME_DMA_SYSMEMBAR before indirect draw/dispatch

  • nvk: Set max descriptors to 2^20 for most descriptor types

  • nvk: Reset descriptor pool allocator when all sets are destroyed

  • nil/format: Use A for alpha blend

  • nil/format: Advertise R10G10B10A2_UINT texture buffer support

  • nvk: Disable depth or stencil tests when unbound

  • nvk: Always emit at least one color attachment

  • nvk: Improve address space and buffer size limits

  • nvk: Always set pixel_min/max_Z to CLAMP

  • nvk: Use nouveau_ws_bo_unmap() instead of munmap()

  • nvk: Free the disk cache

  • nvk: Add an nvk_shader_finish() helper

  • nvk: Handle unbinding images and buffers

  • nvk: Clean up the disk cache on physical device create fail path

  • vulkan/wsi: Allow for larger linear images

  • nvk: Add a nvk_cmd_buffer_dirty_render_pass() helper

  • nvk: Re-sort device features

  • nvk: Implement VK_EXT_depth_bias_control

  • nvk: Advertise VK_KHR_workgroup_memory_explicit_layout

  • nvk: Implement VK_EXT_image_sliced_view_of_3d

  • nvk: Advertise VK_EXT_primitive_topology_list_restart

  • nvk: Advertise VK_EXT_attachment_feedback_loop_layout

  • features: Mark VK_EXT_attachment_feedback_loop_layout done for NVK

  • nvk: Re-arrange Vulkan 1.2 features to match the header

  • nvk: Advertise shaderOutputLayer and shaderOutputViewportIndex

  • nvk: Enable descriptorIndexing

  • nvk: Implement VK_EXT_dynamic_rendering_unused_attachments

  • nir: Add a nir_ssa_def_all_uses_are_fsat() helper

  • nir: Add convert_alu_types to divergence analysis

  • nir/lower_tex: Add a lower_txd_clamp option

  • nir: Add a load_sysval_nv intrinsic

  • nir: Add NV-specific texture opcodes

  • nir: Add an load_barycentric_at_offset_nv intrinsic

  • nir: Add a range to most I/O intrinsics

  • nir: Add NVIDIA-specific I/O intrinsics

  • nir/lower_bit_size: Fix subgroup lowering for floats

  • nir: add deref follower builder for casts.

  • nir: Handle wildcards with casts in copy_prop_vars

Felix DeGrood (12):

  • anv: save a shader source uint32_t hash in gfx/compute pipelines

  • anv: Add Source hash field to VkPipelineExecutableStatisticKHR

  • iris: save shader source sha1 in ish

  • mesa: propagate shader source sha1 from gl_shader to nir_shader

  • intel: use shader source hash in INTEL_MEASURE

  • intel/compiler: use shader source hash in shader dump code

  • anv: add fake sparse support

  • anv: enable fake sparse for Elden Ring

  • anv: debug messaging for sparse texture usage

  • anv: fix frame count reporting in INTEL_MEASURE

  • anv: set ComputeMode.PixelAsyncComputeThreadLimit = 4

  • anv: remove CS_FLUSH from query regression

Feng Jiang (9):

  • virgl: Only PIPE_BUFFER with VIRGL_BIND_CUSTOM flag is considered busy during creation

  • meson: Export winsys function symbols for target va

  • frontends/va: Add slice_count to AV1 slice_parameter

  • virgl/video: Add definition of virgl_av1_picture_desc

  • virgl/video: Add support for AV1 decoding

  • virgl/video: Enable AV1 decoding

  • meson: Rename dri-vdpau.dyn to dri.dyn

  • CODEOWNERS: Add @flynnjiang for VirGL video

  • meson: Move video to separate section in meson configuration summary

Filip Gawin (1):

  • crocus: Avoid fast-clear with incompatible view

Flora Cui (1):

  • radeonsi: limit CP DMA to skip holes in sparse bo

Francisco Jerez (29):

  • intel/fs/ra: Define REG_CLASS_COUNT constant specifying the number of register classes.

  • intel/vec4/ra: Define REG_CLASS_COUNT constant specifying the number of register classes.

  • intel/compiler: Make MAX_VGRF_SIZE macro depend on devinfo and update it for Xe2.

  • intel/fs/ra/xe2: Scale up register allocation granularity by 2x on Xe2+ platforms.

  • intel/eu/xe2+: Fix encoding of various message descriptors for change in register size.

  • intel/fs: Fix signedness of payload_node_count argument of calculate_payload_ranges().

  • intel/fs/xe2+: Fix payload node live range calculations for change in register size.

  • intel/fs/xe2+: Fix grf_count in post-RA scheduling for updated register file size.

  • intel/fs/xe2+: Fixes for increased accumulator register width.

  • intel/fs/xe2+: Scale MAX_SAMPLER_MESSAGE_SIZE by native register size.

  • intel/eu/xe2+: Update validation of GRF region size to account for Xe2 reg size

  • intel/fs/xe2+: Allow increased SIMD width for various get_fpu_lowered_simd_width() restrictions.

  • intel/compiler/xe2+: Represent dispatch_grf_start_reg in native GRF units.

  • intel/fs/xe2+: Update encoding of FB write message payload.

  • intel/fs/xe2+: Round up fs_builder::vgrf() size calculation to HW register unit.

  • intel/fs/xe2+: Scale BRW_MAX_MSG_LENGTH by native register size.

  • intel/fs/xe2+: Fix payload layout of sampler messages for Xe2 reg size

  • intel/fs/xe2+: Update GS payload setup for Xe2 reg size.

  • intel/fs/xe2+: Update TCS payload setup for Xe2 reg size.

  • intel/fs/xe2+: Update TES payload setup for Xe2 reg size.

  • intel/fs: Lower unsupported regioning with non-trivial 2D regions on FIXED_GRFs.

  • intel/fs/xe2+: Update regioning lowering offset alignment checks for Xe2 regs.

  • intel/fs/xe2+: Fix execution width of SHADER_OPCODE_GET_BUFFER_SIZE for SIMD16 EU.

  • intel/fs/xe2+: Fix calculation of spill message width for Xe2 regs.

  • intel/xe2+: Round up size to reg_unit() in fs_reg_alloc::alloc_spill_reg().

  • intel/fs/xe2+: Fix URB writes with 0 data components.

  • intel/fs: Specify number of data components of logical URB writes via control immediate.

  • intel/fs: Delete manual ‘inst->mlen’ calculations from all uses of logical URB writes.

  • intel/fs: Delete manual ‘inst->mlen’ calculations from all uses of logical URB reads.

Frank Binns (10):

  • pvr: clang-format fixes

  • pvr: skip setting up SPM consts buffer when no const shared regs are used

  • pvr: cleanup SPM EOT dynarray after upload

  • pvr: treat VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT as not supported

  • pvr: remove pvr_pbe_get_src_pos()

  • pvr: fix attachments segfault in pvr_is_stencil_store_load_needed()

  • pvr: fix allocation size of clear colour consts shared regs buffer

  • pvr: change a few places to use PVR_DW_TO_BYTES()

  • pvr: fix setup of load op unresolved msaa mask

  • pvr: emit PPP state when vis_test dirty bit is set

Friedrich Vock (19):

  • radv/ci: Set DRIVER_NAME in LAVA raven vkcts jobs

  • radv: Handle VK_SUBOPTIMAL_KHR in trace layers

  • ac/msgpack: make fixstrs a const char

  • ac/sqtt,radv: Split internal and API hash in PSO correlations

  • ac/rgp: Write lds_size metadata

  • ac/rgp: Add metadata for separate-compiled RT stages

  • radv/sqtt: Move record filling to helper function

  • radv/sqtt: Unregister records based on hash

  • radv/sqtt: Write LDS size metadata in code objects

  • radv/sqtt: Handle separately-compiled RT pipelines

  • ac/sqtt,radv/sqtt: Add and use marker for separate RT compilation

  • nir/load_store_vectorize: Handle intrinsics with constant base

  • radv/rt: Pre-initialize instance address

  • radv: Initialize shader freelist on allocation

  • radv: Fix check in insert_block

  • radv/rt: Reject hits within 10ULP of previous hits in emulated RT

  • radv/rra: Recognize LPDDR memory

  • radv/rmv: Recognize LPDDR memory

  • vulkan: Don’t use set_foreach_remove when destroying pipeline caches

Ganesh Belgur Ramachandra (5):

  • radeonsi: stores bottom_edge_rule option in the rasterizer state

  • radeonsi: sets OPTIMAL_BIN_SELECTION to 0 if using bottom_edge_rule

  • radeonsi: “clear_render_target” shader in nir

  • radeonsi: “clear_render_target_1d_array” shader in nir

  • radeonsi: “clear_12bytes_buffer” shader in nir

Georg Lehmann (39):

  • aco/gfx11: fix get_gfx11_true16_mask with v_cmp_class_f16

  • aco: improve get_gfx11_true16_mask description

  • aco: combine a & ~b to bfi(b, 0, a)

  • aco/gfx11: use v_cmp_class_f16 with opsel for bitnz/bitz

  • aco: fix non constant 16bit bitnz/bitz

  • ac/nir: handle more special cases in ac_nir_unpack_arg

  • aco: use s_bitreplicate_b64_b32 to set exec to 0xffff0000ffff0000

  • nir/opt_intrinsics: optimize (exclusive_scan(op, a) op a) to inclusive scan

  • aco: always use rtne for fquantize2f16

  • nir/opt_if: also rewrite uniform uses for read_invocation

  • nir: unify lower_bitfield_insert with has_{bfm,bfi,bitfield_select}

  • nir: unify lower_bitfield_extract with has_bfe

  • nir: unify lower_find_msb with has_{find_msb_rev,uclz}

  • aco: fix u2f16 with 32bit input

  • aco: combine a | ~b to bfi(b, a, -1)

  • aco: use v_cvt_f32_ubyte for signed casts too

  • nir: add nir_scalar intrinsic helpers

  • nir: add nir_scalar_equal

  • aco: implement some exclusive scans with inclusive scans

  • aco/gfx11: don’t use bfe for local_invocation_id if the others are always 0

  • nir/opt_algebraic: remove broken fddx/fddy patterns

  • aco: simplify masked swizzle dpp selection by removing or_mask first

  • aco: fix p_extract with v1 dst and s1 operand

  • aco: implement 64bit div find_lsb

  • nir: scalarize masked_swizzle_amd created from shuffle_xor

  • aco/optimizer: check if we can use omod before labeling it

  • aco/optimizer: copy propagate to output modifier instructions

  • aco: remove -0.0 for 32 bit fsign with mul_legacy/omod when denorms are flushed

  • nir: make quad intrinsic dst bit size match src0

  • nir/lower_subgroups: use intrinsic builder more

  • aco: assume new generations are unsupported by clrx

  • aco: assume newer generation will use GFX11 wait_imm packing

  • aco: print final ir instead if printing asm is unsupported

  • aco/gfx11: optimize dual source export

  • aco/gfx11: apply clamp/omod to vinterp

  • aco: support v_fma_f32_dpp as fma_mix

  • aco/gfx11: support vinterp as fma_mix

  • aco: add missing scc def for SALU quad broadcast

  • aco/sched: treat p_dual_src_export_gfx11 like export

George Ouzounoudis (38):

  • nouveau/codegen: Support compact clip distances with arrayed_io

  • nouveau/codegen: Handle nir op amul

  • nouveau/codegen: Fix compact patch varyings in case of NIR

  • nouveau/codegen: Add capability to pre-specify tessellation domain

  • nvk: Do not increment instance id across draws

  • nvk: Add a macro for root descriptor table byte offsets

  • nvk: Set base vertex state in sequential mme draw

  • nvk: Support base instance in instanced draw calls

  • nvk: Switch point rasterization to point sprites

  • nvk: Support large points

  • nvk: Compile geometry shaders

  • nouveau/mme: Keep device info in mme_builder

  • nvk: Simplify mme build function argument

  • nvk: Support VK_KHR_shader_draw_parameters

  • nvk: Support for vertex shader transform feedback

  • nvk: Support transform feedback indirect draws

  • nvk: Support transform feedback geometry streams

  • nvk: Support transform feedback queries

  • nvk: Support vertex shader transform feedback on Fermi

  • nvk: Disable PRIMITIVE_RESTART_VERTEX_ARRAY by default

  • nvk: Fix geometry shader active stream mask

  • nvk: Support geometry shaders

  • nvk: Basic tessellation shader support

  • nvk: Assign locations correctly for arrayed IO

  • nvk: Enable multiview with tessellation shader

  • nvk: Fix cases where execution mode is specified in the tesc shader.

  • nvk: Respect tessellation domain origin state

  • nvk: Lower io to temporaries for tessellation evaluation nir

  • nvk: Support VkDescriptorSetVariableDescriptorCountLayoutSupport

  • nvk: Handle cases of descriptor bindings with variable counts

  • nvk: Add nir non-uniform optimization pass

  • nvk: Enable descriptor indexing

  • nvk: Do not keep redundant info for tessellation domain

  • nouveau/codegen: Do not keep redundant info for tessellation domain

  • nvk: Enable dynamic line rasterization mode state

  • nvk: Fix support for VK_EXT_sample_locations

  • nvk: Support dynamic state for enabling sample locations

  • nouveau/codegen: Add a 4th optimization level for MemoryOpts

Gert Wollny (63):

  • r600/sfn: Switch to register intrinsics

  • r600/sfn/tests: add simple copy-prop test with register source

  • r600/sfn: Allow for larger ALU CF’s

  • r600/sfn: Handle indirect array load/store dependencies better

  • r600/sfn: Increase LDS fetch schedule priority

  • r600/sfn: Add peephole optimization to move a dest to the previous op

  • r600/sfn: reorder the value factory class member declaration a bit

  • r600/sfn: Add some tests for proper register access

  • r600/sfn: Print more info if scheduling fails

  • r600/sfn: remove debug output leftovers

  • r600/sfn: Fix use of multiple IDX with kcache

  • r600/sfn: Always check arrays writes before allowing copy propagation

  • r600/sfn: set block sizes based on chip class

  • r600/sfn: Fix typo with block type

  • r600/sfn: override slot count for IfInstr

  • r600/sfn: Add method to convert to AluGroup directly

  • r600/sfn: Add flags to check whether a group starts CF and can do that

  • r600/sfn: make remaining slots a signed value

  • r600/sfn: on Cayman loading an index register needs only one slot

  • r600/sfn: Splizt ALU blocks in scheduler to fit into 128 slots

  • r600/sfn: rework checks for ALU CF emission

  • r600/sfn: Schedule AR uses befor possible groups

  • r600: Explicitly force new CF in gs copy shader

  • r600: Assert when backend wants to create a new ALU CF

  • r600: don’t check possible size of ALU CF

  • r600: don’t use sb disasm to disassamble copy shader

  • r600: Force CF when emitting a NOP on R600 in gs copy shader

  • r600/sfn: Don’t try to propagate to vec4 with more than one use

  • r600/sfn: Only switch to other CF if no AR uses are pending

  • r600/sfn: AR loads should depend on all previous non ALU instructions

  • r600/sfn: Renumber shader blocks in scheduler

  • r600/sfn: Track whether a register is ALU clause local

  • r600/sfn: Use clause local registers in RA

  • r600/sfn: Take source uses into account when switching channels

  • r600/sfn: take number of dest values into account

  • r600: retire SB optimizer

  • r600/sfn: work around injecting extra CF’s to handle hardware bugs

  • r600: use correct cso pointer for fetch shader

  • r600/sfn: Make use of four clause local registers

  • r600/sfn: drop unused ControlFlowInstr type enum

  • r600/sfn: factor out resource as extra class

  • r600/sfn: Simplify dependency chain for index loads on EG

  • r600: print texture resource index mode separately

  • r600/sfn: Make address split pass obligatory

  • r600/sfn: rename method resource_base to resource_id

  • r600/sfn: Add old address to update_indirect_addr

  • r600/sfn: Sepeate resource and sampler in texture instructions

  • r600/sfn: get rid of the method to get the index mode

  • r600/sfn: sort the uniforms of the right shader

  • r600/sfn: Fix use of scheduled_shader vs shader

  • virgl: report MIRROR_CLAMP features better

  • ci: Upref virglrenderer

  • copyimage: check requested slice early when cube maps are involved

  • mesa: check numlevels and numlayers when creating a texture view

  • virgl: Use common clear_texture if host doesn’t support the feature

  • r600/sfn: don’t remove texture sources by using the enum value

  • r600: drop egcm_load_index_reg

  • r600/sfn: Don’t override a chgr pinning during copy propagation

  • r600/sfn: When simplifying src vec4 pinnings, also check all uses

  • virgl: Fix logic for reporting PIPE_MIRROR_CLAMP

  • r600: Add callbacks for get_driver_uuid and get_device_uuid

  • r600: Link with libgalliumvl, when enabling rusticl this is needed

  • r600/sfn: Fixup component count only if intrinsic has it

Guilherme Gallo (5):

  • bin/ci: Ensure that all jobs have nodes in DAG

  • ci/radeonsi: Update flake list

  • ci/freedreno: Add a new flake

  • ci/zink: Found some flakes

  • ci/anv: Catch some flakes

Hannes Mann (1):

  • vulkan/wsi/wayland: Fix detection of tearing control protocol

Hans-Kristian Arntzen (2):

  • wsi/x11: Fix potential deadlock in present ID.

  • wsi/x11: Don’t allow signal_present_id to rewind.

Helen Koike (21):

  • ci: re-add EXTRA_LOCAL_PACKAGES to rootfs

  • ci: add EXTRA_LOCAL_PACKAGES to apt-get install

  • docs/ci: Add docs for EXTRA_LOCAL_PACKAGES

  • ci: disable duplicated pipelines triggered by marge

  • ci: add –project option to ci_run_n_monitor.py

  • ci/android: remove strace output from cuttlefish-runner.sh

  • ci: add locked flag to bindgen-cli on x86_64_build.sh

  • ci: separate hiden jobs to -inc.yml files

  • ci/ci_run_n_monitor: add docs for multiple targets

  • ci/ci_run_n_monitor: print stress test results per job

  • ci/ci_run_n_monitor: simplify with defaultdict

  • ci/ci_run_n_monitor: merge print_job_status_change with print_job_status

  • ci/ci_run_n_monitor: make –target mandatory

  • ci/ci_run_n_monitor: merge enable_job with retry_job

  • ci/ci_run_n_monitor: simplify enable/cancel logic in monitor_pipeline()

  • ci/ci_run_n_monitor: allow <user>/<project> in –project

  • ci/ci_run_n_monitor: limit repetitions on –stress

  • ci/marge_queue: add missing python-dateutils to requirements.txt

  • ci/ci_run_n_monitor: keep monitoring if a job is still running

  • ci/marge_queue: add pretty_dutation()

  • ci/ci_run_n_monitor: print job duration time

Honglei Huang (7):

  • virgl/video: Add support for mpeg12 decoding

  • virgl/video: Add support for vc1 decoding

  • virgl/video: Add support for jpeg decoding

  • virgl/video: Add support for hevc10bit decoding.

  • virgl/video: Add more pipe type in virgl formats convert table

  • virgl/video: Add jpeg buf start code check

  • virgl: Enable vp9 hardware decode

Hyunjun Ko (3):

  • anv: use ycbcr_info for P010 format

  • anv: don’t use cmd_buffer after destroyed.

  • anv: don’t flush_llc on gen9

Iago Toral Quiroga (100):

  • nir/trivialize: Move decl_reg to the start of the block

  • v3dv: stop incrementing UBO indices by one

  • nir/lower_robustness: drop skip_ubo_0 option

  • v3dv: fix incorrect key setup

  • broadcom/compiler: stop asserting on Vulkan environment

  • broadcom/compiler: use NIR’s lowering for dispatch base

  • broadcom/compiler: move uniform offset lowering from compiler to GL driver

  • broadcom/compiler: move vulkan’s point coord lowering to the driver

  • v3dv: don’t set lower_wpos_pntc for Vulkan

  • broadcom/compiler: always clamp results from logic ops

  • broadcom/compiler: drop execution environment from the shader key

  • v3dv: drop cpu path for buffer to image copies

  • v3dv: remove unused code

  • nir/lower_tex: copy backend_flags field when copying a tex instruction

  • nir/lower_tex: use a callback to check sampler return size packing

  • squash! v3dv,broadcom/compiler: don’t abuse sampler index

  • v3dv: assert that only tex instructions with sampler state have a sampler src

  • v3d: fix texture packing lowering

  • v3d,v3dv: use fquantize2f16 lowering in NIR

  • v3dv: be more precise in vkGetImageSubresourceLayout

  • v3dv: handle pPlaneLayouts in VkImageDrmFormatModifierExplicitCreateInfoEXT

  • v3dv: bump up MAX_UNIFORM_BUFFERS to 16

  • v3dv: add support for sampling simple 2D linear textures

  • v3dv: expand sampling from linear image hack to support multi-planar images

  • v3dv: don’t assume that bound descriptors have been written

  • v3dv: only handle Android Hardware Buffer on Android

  • v3dv: we can sample from 1D array too

  • broadcom/compiler: add a couple of shader key helpers

  • v3d: compute nir sha1 for uncompiled shader state

  • v3d: use pre-computed shader sha1 for disk cache

  • v3d: fix RAM shader cache

  • v3d: get rid of shader_state pointer in v3d_key

  • broadcom/simulator: reset CFG7 for compute dispatch in v71

  • broadcom/common: retrieve V3D revision number

  • broadcom/compiler: update node/temp translation for v71

  • broadcom/compiler: implement “reads/writes too soon” checks for v71

  • broadcom/compiler: implement read stall check for v71

  • broadcom/compiler: add a v3d71_qpu_writes_waddr_explicitly helper

  • broadcom/compiler: prevent rf2-3 usage in thread end delay slots for v71

  • broadcom/qpu: add new ADD opcodes for FMOV/MOV in v71

  • broadcom/qpu: fix packing/unpacking of fmov variants for v71

  • broadcom/compiler: make vir_write_rX return false on platforms without accums

  • broadcom/compiler: rename vir_writes_rX to vir_writes_rX_implicitly

  • broadcom/compiler: only handle accumulator classes if present

  • broadcom/compiler: don’t assign rf0 to temps across implicit rf0 writes

  • broadcom/compiler: CS payload registers have changed in v71

  • broadcom/compiler: don’t schedule rf0 writes right after ldvary

  • broadcom/compiler: allow instruction merges in v71

  • broadcom/qpu: add MOV integer packing/unpacking variants

  • broadcom/qpu: fail packing on unhandled mul pack/unpack

  • broadcom/compiler: generalize check for shaders using pixel center W

  • broadcom/compiler: v71 isn’t affected by double-rounding of viewport X,Y coords

  • broadcom/compiler: update peripheral access restrictions for v71

  • broadcom/qpu: add packing for fmov on ADD alu

  • broadcom/compiler: handle rf0 flops storage restriction in v71

  • broadcom/compiler: enable ldvary pipelining on v71

  • broadcom/compiler: try to use ldunif(a) instead of ldunif(a)rf in v71

  • broadcom/compiler: don’t assign rf0 to temps that conflict with ldvary

  • broadcom/compiler: convert mul to add when needed to allow merge

  • broadcom/compiler: implement small immediates for v71

  • broadcom/compiler: update thread end restrictions for v7.x

  • broadcom/compiler: update ldvary thread switch delay slot restriction for v7.x

  • broadcom/compiler: lift restriction for branch + msfign after setmsf for v7.x

  • broadcom/compiler: start allocating from RF 4 in V7.x

  • broadcom/compiler: validate restrictions after TLB Z write

  • broadcom/compiler: lift restriction on vpmwt in last instruction for V3D 7.x

  • broadcom/compiler: fix up copy propagation for v71

  • broadcom/compiler: don’t allocate spill base to rf0 in V3D 7.x

  • broadcom/compiler: improve allocation for final program instructions

  • broadcom/compiler: don’t assign registers to unused nodes/temps

  • broadcom/compiler: only assign rf0 as last resort in V3D 7.x

  • v3dv: expose V3D revision number in device name

  • v3dv/device: handle new rpi5 device (bcm2712)

  • v3dv: setup render pass color clears for any format bpp in v71

  • v3dv: setup TLB clear color for meta operations in v71

  • v3dv: fix up texture shader state for v71

  • v3dv: handle new texture state transfer functions in v71

  • v3dv: implement noop job for v71

  • v3dv: handle render pass global clear for v71

  • v3dv: GFX-1461 does not affect V3D 7.x

  • broadcom/compiler: update thread end restrictions validation for v71

  • v3dv: handle early Z/S clears for v71

  • v3dv: handle RTs with no color targets in v71

  • v3dv: don’t convert floating point border colors in v71

  • v3dv: handle Z clipping in v71

  • v3dv: make v3dv_viewport_compute_xform depend on the V3D version

  • v3dv: fix depth clipping then Z scale is too small in V3D 7.x

  • v3d/v3dv: fix texture state array stride packing for V3D 7.1.5

  • v3d,v3dv: support up to 8 render targets in v7.1+

  • v3d,v3dv: don’t use max internal bpp for tile sizing in V3D 7.x

  • v3d,v3dv: propagate NaNs bits in shader state records are reserved in v7.x

  • v3dv: use new texture shader state rb_swap and reverse fields in v3d 7.x

  • v3dv: fix color write mask for v3d 7.x

  • v3d,v3dv: fix depth bias for v3d 7.x

  • v3d,v3dv: fix compute for V3D 7.1.6+

  • v3dv: expose fullDrawIndexUint32 in V3D 7.x

  • v3dv: expose depthClamp in V3D 7.x

  • v3dv: expose scalarBlockLayout on V3D 7.x

  • v3dv: fix confusing nomenclature about DRM nodes

  • v3d,v3dv: fix MMU error from hardware prefetch after ldunifa

Ian Douglas Scott (1):

  • egl/wayland: Don’t segfault if `create_wl_buffer` returns `NULL`

Ian Romanick (38):

  • intel/fs: Always do opt_algebraic after opt_copy_propagation makes progress

  • intel/fs: Constant fold SHL

  • intel/fs: Constant fold OR and AND

  • util/rb-tree: Return the actual first node from rb_tree_search

  • util/rb-tree: Fix typo in comment

  • nir/builder: Add nir_extract_i8_imm and nir_extract_u8_imm helpers

  • nir/algebraic: Remove redundant pack / unpack lowering patterns

  • intel/fs: Completely re-write the combine constants pass

  • intel/fs: Combine constants for SEL instructions too

  • intel/fs: Combine constants for integer instructions too

  • intel/fs: New VGRF packing scheme for constant combining

  • intel/compiler: Combine control barriers with identical memory semantics

  • intel/compiler: Don’t evict for workgroup-scope fences

  • glsl/list: Clean up an inappropriate comment

  • util/rb-tree: Work around C++’s dislike of offsetof

  • util/rb-tree: Inline rb_tree_init

  • intel/fs: Don’t continue fixed point iteration just because liveout changes

  • intel/fs: Don’t try to copy propagate into a source again after progress is made

  • intel/fs: Make try_constant_propagate and try_copy_propagate file private

  • intel/fs: Move src.file checks out of try_constant_propagate and try_copy_propagate

  • intel/fs: Don’t loop in try_constant_propagate

  • intel/fs: Simplify check in can_propagate_from

  • intel/fs: Make opt_copy_propagation_local file private

  • intel/fs: Encapsulate per-block ACP in a structure

  • intel/fs: Use rb_tree to store ACP entries by source

  • intel/fs: Use rb_tree to store ACP entries by destination

  • intel/fs: Use rb_tree for copy prop dataflow

  • intel/fs: Merge copy prop dataflow loops

  • intel/compiler/xe2: Update fs_visitor::setup_vs_payload to account for Xe2 reg size

  • intel/compiler/xe2: Use SIMD16 for nir_intrinsic_image_size

  • intel/compiler/xe2: TXD is lowered to SIMD16 in SIMD32 mode

  • nir/rematerialize: Rematerialize ALUs used only by compares with zero

  • intel/compiler/xe2: Handle new URB read messages

  • intel/compiler/xe2: Handle new URB write messages

  • intel/compiler/xe2: Update fs_visitor::emit_urb_writes to not assume SIMD8

  • spirv: Track when a shader has a cooperative matrix

  • intel/fs: Add DP4A to get_lowered_simd_width

  • nir/split_vars: Don’t split arrays of cooperative matrix types

Igor Torrente (4):

  • zink: Fix enumerate devices when running compositor

  • zink: Removes `disable_xcb_surface`

  • zink: Fix one addicional case when running a compositor

  • zink: fix for startup crash of weston running on top of zink + venus

Illia Abernikhin (2):

  • state_tracker: moving initialisation of whandle out from if statement whandle initialization inside if statement but used also outside

  • i915: change format in dbg string Actually, uintptr_t is of type unsigned long, but the debug line uses the %d format specifier, which expects an int.

Illia Polishchuk (7):

  • iris: remove NULL check for already dereferenced pointer earlier

  • s/Intel: fix/anv: fix: potentially overflowing expression in genX

  • glx: fix dead code when gc var cannot be null due to earlier check

  • state_tracker: fix dereference before null check

  • anv, drirc: Add workaround to speed up Cyberpunk 2077 reg allocation

  • zink: move find_sampler_var from zink to nir core

  • nir: fix invalid sampler search by texture id

Italo Nicola (24):

  • mesa/main: account for RTT samples when updating framebuffer

  • mesa/main: allow readpix/teximage to read from implicitly multisampled fbos

  • panfrost/genxml: fix Surface With Stride descriptor alignment

  • panfrost/genxml: add Multiplanar Surface descriptor

  • panfrost: refactor (un)packing of surface descriptors

  • pan/decode: decode Multiplanar Surface descriptors

  • panfrost: prepare pan_image_view for multiplanar formats

  • panfrost: prepare the driver to support YUYV and variants

  • panfrost: advertise support for YUYV and variants

  • panfrost: mandate proper alignment requirement depending format and arch

  • panfrost: add PAN_MESA_DEBUG=yuv for debugging yuv sampler

  • gallium/st: add non-CSC lowering of I420 as PIPE_FORMAT_R8_G8_B8_420

  • gallium/st: add non-CSC lowering of YV12 as PIPE_FORMAT_R8_B8_G8_420

  • pan/bi: add support for I420 and YV12 sampling

  • gallium/st: lower NV21 to R8_B8G8 instead of G8_B8R8

  • panfrost: fix invalid memory access in get_equation_str()

  • pan/decode: handle more than one panfrost_device

  • panfrost/ci: updated CI expectations

  • egl: reenable partial redraw with a warning when using gallium hud

  • pan/genxml: add Width/Height fields to v9+ Plane descriptor

  • panfrost: rename _needs_multiplanar_descriptor to _is_yuv

  • panfrost: prepare v9+ to support YUV sampling

  • panfrost: use centered YUV chroma siting

  • panfrost: advertise YUV formats for valhall

Iván Briano (23):

  • anv: ensure CFE_STATE is emitted for ray tracing pipelines

  • iris: ensure mesh is disabled on context init

  • anv: ensure mesh is disabled on context init

  • anv: implement Wa_14019750404

  • intel/compiler: call brw_nir_adjust_payload from brw_postprocess_nir

  • anv,hasvk: respect provoking vertex setting on geometry shaders

  • anv: fix missing 3DSTATE_SBE_CLIP emission

  • anv: ensure pipelines have all state

  • anv: tell blorp to do mesh stuff only if it’s enabled

  • blorp: fix hangs with mesh enabled

  • anv: use a simpler MUE layout for fast linked libraries

  • anv: track what kind of pipeline a fragment shader may be used with

  • intel/fs: read viewport and layer from the FS payload

  • intel/fs: handle URB setup for fast linked mesh pipelines

  • anv: enable VK_EXT_mesh_shader where supported

  • intel/fs: use ffsll so we don’t explode on 32 bits

  • vulkan/runtime: add internal parameter to vk_spirv_to_nir

  • nir/lower_int64: respect rounding mode when casting to float

  • intel/compiler: round f2f16 correctly for RTNE case

  • util: add double_to_float16 helpers

  • nir: round f2f16{_rtne/_rtz} correctly for constant expressions

  • anv: advertise VK_KHR_global_priority_queue

  • anv: use the right vertexOffset on CmdDrawMultiIndexed

Jani Nikula (1):

  • docs/vulkan: fixup some typos

Janne Grunau (4):

  • asahi: toggle more barrier bits after transform feedback

  • asahi,agx: Fix stack buffer overflow in agx_link_varyings_vs_fs

  • asahi,agx: Upload constant buffers immediately

  • asahi: decode: Fix uint64_t format modifiers in agxdecode_stateful()

Jesse Natalie (2):

  • nir_lower_mem_access_bit_sizes: Fix write-mask-constrained 3-byte stores as atomics

  • d3d12: Fix multidimensional array ordering

Jianxun Zhang (1):

  • intel/common: Only set op mask on instructions in decoder

Jonathan Marek (2):

  • freedreno: move redump.h to common code + cleanup

  • tu: add a TU_DEBUG=rd option for cmdstream dumping

Jordan Justen (73):

  • isl: Add ISL_SURF_USAGE_STREAM_OUT_BIT

  • anv,iris,hasvk: Use ISL_SURF_USAGE_STREAM_OUT_BIT for setting stream-out MOCS

  • genxml/hsw: Add additional MOCS field enumerations

  • genxml/chv: Add MEMORY_OBJECT_CONTROL_STATE_CHV to document compared to BDW

  • isl/dev: Add uncached MOCS value

  • isl: Set MOCS to uncached for MTL stream-out

  • intel/isl: Use intel_needs_workaround() for MTL CCS WA

  • intel/compiler: Use nir SUBGROUP_INVOCATION for RT TOPOLOGY_ID

  • intel/dev: Add LNL platform enum

  • intel/dev: Support xe2 device init (for intel_device_info_test)

  • intel/tools: Use ‘env bash’ to find bash executable

  • intel/decoder: Fix xml filename when verx10 % 10 is not 0

  • intel/decoder: Add intel_spec_load_common()

  • intel/decoder: Make intel_spec_load_filename() have separate dir and name strings

  • intel/genxml: Align “Texture Coordinate Mode” naming

  • intel/genxml: Split some genxml sorting code into a intel_genxml module

  • intel/genxml: Convert gen_bits_header to use ElementTree

  • intel/genxml: Convert gen_pack_header to use ElementTree

  • intel/genxml: Add GenXml class into intel_genxml module

  • intel/genxml: Add filter_engines() to GenXml class

  • intel/genxml: Move sorting & writing into GenXml class

  • intel/genxml: Don’t rewrite sorted xml if the contents didn’t change

  • intel/genxml: Add final newline to output when saving xml

  • intel/genxml: Update xml with gen_sort_tags.py output

  • intel/dev: Use RPL-U name on RPL-U devices

  • intel/dev: Add more RPL PCI IDs

  • anvil,hasvk: Rename need_clflush to need_flush

  • intel/common: Move intel_clflush.h to intel_mem.h/intel_mem.c

  • anvil,hasvk: Replace intel_clflush_range with intel_flush_range

  • intel/common: Add intel_flush_range_no_fence

  • anvil,hasvk: Use intel_flush_range_no_fence to flush command buffers

  • util/u_cpu_detect: Drop unused has_tsc

  • util/u_cpu_detect: Detect clflushopt support

  • meson: Check for the __builtin_ia32_clflushopt function

  • intel/clflush: Add support for clflushopt instruction

  • intel/dev/xe: Move placeholder subslice info into XEHP_FEATURES

  • intel/genxml: Ignore tail leading/trailing whitespace in node_validator()

  • intel/genxml: Fix comparing xml when node counts differ

  • intel/dev: Update device string for MTL PCI ID 0x7d55

  • intel/genxml: Support importing from another genxml file

  • intel/genxml: Add support for excluding items when importing

  • intel/genxml: Add all xml files as pack dependencies

  • intel/genxml: Add GenXml.optimize_xml_import()

  • intel/genxml: Drop assertion to allow for importing

  • intel/genxml: Add GenXml.add_xml_imports method

  • intel/genxml: Add GenXml.flatten_xml() method

  • intel/genxml: Add genxml_import.py script

  • intel/decoder: ralloc_steal() values from spec context for fields and enums

  • intel/decoder: Implement support for importing genxml

  • intel/genxml: Start Xe2 support

  • intel/genxml: Auto-import genxml files using genxml_import.py

  • intel/common: Add sse2_args for 32-bit build when -Dsse2=false was set

  • intel/compiler/fs: Support Xe2 reg size in assign_curb_setup

  • intel/compiler: Update opt_split_sends() for Xe2 reg size

  • intel/compiler: Update emit_rt_lsc_fence() for Xe2

  • intel/compiler: Update lower_trace_ray_logical_send() for Xe2

  • intel/compiler: Update ray-tracing intrinsic lowering for Xe2

  • intel/compiler: Update RT stack_id access for Xe2

  • intel/fs: Update SSBO & shared uniform block loads for Xe2

  • intel/genxml: Build with gen20.xml

  • intel/isl: Build for Xe2

  • iris: Build for Xe2

  • anv/blorp: Use anv_genX to set device->blorp.exec

  • anv: Disable Ray Tracing on xe2 until our compiler supports Xe2 RT

  • anv: Build for Xe2

  • anv: Print warning that Xe2 is not supported rather than failing

  • intel/compiler: Add enum xe2_lsc_cache_store

  • intel/compiler: Use enum xe2_lsc_cache_store on xe2

  • intel/compiler: Add enum xe2_lsc_cache_load

  • intel/compiler: Use enum xe2_lsc_cache_load on xe2

  • anv/batch: Check if batch already has an error in anv_queue_submit_simple_batch()

  • anv/batch: Assert that extend_cb is non-NULL if the batch is out of space

  • intel/dev: Add 0x56ba-0x56bd DG2 PCI IDs

Jose Maria Casanova Crespo (2):

  • vc4: mark buffers as initialized at vc4_texture_subdata

  • vc4: Fix mask RGBA validation at YUV blit

José Expósito (3):

  • zink: Fix crash on zink_create_screen error path

  • zink: fix dereference before NULL check

  • zink: allow software rendering only if selected

José Roberto de Souza (51):

  • anv: Use workaround framework to Wa_14016118574

  • intel/aux_map: Nuke format_enum

  • intel/aux_map: Use get_aux_entry() in remove_mapping()

  • intel/aux_map: Replace magic number by INTEL_AUX_MAP_ENTRY_VALID_BIT

  • intel/aux_map: Rename some variables to improve readability

  • intel/aux_map: Mask out bits above index 47 in intel_aux_get_meta_address_mask()

  • intel/aux_map: Convert l1_entry_addr_out to canonical

  • intel/aux_map: Drop magic sub table size number

  • intel/aux_map: Add function and macro to return l2 and l1 table masks

  • anv: Add gem_create_userptr() to KMD backend

  • anv: Replace handle by anv_bo in the gem_close()

  • anv: Add support for userptr in Xe KMD

  • intel: Sync xe_drm.h

  • intel/dev/xe: Add support for small-bar setups

  • anv: Request Xe KMD to place BOs to CPU visible VRAM when required

  • iris: Request Xe KMD to place BOs to CPU visible VRAM when required

  • iris/xe: Call iris_lost_context_state() when batch engine is replaced

  • intel/dev: Port intel_dev_info tool to Xe KMD

  • iris: Replace I915_EXEC_FENCE_SIGNAL by IRIS_BATCH_FENCE_SIGNAL in common code

  • intel: Move i915_drm.h specific code from common/intel_gem.h to common/i915/intel_gem.h

  • intel/common: Move functions inside of C++ ifdef

  • intel: Rename intel_gem_add_ext() to intel_i915_gem_add_ext()

  • iris: Move i915_gem_set_domain() call to i915 backend

  • iris: Move iris_bufmgr_bo_close() to kmd backend

  • iris: Add gem_create_userptr() to KMD backend

  • iris: Add support for userptr in Xe KMD

  • intel/genxml/gen125: Add missing fields in MI_MATH

  • iris: Set MI_MATH MOCS field

  • anv: Set MI_MATH MOCS field

  • intel/tests/mi_builder: Set MI_MATH MOCS field

  • intel/genxml/gen125: Set MI_MATH MOCS field as non-zero

  • anv: Nuke unused READ_ONCE() from anv_batch_chain.c

  • anv: Remove VkAllocationCallbacks parameter from reloc functions

  • anv: Return earlier in anv_reloc_list functions

  • intel: Sync xe_drm.h and rename engine to exec_queue

  • anv: Override vendorID for Hogwarts Legacy

  • intel/isl: Remove unknown workaround

  • intel/isl: Remove Wa_22011186057

  • anv: Update Wa_16014390852 for MTL

  • intel: Sync xe_drm.h

  • anv: Move i915 specific gem_set_caching to backend

  • anv: Move i915 specific code from common anv_gem.c

  • anv: Move bo_alloc_flags_to_bo_flags() to backend

  • anv: Move i915 handling of imported bos bo_flags

  • anv: Remove i915_drm.h include from common code

  • iris: Lock bufmgr->lock before call vma_free() in error path

  • iris: Nuke useless flags from iris_fine_fence_new()

  • intel: Prepare implementation of Wa_18019816803 and Wa_16013994831 for future platforms

  • intel: Sync xe_drm.h

  • anv: Switch Xe KMD vm bind to sync

  • anv: Add missing ANV_BO_ALLOC_EXTERNAL flags when calling anv_device_import_bo()

Juan A. Suarez Romero (7):

  • broadcom/ci: update expected results

  • vc4/ci: update expected results

  • v3d/shim: include new ioctl parameters

  • v3dv/ci: update expected list

  • broadcom: add performance counters for V3D 7.x

  • broadcom/simulator: add per-hw version calls

  • v3d/vc4/ci: add new fails/timeout

Julia Tatz (10):

  • gallium/dri: fix dri2_from_names

  • aux/trace: skip multi-line comments in enums2names

  • aux/trace: deduplicate enum dump macro work

  • aux/trace: move trace_sample_view logic

  • aux/trace: fix set_hw_atomic_buffers method name

  • aux/trace: add screen video methods

  • aux/trace: add context video methods

  • aux/trace: wrap video_codec & video_buffer

  • aux/trace: unwrap refrence frames in picture_desc

  • aux/trace: trace video_buffer method return vals

Julia Zhang (1):

  • radeonsi: modify algorithm of skipping holes of sparse bo

Julian Hagemeister (1):

  • Gallium: Fix shared memory segment leak

Juston Li (10):

  • zink: remove venus from renderpass optimizations

  • venus: sync protocol for VK_EXT_vertex_input_dynamic_state

  • venus: implement VK_EXT_vertex_input_dynamic_state

  • venus: set lvp queries as saturate on overflow

  • venus: add helper function to get cmd handle

  • venus: refactor out common cmd feedback functions

  • venus: support deferred query feedback recording

  • venus: track/recycle appended query feedback cmds

  • venus: append query feedback at submission time

  • venus: switch to unconditionally deferred query feedback

Kai Wasserbäch (3):

  • fix: clover: LLVM 18 renamed/moved CGFT_*, update compat layer

  • fix: clover: LLVM 18: s/CodeGenOpt::/CodeGenOptLevel::/

  • fix: clover: warning: ignoring return value of ‘int posix_memalign(…)’ [-Wunused-result]

Karmjit Mahil (29):

  • pvr: Remove mrt setup from SPM EOT

  • pvr: Compile SPM EOT shader

  • pvr: Use the SPM EOT on barrier stores

  • pvr: Remove some magic numbers and increments from km stream

  • pvr: Restructure `rogue_kmd_stream.xml`

  • pvr: Submit PR commands

  • pvr: Use the correct size for the unified store allocation

  • pvr: Allow query stage for barrier sub cmds

  • pvr: Fix occlusion query unaccounted for user fences

  • pvr: Fix writing query availability write out

  • pvr: Fix packing issue with max_{x,y}_clip

  • pvr: Fix csb relocation status assert on `pvr_csb_finish()`

  • pvr: Fix `for` loop itarator usage

  • pvr: Fix dynamic desc offset storage

  • pvr: Fix cubemap layer stride

  • pvr: Use the render passes’ attachments array to setup ISP state

  • pvr: Adjust EOT PBE state to account for the iview’s base array layer

  • pvr: Fix MRT index in PBE state

  • pvr: Fix pbe_emit assert

  • pvr: Fix OOB access of pbe_{cs,reg}_words

  • pvr: Order tile buffer EOT emits to be last

  • pvr: Fix subpass sample count on ds attachment only

  • pvr: Refactor subpass ds and sample count setup

  • pvr: Fix SPM load shader sample rate

  • pvr: Fix PPP_SCREEN sizes

  • vulkan: Add `vk_subpass_dependency_is_fb_local()` helper

  • tu: Use common `vk_subpass_dependency_is_fb_local()`

  • pvr: Don’t merge subpasses on framebuffer-global dependancy

  • pvr: Only setup the bgobj to load if we have a load_op

Karol Herbst (213):

  • nvc0: initial Ada enablement

  • rusticl/mesa: make svm_migrate optional

  • llvmpipe: enable system SVM

  • nvc0: fix num_gprs for Volta+

  • rusticl: fix warnings with newer rustc

  • gm107/ir: fix SULDP for loads without a known format

  • nv50/ir/nir: fix txq emission on MS textures

  • nv50/ir/nir: Fix zero source handling of tex instructions.

  • rusticl/kernel: only handle function_temp memory before lowering printf

  • meson,ci: bump meson req for rusticl to 1.2

  • rusticl/nir: add helper functions we need for a NIR_PASS macro

  • rusticl/nir: add a nir_pass macro

  • rusticl/nir: use the new nir_pass macro

  • rusticl/kernel: rename res to internal_args inside lower_and_optimize_nir_late

  • rusticl/kernel: merge lower_and_optimize_nir_pre_inputs and lower_and_optimize_nir_late

  • rusticl/kernel: move things around in lower_and_optimize_nir

  • rusticl/kernel: get rid of initial function_temp type lowering

  • rusticl/kernel: mark can_remove_var as unsafe and document it

  • n50/compute: submit initial compute state in nv50_screen_create

  • nvk: add vulkan skeleton

  • nouveau/winsys: add the new winsys implementation

  • nvk: use winsys lib

  • nvk: fix nvk_buffer include guards

  • nouveau/headers: add script to sync in-tree headers with open-gpu-doc

  • nouveau/headers: initial sync of headers

  • nvk: implement GetPhysicalDeviceQueueFamilyProperties2 to make the CTS happy

  • nvk: advertize memory heaps and types

  • nouveau/ws: reorganize a little

  • nouveau/ws: dup the fd

  • nouveau/ws: add a field for the SM version

  • nvk: set nonCoherentAtomSize as the CTS divides with this value

  • nouveau/ws: add bo API

  • nvk: add basic device memory support

  • nouveau/headers: add nvtypes.h

  • nouveau/headers: typedef Nv void types

  • nouveau/headers: add host classes

  • nouveau/ws: add context support

  • nouveau/ws: add a cmd buffer

  • novueau/bo: refcount it

  • novueau/bo: add nouveau_ws_bo_wait

  • nvk: allocate a GPU context for each VkDevice

  • nvk: add nvk_bo_sync

  • nvk: add nvk_CmdPipelineBarrier2 stub

  • nvk: impl nvk_CmdCopyBuffer

  • nouveau/ws: fix setting push bo domains

  • nouveau/ws: PUSH_IMMD only works with 16 bit values

  • nouveau/ws: set GPU object class

  • nouveau/ws: bind 2D class

  • nvk: use fermi class definitions

  • nvk: add basic support for images

  • nvk: simple format table

  • nvk: add support for blits

  • nvk: report maxMipLevels as 1

  • nvk: optimize blit command buffer gen

  • nvk: implement CmdFillBuffer

  • nvk: implement CmdUpdateBuffer

  • nvk: implement CmdCopyBuffer2

  • nvk: advertise VK_KHR_copy_commands2

  • nvk: implicitly reset the command buffer

  • nouveau/ws: handle 0inc inside nvk_push_val as well

  • nvk: reduce pitch even further in CmdFillBuffer

  • nvk: support multiple miplevels

  • nvk: support array blits over multiple layers

  • nvk: tiling prep work for VK_EXT_image_2d_view_of_3d

  • nouveau/ws: make sure we don’t submit nonsense

  • nouveau/ws: assert on broken channel

  • nvk/blit: assert that formats are supported

  • nouveau/headers: Generate parser functions

  • nouveau/ws: initial debugging options for command submissions

  • nouveau/ws: depend on generated class header files

  • nouveau/ws: get rid of libdrm

  • nouveau/ws: use new NVIF interface to query oclasses

  • nvk: set deviceName

  • nouveau/headers: add path for 3D headers

  • nouveau/headers: initial 3D headers import

  • nouveau/ws: allocate 3D subchan

  • nouveau/ws: allocate copy subchan as well

  • nouveau/ws: add API to query if the context was killed

  • nouveau/ws: add a bo unmap helper function

  • nvk: clean up bo mappings

  • nouveau/ws: bound check nouveau_ws_push_append

  • nouveau/ws: rework refing push buffer bos

  • nouveau/ws: push chaining

  • nvk: fix OOB read inside nvk_get_va_format

  • nvk: alloc a zero page and use it for vertex runouts

  • nvk: fix zero page refing

  • nvk: support exporting buffers

  • nvk: fix some class version checks

  • nvk: properly align shaders pre Turing

  • nvk: rework QMD handling to support pre Turing

  • nvk: align desc root table

  • nvk: Use SET_PIPELINE_PROGRAM pre-Volta

  • nvk: properly align slm size

  • nvk: use remaps for image copies

  • nvk: reduce pitch for FillBuffer

  • nvk: bind more subchans in init_context_state

  • nvk: support pre Maxwell Texture Headers

  • nvk/device: fix order of error handling

  • nvk: allocate VAB memory area

  • nvk: wire up M2MF for Fermi

  • nouveau/mme: add test for BEQ with magic exit offset

  • nouveau/mme: add a macro exit helper

  • nvk: Add a macro to set MMIO registers via falcons

  • nouveau/winsys: fix SM value for Ada

  • nvk: fix num_gprs for Volta+

  • nvk: replace mp with tpc

  • nvk: properly calculate SLM region by taking per arch limits into account

  • nouveau: fix max_warps_per_mp_for_sm for builds with asserts disabled

  • nvk: enable fp helper invocations loads on more gens

  • nv50/ir: use own info struct for sys vals

  • nv50/ir: convert system values to gl_system_value

  • nouveau/mme: fix OOB access inside while_ine builder test

  • nouveau/mme: fix OOB inside tu104 simulator

  • clc: use CLANG_RESOURCE_DIR for clang’s resource path

  • nv50: fix code uploads bigger than 0x10000 bytes

  • nouveau: take glsl_type ref unconditionally

  • rusticl/kernel: optimize nir between lowering io and explicit types

  • nv50: limit max code uploads to 0x8000

  • zink: fix source type in load/store scratch

  • zink: fix global stores

  • zink: update some compute caps

  • rusticl: add debug option to sync every event

  • rusticl/device: _MAX_CONST_BUFFER0_SIZE is unsigned

  • ci: disable a660 jobs

  • nir: make workgroup_id 32 bit only

  • nir: make num_workgroups 32 bit only

  • ac: drop 64 bit handling for cl workgroup intrinsics

  • gallivm/nir: drop 64 bit handling for cl workgroup intrinsics

  • intel/compiler: drop 64 bit handling for cl workgroup intrinsics

  • panfrost: drop 64 bit handling for cl workgroup intrinsics

  • rusticl: reduce global_invocation_id_zero_base to 32 bit

  • panfrost: drop pan_nir_lower_64bit_intrin

  • rusticl/disk_cache: fix stack corruption

  • rusticl/query: fix use-after-free, but also fix incorrect usage of unsafe

  • rusticl/event: disable profiling for devices without timestamps

  • rusticl/queue: properly implement clCreateCommandQueueWithProperties

  • rusticl/memory: do not verify pitch for IMAGE1D_BUFFER

  • rusticl/memory: only specify PIPE_BIND_SHADER_IMAGE where supported

  • asahi: fetch available system memory

  • asahi: lower hadd

  • asahi: handle kernels

  • asahi: handle load_workgroup_size

  • asahi: handle load_global_invocation_id_zero_base

  • asahi: implement get_compute_state_info

  • asahi: implement set_global_binding

  • asahi: implement clear_buffer

  • asahi: gracefully handle allocating linear images

  • asahi: handle images in is_format_supported

  • rusticl/memory: fallback if allocating linear images fails

  • rusticl: enable asahi

  • rusticl/mesa: create contexts with PIPE_CONTEXT_NO_LOD_BIAS

  • docs/features: cl_khr_3d_image_writes needs driver support

  • rusticl/mesa: fix `set_constant_buffer` when passing an empty buffer

  • rusticl/kernel: skip adding global id offsets if not used

  • meson/rusticl: add sha1_h

  • rusticl/mesa/context: fix clear_sampler_views

  • nir: add nir_lower_alu_vec8_16_srcs pass

  • zink: lower vec8/16

  • rusticl/mesa: create COMPUTE_ONLY contexts

  • rusticl: fix clippys bool_to_int_with_if

  • rusticl/memory: fix potential use-after-free in clEnqueueSVMMemFill

  • nir/load_libclc: fix libclc memory leak

  • rusticl/kernel: Fix creation from programs not built for every device

  • ci: add half-life 2 freedreno flake

  • zink: implement get_compute_state_info

  • zink: copy has_variable_shared_mem cs property

  • zink: pass entire pipe_grid_info into zink_program_update_compute_pipeline_state

  • zink: refactor spec constant handling

  • zink: variable shared mem support

  • zink: support more nir opcodes

  • zink: make spirv_builder_emit_*op compatible with spec constants

  • zink: support samplers with unnormalized_coords

  • zink: implement remaining pack ops via bitcast

  • zink: fix RA textures

  • zink: fix load/store scratch offsets

  • rusticl/mesa/screen,device: add driver_name

  • rusticl: enable zink

  • pipe-loader: allow to load multiple zink devices

  • rusticl: bump rustc version to 1.66

  • rusticl/mesa/nir: mark more methods as mut

  • rusticl/mesa/nir: Mark NirShader and NirPrintfInfo as Send and Sync

  • rusticl/mesa: mark PipeResource as Send and Sync

  • rusticl/mesa: mark PipeTransfer as Send

  • rusticl/cl: mark _cl_image_desc as Send and Sync

  • rusticl/queue: get rid of pointless Option around our worker thread handle

  • rusticl/queue: make it Sync

  • rusticl/kernel: get rid of Arcs in KernelDevStateVariant

  • rusticl/memory: use get_mut instead of lock in drop

  • zink: implement PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS

  • rusticl/api: remove cl_closure macro

  • zink: implement load_global_constant

  • zink: properly emit PhysicalStorageBufferAddresses cap

  • nir/lower_mem_access_bit_sizes: fix invalid shift bit_size

  • rusticl/device: restrict 1Dbuffer images for RGB and RGBx

  • rusticl/memory: use PIPE_BUFFER for IMAGE1D_BUFFER images

  • rusticl/format: disable all sRGB formats

  • asahi: flush denorms on exact fmin/fmax

  • zink: wrap shared memory blocks in a struct

  • zink: properly alias shared memory

  • zink: fix zink_destroy_screen for early screen creation fails

  • docs/features: remove empty lines confusing mesamatrix

  • rusticl/device: restrict image_buffer_size

  • rusticl/device: restrict param_max_size further

  • rusticl/mem: properly set pipe_image_view::access

  • zink: lower fisnormal as it requires the Kernel Cap

  • radv: fix buffers in vkGetDescriptorEXT with size not aligned to 4

  • rusticl/queue: Only take a weak ref to the last Event

  • rusticl/mesa: pass PIPE_BIND_LINEAR in resource_create_texture_from_user

  • zink: deallocate global_bindings array

  • rusticl/mesa/screen: do not derefence the entire pipe_screen struct

  • nvc0: implement PIPE_CAP_TIMER_RESOLUTION

  • rusticl/queue: do not send empty lists of event to worker queue

  • rusticl/queue: fix implicit flushing of queue dependencies

Kenneth Graunke (21):

  • iris: Re-emit 3DSTATE_DS for each primitive (workaround 14019750404)

  • intel/compiler: Fix sparse cube map array coordinate lowering

  • intel/compiler: Respect NIR_DEBUG_PRINT_INTERNAL for DEBUG_OPTIMIZER

  • intel/fs: Account for payload GRFs when calculating register pressure

  • intel/compiler: Move SCHEDULE_NONE handling into schedule_instructions()

  • intel/fs: Index scheduler mode string table by mode enum

  • intel/fs: Make helpers for saving/restoring instruction order

  • intel/fs: Pick the lowest register pressure schedule when spilling

  • intel/fs: Dump IR for pre-RA scheduler modes in DEBUG_OPTIMIZER

  • iris: Check prog[] instead of uncompiled[] for BLORP state skipping

  • nir: Fix function parameter indentation in nir_opt_barriers.c

  • nir: Add an optimization pass to reduce barrier modes

  • nir: Reduce the scope of shared memory barriers

  • lavapipe: Don’t delete control barriers

  • virgl, nir_to_tgsi: Add a hack for promoting partial memory barriers

  • dxil: Set UAV_FENCE_THREAD_GROUP any time global isn’t required

  • glsl: Use nir_opt_barrier_modes() to drop unnecessary barriers

  • anv: Use nir_opt_barrier_modes() to drop unnecessary barriers

  • mesa: Fix zeroing of new ParameterValues array entries when growing

  • intel/fs: Fix Xe2 URB read/lowering with per-slot offsets

  • anv: Add support for a transfer queue on Alchemist

Kevron Rees (1):

  • Force vk vendor for spider-man remastered

Konrad Dybcio (5):

  • freedreno: Set magic writes per-GPU, using existing data

  • freedreno: Include speedbin fallback in 740 chipid to fix probing

  • freedreno: Include speedbin fallback in 730 chipid to fix probing

  • freedreno: Include speedbin fallback in 690 chipid to fix probing

  • freedreno: Add Adreno 643

Konstantin Seurer (95):

  • radv: Stop using the misleading round_up_u* functions

  • radv/meta_buffer: Stop setting RADV_META_SAVE_DESCRIPTORS

  • radv/meta_buffer: Rename size_minus16 to max_offset

  • llvmpipe: Fix compiling with LP_USE_TEXTURE_CACHE

  • nir/tests: Refactor boilerplate into a common header

  • nir/tests: Use a single binary

  • draw: Do not restart the primitive_id at 0

  • gallivm: Fix subsampled format sampling under Vulkan

  • gallivm: Ignore nir_tex_src_plane

  • lavapipe: Remove dummy sampler ycbcr conversion

  • lavapipe: Store immutable_samplers as lvp_sampler array

  • lavapipe: Fix binding immutable samplers with desc buffers

  • lavapipe: Implement samplerYcbcrConversion

  • lavapipe: Advertise samplerYcbcrConversion

  • llvmpipe: Zero extend vectors in widen_to_simd_width

  • vulkan: Add a generated vk_properties struct

  • radv: Use common physical device properties

  • clang-format: Disable formatting by default

  • lavapipe: Use common physical device properties

  • nir/from_ssa: Don’t insert store_reg instructions before phis

  • gallivm: Run nir_convert_to_lcssa before nir_convert_from_ssa

  • lavapipe/ci: Remove descriptor_indexing fails

  • radv/rt: Rename shader_pc and next_shader

  • radv/rt: Rename traversal_shader to traversal_shader_addr

  • nir/opt_large_constants: Handle small float arrays

  • bin: Update spirv sources

  • vulkan: Allow beta extensions for physical device features

  • vulkan: Allow beta extensions for physical device properties

  • vulkan Add enqueue entrypoint for CmdDispatchGraphAMDX

  • nir: Add shader enqueue data structures and handling

  • spirv: Update headers and grammer JSON

  • spirv: Implement SPV_AMDX_shader_enqueue

  • lavapipe: Add lvp_pipeline_type

  • lavapipe: Implement exec graph pipelines

  • lavapipe: Implement AMDX_shader_enqueue commands

  • lavapipe: Advertise AMDX_shader_enqueue

  • radv: Add internal_nodes_offset to scratch_layout

  • radv: Remove leaf_args::dst_offset

  • radv/rt: Remove some dead code

  • radv/rt: Do not apply stack_ptr for non-recursive stages

  • radv/rt: Add and use radv_build_traversal

  • radv/rt: Insert rt_return_amd before lowering shader calls

  • radv/rt: Split stage initialization and hashing

  • aco: Do not fixup registers if there are no shader calls

  • radv: Stop updating the stack_size in insert_rt_case

  • lavapipe: Lock around CSO destroys

  • vulkan/wsi/x11: Implement capture hotkey using the keymap

  • venus: Use the common GetPhysicalDeviceFeatures2 implementation

  • nir/lower_shader_calls: Limit the remat chain length

  • lavapipe: Avoid lowering shaders twice

  • lavapipe: Fix the locking around cso destruction

  • aco/validate: Handle p_wqm like p_parallelcopy

  • aco: Use bytes() instead of size() in emit_wqm

  • aco: Unify demote and demote_if selection

  • radv: Only generate debug info if required

  • aco/lower_to_cssa: Fix typo

  • radv: Don’t use the depth image view for depth bias emission

  • radv/rt: Store NIR shaders separately

  • radv/rt: Add monolithic raygen lowering

  • radv/rt: Enable monolithic pipelines

  • radv/ci: Document new flake

  • vulkan/properties: Handle unsized arrays properly

  • radv: Remove dead radix_sort_vk_get_memory_requirements call

  • radv/radix_sort: Vendor the radix sort dispatch code

  • radv: Perform multiple sorts in parallel

  • radv/ci: Improve ray tracing skips

  • ac/llvm: Fix typed loads with 16bit formats

  • ac/llvm: Use the correct return type for uadd_carry and usub_borrow

  • ac/llvm: Use float types for float atomics

  • radv: Don’t advertise features requiring PS epilogs with LLVM

  • radv: Update navi21 llvm fails

  • radv/rt: Handle stages without nir properly

  • radv: Remove ray tracing shader module identifier skips

  • radv/bvh: Treat instances with mask == 0 as inactive

  • radv/ray_queries: Skip cull_mask handling if it is FF

  • radv/rt: Skip cull_mask handling if it is FF

  • aco/spill: Make sure that offset stays in bounds

  • nir: Add nir_cf_node_cf_tree_prev

  • nir: Add nir_foreach_block_in_cf_node_reverse

  • nir: Add nir_rematerialize_deref_in_use_blocks

  • nir/lcssa: Fix rematerializing derefs

  • nir/deref: Layer rematerialization helpers

  • lavapipe/ci: Fix asan expectations

  • hasvk: Use the common GetPhysicalDeviceFeatures2 implementation

  • vulkan: Remove vk_get_physical_device_core_1_*_feature_ext

  • radv/bvh/ploc: Load child bounds from LDS

  • radv: Merge the sync_data and header initialization

  • radv: Do not sync after radv_update_buffer_cp

  • zink: Initialize primitive types to an invalid value

  • nir/passthrough_gs: Support edge flags with points

  • zink: Enable edge flags with points

  • mesa: Fix glBegin/End when LINE_LOOP is not supported

  • llvmpipe: Compile a nop texture function for unsupported configurations

  • radv/rt: Use nir_shader_instructions_pass for lower_rt_instructions

  • radv/sqtt: Fix tracing acceleration structure commands

Lang Yu (5):

  • amd/common: add AMD_CODE_PROPERTY_ENABLE_WAVEFRONT_SIZE32 property

  • radeonsi: use AMD_CODE_PROPERTY_ENABLE_WAVEFRONT_SIZE32 to determine wave size

  • radeonsi: use wave size to determine index stride

  • amd/common: add missing stuff for gfx11.5

  • amd/radeonsi: add missing stuff for gfx11.5

Leandro Ribeiro (13):

  • egl: rewrite outdated comment in _eglFindDevice()

  • egl: remove unused parameter from _eglAddDRMDevice()

  • egl: simplify _eglAddDRMDevice()

  • egl: make explicit that we don’t support render nodes for software EGLDevice

  • egl: move is_render_node flag to platform_wayland

  • loader: rename loader_open_render_node() to loader_open_render_node_platform_device()

  • loader: add driver list as parameter in loader_open_render_node_platform_device()

  • pipe-loader: add pipe_loader_get_compatible_render_capable_device_fd()

  • dri: add queryCompatibleRenderOnlyDeviceFd() to __DRI_MESA extension

  • kmsro: try to use only compatible render-capable devices

  • loader: add loader_is_device_render_capable()

  • egl/drm: get compatible render-only device fd for kms-only device

  • egl: error out if we can’t find an EGLDevice in _eglFindDevice()

Leo Liu (4):

  • radeonsi: add AV1 profile to supported profile

  • radeonsi/vcn: fix the incorrect dt_size

  • Revert “frontends/va: Also map VAImageBufferType for reading”

  • ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG

Lina Versace (14):

  • docs: Add row for VK_KHR_maintenance5

  • intel/pci_ids: Consistently use lowercase

  • venus: Sync protocol for VK_EXT_graphics_pipeline_library

  • venus: Erase pViewports and pScissors in fewer cases

  • venus: Fix crash when VkGraphicsPipelineCreateInfo::layout is missing

  • venus: Fix subpass attachments

  • venus: Drop incorrectly-used always-true pipeline vars

  • venus: Use VkImageAspectFlags in vn_subpass

  • venus: Add enum vn_pipeline_type

  • venus: Renames for VkGraphicsPipelineCreateInfo fixes

  • venus: Refactor pipeline fixup into two stages

  • venus: Do pipeline fixes for VK_EXT_graphics_pipeline_library

  • venus: Enable VK_EXT_graphics_pipeline_library behind debug flag

  • venus: Fix -Wmaybe-uninitialized

LingMan (22):

  • rusticl/memory: fix potential use-after-free in clEnqueueSVMFree

  • rusticl: Rename XyzCB aliases to FuncXyzCB

  • rusticl: add structs to hold the C callbacks

  • rusticl: use CreateContextCB

  • rusticl: use DeleteContextCB

  • rusticl: use EventCB

  • rusticl: use MemCB

  • rusticl: use ProgramCB

  • rusticl: use SVMFreeCb

  • rusticl: Make EventSig take ownership of its environment

  • rusticl: add a safe abstraction to execute a DeleteContextCB

  • rusticl: add a safe abstraction to execute an EventCB

  • rusticl: add a safe abstraction to execute a MemCB

  • rusticl: add a safe abstraction to execute an SVMFreeCb

  • rusticl: add a safe abstraction to execute a CreateContextCB

  • rusticl: add a safe abstraction to execute a ProgramCB

  • rusticl/api: drop a few include paths

  • rusticl: mark the fields of callback structs private

  • rusticl: drop an `#[allow(dead_code)]` marker

  • rusticl/core: don’t take a lock while dropping `Context`

  • rusticl: Show an error message if the build is attempted with an outdated bindgen version

  • rusticl: Show an error message if the version of bindgen can’t be detected

Lionel Landwerlin (169):

  • anv: hide exec_flags selection inside the i915 backend

  • isl: add a tool to query surface parameters

  • intel/fs: fix missing predicate on SEL instruction

  • intel/compiler: rework input parameters

  • ci/a530: switch a few tests to flakes to unblock CI

  • vulkan: bump header register to 1.3.258

  • intel/fs: don’t try to rebuild sequences of non ssa values

  • intel/vec4: fix log_data pointer

  • intel/fs: consider UNDEF as non-partial write

  • intel/fs: add more UNDEFs around SEND messages

  • isl: add ability to store buffer size in unused RENDER_SURFACE_STATE fields

  • anv: simplify buffer address+size loads from descriptor buffer

  • intel/fs: add support for sparse accesses

  • intel/nir: handle image_sparse_load in storage format lowering

  • intel/nir: add lower for sparse images & textures

  • anv: wire image sparse loads

  • blorp: switch blorp_update_clear_color to early return

  • blorp: update and move fast clear PIPE_CONTROLs to drivers

  • anv: fix 3DSTATE_RASTER::APIMode field setting

  • anv: enable EDS3 ConservativeRasterizationMode

  • vulkan: skip non required extension structures

  • vulkan/runtime: add a layered implementation of vkCmdBindIndexBuffer

  • anv: enable INTEL_DEBUG=nofc

  • anv: fake non intel vendorID for Death Stranding

  • hasvk: fix null descriptor handling with A64 messages

  • anv: remove descriptor array bounds checking

  • hasvk: remove descriptor array bounds checking

  • anv/hasvk: track robustness per pipeline stage

  • anv: implement VK_EXT_pipeline_robustness

  • intel/fs: track more steps with INTEL_DEBUG=optimizer

  • intel/fs: add variable for output of debug backend optimizer

  • intel/decoder: constify some input parameters

  • blorp: drop programming of 3DSTATE_(MESH|TASK)_SHADER

  • anv: emit 3DSTATE_GS only once per pipeline

  • intel/decoder: add options to decode surfaces/samplers

  • anv: get rid of genX(emit_multisample)

  • anv: move genX(rasterization_mode) to gfx8_cmd_buffer.c

  • anv: don’t try to access dynamic buffers from surface states

  • iris: ensure stalling pipe control before fast clear

  • intel/compiler: disable per-sample interpolation modes with non-per-sample dispatch

  • intel/compiler: fix dynamic alpha-to-coverage handling

  • intel/fs: implement dynamic interpolation mode for dynamic persample shaders

  • intel/fs: move lower of non-uniform at_sample barycentric to NIR

  • zink+anv: add regression testing with pipeline libraries

  • anv: implement vkCmdBindIndexBuffer2KHR

  • anv: handle new VkBufferViewUsageCreateInfoKHR

  • anv: add vkGetRenderingAreaGranularityKHR()

  • anv: implement GetDeviceImageSubresourceLayoutKHR/GetImageSubresourceLayout2KHR

  • anv: add maintenance5 A8_UNORM/A1B5G5R5_UNORM support

  • anv: deal with new pipeline flags

  • anv: enable KHR_maintenance5

  • anv: add missing ISL storage usage

  • genxml/gfx11: remove Tiled Resource Mode field from HIER_DEPTH_BUFFER

  • genxml/gfx12: rename Tiled Resource Mode

  • isl: program 3DSTATE_HIER_DEPTH_BUFFER_BODY::TiledMode as documented

  • intel/isl: Disallow Yf, Ys and Tile64 for 3D depth/stencil surfaces

  • isl: disable Yf/Ys/Tile64 tilings for 1D images

  • isl: add a usage flag to request 2D/3D compatible views

  • isl: disallow TileYs/Yf on 3D storage images on Gfx9/11

  • intel/isl: Add a max_miptail_levels field to isl_tile_info

  • isl: make isl_surf_get_uncompressed_surf robust to argument accesses

  • isl: add Gfx12/12.5 restriction on 3D surfaces & compression

  • isl: disallow miptails on planar formats

  • isl: disable miptails on gfx12 with yuv formats

  • isl: disable CCS on Ys/Yf

  • blorp: allow 3D blits/copies on Ys/Yf/Tile64 tiling

  • intel/aux_map: correctly program tiling mode for Ys

  • isl: reorder tiling selection

  • anv: enable standard Y tiles

  • isl/tilememcpy_test: add multiple tile testing

  • anv: rename total_batch_size

  • anv: reuse cmd_buffer::total_batch_size

  • intel/measure: track batch buffer sizes

  • intel/nir: rerun lower_tex if it lowers something

  • intel/fs: limit register flag interaction of FIND_*LIVE_CHANNEL

  • hasvk: add state cache invalidation back before fast clears

  • blorp: remove unused variable

  • anv: remove ReorderMode from pipeline 3DSTATE_GS emission

  • anv: change anv_batch_emit_merge to also do packing

  • intel/anv: batch stats util

  • intel/decoder: implement accumulated prints

  • anv: move all dynamic state emission to cmd_buffer_flush_dynamic_state

  • anv: rename files to represent their usage

  • anv: categorize partial/final pipeline instruction

  • anv: split 3DSTATE_TE packing between static & dynamic parts

  • anv: split 3DSTATE_VFG emission

  • anv: add a flag tracking occlusion query count change

  • anv: split pipeline programming into instructions

  • vulkan/runtime: add helper to name dirty states

  • anv: add new low level emission & dirty state tracking

  • anv: remove unused state emission

  • anv: split BLEND_STATE packing from BLEND_STATE_POINTERS emit

  • docs: update Anv documentation about dynamic state emission

  • anv: create individual logical engines on i915 when possible

  • anv: Copy/Clear MSAA images over companion RCS while we are on compute

  • pps-producer: add ability to select device with DRI_PRIME

  • anv: remove aux checking asserts

  • anv: bound image usages to the associated queue family

  • anv: fix 3DSTATE_VFG emission

  • anv: emit 3DSTATE_URB_ALLOC_(MESH|TASK) only when mesh shaders are enabled

  • anv: ensure mesh pipeline have all pre-rasterization stages disabled

  • anv: ensure partially packed instructions are emitted in the pipeline

  • anv: fix missing 3DSTATE_SBE_MESH emission

  • anv: fix utrace timestamp buffer copies

  • anv: add a memcpy compute internal kernel

  • anv: add simple shader support without a command buffer

  • anv: move simple shaders code to its own object

  • anv: move utrace flush out of backends

  • anv: enable utrace timestamp buffer copies on compute engine

  • intel: don’t assume Linux minor dev node

  • intel/ds: lock submissions to u_trace_context

  • util/u_trace: count number of tracepoints

  • intel/ds: track number of tracepoint timestamp copies

  • anv/utrace: trace CPU on timestamp buffer readiness

  • intel/ds: avoid dropping traces when running out of shared memory

  • anv/iris: widen Wa_14015946265 to Gfx11+

  • anv: add missing workaround for 3DSTATE_LINE_STIPPLE

  • iris: add missing workaround for 3DSTATE_LINE_STIPPLE

  • intel/fs: handle ishl in surface/sampler rematerialization

  • intel/fs: handle add3 in surface/sampler rematerialization

  • intel/fs: switch from SIMD 1 to 8 instructions surface/sampler rematerialization

  • anv: fix internal compute copy shader build

  • anv: reduce working temporary memory for BVH builds

  • anv: move bo_pool allocation flags to init caller

  • anv: use buffer pools for BVH build buffers

  • intel/ds: track acceleration RT commands

  • anv: fix index buffer size programming

  • anv: implement INTEL_DEBUG=reemit

  • anv: add missing workaround handling in simple shader

  • anv: fix a couple of missing input for 3DSTATE_RASTER programming

  • anv: flag 3DSTATE_RASTER as dirty after simple shader primitive

  • vulkan: bump headers/registry to 1.3.267

  • anv: rename primary in container in ExecuteCommands()

  • anv: add support for VK_EXT_nested_command_buffer

  • anv: simplify push descriptors

  • anv: fixup spirv cap for ImageReadWithoutFormat on Gfx12.5

  • Revert “intel/fs: limit register flag interaction of FIND_*LIVE_CHANNEL”

  • anv: update batch chaining to Gfx9 commands

  • anv: workaround Gfx11 with optimized state emission

  • u_trace: generate tracepoint index parameter in perfetto callbacks

  • u_trace: generate tracepoint name array in perfetto header

  • intel/ds: provide names for different events of a timeline’s row

  • anv: reuse local variable for gfx state

  • anv: track render targets & render area changes separately

  • anv: don’t uninitialize bvh_bo_pool is not initialized

  • anv: uninitialize queues before utrace

  • anv: move generation shader return instruction to last draw lane

  • anv: fix generated draws gl_DrawID with more than 8192 indirect draws

  • anv: extract out draw call generation

  • anv: identify internal shader in NIR

  • anv: avoid MI commands to copy draw indirect count

  • anv: move generation batch fields to a sub-struct

  • util/glsl2spirv: add ability to pass defines

  • anv: factor out host/gpu internal shaders interfaces

  • anv: index indirect data buffer with absolute offset

  • anv: add ring buffer mode to generated draw optimization

  • anv: merge gfx9/11 indirect draw generation shaders

  • anv: document the draw indirect optimization ring mode

  • anv: fixup 32bit build of internal shaders

  • anv: fix uninitialized use of compute initialization batch

  • intel/fs: fix dynamic interpolation mode selection

  • anv/meson: add missing dependency on the interface header

  • anv: fix corner case of mutable descriptor pool creation

  • isl: disable MCS compression on R9G9B9E5

  • intel/fs: rerun divergence analysis prior to convert_from_ssa

  • intel/nir/rt: fix reportIntersection() hitT handling

  • anv: fix CC_VIEWPORT pointer dirty after blorp/simple-shaders

  • anv: fix dirty state tracking for 3DSTATE_PUSH_CONSTANT_ALLOC

  • intel/perf: fix querying of configurations

Louis-Francis Ratté-Boulianne (15):

  • panfrost: Fix error in comment

  • panfrost: Add methods to determine slice and body alignment

  • panfrost: Add method to get size of AFBC subblocks

  • panfrost: Precalculate stride and nr of blocks for AFBC layouts

  • panfrost: Add panfrost_batch_write_bo

  • panfrost: Make panfrost_resource_create_with_modifier public

  • panfrost: Split out internal of `panfrost_launch_grid`

  • panfrost: Add infrastructure for internal AFBC compute shaders

  • panfrost: Add method to get size of AFBC superblocks valid data

  • panfrost: Add support for AFBC packing

  • panfrost: Legalize resource when attaching to a batch

  • panfrost: Don’t force constant modifier after converting

  • panfrost: Add debug flag to force packing of AFBC textures on upload

  • panfrost: Add some debug utility methods for resources

  • panfrost: Add env variable for max AFBC packing ratio

Lucas Stach (33):

  • ci/etnaviv: update ci expectation

  • etnaviv: move resource seqnos to level

  • etnaviv: flush destination before executing blit

  • etnaviv: optimize resource copies by skipping clean levels

  • etnaviv: add helper to mark resource level as flushed

  • etnaviv: add helper to mark resource level as changed

  • etnaviv: add helper to transfer resource level age to another

  • etnaviv: add helper to get TS validity

  • etnaviv: add helper to set TS validity

  • etnaviv: move TS meta into etna_resource_level

  • etnaviv: add tile status buffer status into TS metadata

  • etnaviv: optimize sampler source update

  • etnaviv: allow sampler TS even if the resource is flushed

  • etnaviv: keep blit destination tile status valid if possible

  • etnaviv: optimize render resource update

  • etnaviv: optimize transfers when whole resource level is discarded

  • etnaviv: split etna_copy_resource_box levels parameter in src/dst

  • etnaviv: don’t allocate full resource as transfer staging

  • etnaviv: check for valid TS as condition to create the staging resource

  • etnaviv: reword comment about staging resource usage

  • etnaviv: remove huge outdated comment

  • etnaviv: move buffer range tracking into the PIPE_MAP_WRITE clause

  • etnaviv: remove superfluous braces

  • etnaviv: remove always true assert in etna_transfer_unmap

  • etnaviv: remove bogus comment about replacing resource storage

  • etnaviv: initialize VIVS_GL_BUG_FIXES

  • etnaviv: fix read staging buffer leak

  • Revert “ci/etnaviv: allow failure on failing test”

  • mesa: enable NV_texture_barrier in GLES2+ (again)

  • etnaviv: use correct blit box sizes when copying resource

  • etnaviv: zero shared TS metadata block

  • Revert “etnaviv: use correct blit box sizes when copying resource”

  • mesa: add GL_APPLE_sync support

Luigi Santivetti (1):

  • pvr: do not claim support for ASTC texture compression

M Henning (31):

  • nv50/ir: Drop nir_jump_return handling

  • nv50/ir: Remove ArgumentMovesPass

  • nv50/ir: Remove Function.stackPtr

  • nv50/ir: Remove dead loop from assignSlot

  • nv50/ir: Remove SpillSlot

  • nvc0: Keep nir directly in nvc0_program

  • nv50: Keep nir directly in nv50_program

  • nouveau: Delete nv50_ir_from_tgsi.cpp

  • nouveau: Drop tgsi support from nv50_ir_prog_info

  • nouveau: Drop ConverterCommon::Subroutine

  • nouveau: Drop BuildUtil::DataArray

  • nouveau: Drop BuildUtil::Location

  • nouveau: Delete the nouveau_compiler tool

  • nv/codegen: Call nir_shader_gather_info

  • nv/codegen: Implement nir_op_fquantize2f16

  • nvk: Remove reference to genUserClip

  • nv/codegen: Use nir_lower_clip

  • nv50_ir_from_nir: Use nir’s lower_fpow

  • nv/codegen: Delete OP_POW

  • nv/codegen: Fix an uninitialized variable warning

  • nv/codegen: Delete OP_WRSV

  • nv/codegen: Delete OP_EXP, OP_LOG

  • nv/codegen: Remove fragCoord variable.

  • nv/codegen: Merge from_common into from_nir

  • nv/codegen: Remove unused clipVertexOutput var

  • nv50_ir_ra: Delete unused functions

  • nv/codegen: Delete unused OP_CONSTRAINT

  • nv/codegen: Delete periodicMask32

  • nv/codegen: Remove Function::buildDefSets

  • nv/codegen: Change copy-constructor call to assign

  • nv/codegen: Delete copy and assign

Maaz Mombasawala (2):

  • svga: Make surfaces shareable at creation.

  • svga: Unify gmr and mob surface pool managers

Marcin Ślusarz (16):

  • iris: avoid duplicating validation entries

  • hasvk: remove dead code & comments related to mesh shading

  • anv: drop support for VK_NV_mesh_shader

  • intel/compiler: remove NV_mesh_shader support

  • intel/compiler: remove redundant code

  • anv: drop unused function

  • anv: merge cases leading to the same code

  • intel/compiler/mesh: compactify MUE layout

  • intel/compiler,anv: put some vertex and primitive data in headers

  • intel/compiler: load debug mesh compaction options once

  • intel/compiler/test: fix crashes when TEST_DEBUG is set

  • intel/compiler: add lsc_msg_desc_wcmask

  • intel/compiler: add initial support for URB_LOGICAL_SRC_CHANNEL_MASK to lower_urb_write_logical_send_xe2

  • intel/compiler/mesh: fix position of output URB handle for xe2

  • intel/compiler/mesh: implement IO for xe2

  • intel/compiler: mask GS URB handles at thread payload construction

Marek Olšák (125):

  • Revert “ac/nir/ngg: Follow intrinsic sources when analyzing before culling.”

  • glthread: determine global locking once every 64 batches to fix get_time perf

  • mesa: fix 38% decrease in display list performance of Viewperf2020/NX8_StudioAA

  • freedreno,lima,zink: update CI fixes and flakes

  • util/u_queue: fix util_queue_finish deadlock by merging lock and finish_lock

  • util/u_queue: always enable UTIL_QUEUE_INIT_SCALE_THREADS, remove the flag

  • radeonsi: fix a CDNA regression breaking compute

  • glthread: sync for VDPAU sync functions

  • radeonsi: turn sh_base[PIPE_SHADER_VERTEX] into a constant in emit_draw_packets

  • radeonsi: restructure the loop for non-indexed multi draws

  • radeonsi: cosmetic changes to radeon_opt_* macros

  • radeonsi: handle draw user SGPRs as tracked registers

  • radeonsi: update obsolete comments about compiler queues

  • radeonsi: remove si_compute.h, move the contents into si_pipe.h

  • radeonsi: move si_update/emit_tess_io_layout_state into si_state_shaders.cpp

  • radeonsi: move si_emit_spi_map into si_state_shaders.cpp

  • radeonsi: move si_emit_rasterizer_prim_state out of si_emit_all_states

  • radeonsi: remove splitting IBs that use too much memory

  • radeonsi: add padding to si_resource to fix Viewperf2020/catiav5test1 perf

  • radeonsi: remove unused check_mem parameter from si_sampler_view_add_buffer

  • radeonsi: remove the draw counter with primitive restart from the HUD

  • radeonsi: always inline si_prefetch_shaders

  • radeonsi: specialize si_draw_rectangle using a C++ template

  • radeonsi: add index parameter into si_atom::emit

  • radeonsi: split direct pm4 emission from si_pm4_emit

  • radeonsi: move code around si_pm4_emit_state into si_pm4_emit_state

  • radeonsi: merge pm4 state and atom emit loops into one

  • radeonsi: add a simple version of si_pm4_emit_state for non-shader states

  • radeonsi: handle deferred cache flushes as a state (si_atom)

  • radeonsi: remove render condition logic from si_draw by reordering atoms

  • radeonsi: abort when failing to upload descriptors instead of skipping draws

  • radeonsi: rename shader_pointers state -> gfx_shader_pointers

  • radeonsi: merge si_upload_*_descriptors into si_emit_*_shader_pointers

  • radeonsi: convert si_gfx_resources_add_all_to_bo_list to a state atom

  • radeonsi/ci: update gfx11 failures

  • radeonsi: move GE_CNTL emission from si_draw into si_emit_vgt_pipeline_state

  • radeonsi: use num_patches_per_workgroup directly in si_get_ia_multi_vgt_param

  • radeonsi: enable shader culling by default because it helps Viewperf

  • radeonsi: rewrite how occlusion query precision is determined for performance

  • radeonsi: set PIPE_CONTEXT_LOSE_CONTEXT_ON_RESET on aux_context explicitly

  • radeon_winsys: move allow_context_lost from cs_create to ctx_create

  • winsys/amdgpu: rework how SW reset status is generated and reported

  • radeon_winsys: add a ctx_set_sw_reset_status callback

  • radeonsi: don’t abort for descriptor failures, let the winsys handle it

  • radeonsi: don’t use threadID.yz/blockID.yz for copy_image if those are always 0

  • radeonsi: don’t use threadID.yz/blockID.yz for compute_blit if they’re always 0

  • nir: fix constant evaluation of fddx/fddy sourcing Inf & NaN constant

  • nir/algebraic: collapse ALU opcodes sourcing NaN

  • ac/gpu_info: add the /dev/dri/ filename into radeon_info

  • Revert “ac: don’t call ac_query_pci_bus_info from ac_query_gpu_info”

  • ac: implement AMD_FORCE_FAMILY properly, remove SI_FORCE_FAMILY

  • ac: document ac_shader_args::gs_vtx_offset

  • ac: minor updates to packet documentation and definitions

  • ac: change offsets of DMA_DATA dwords to prevent reg offset conflicts

  • ac: improve the IB parser

  • ac: update gfx11 shadowed register tables

  • ac: add a standalone IB parser program

  • ac/surface: trivial non-functional changes

  • ac/surface: add radeon_surf::u::gfx9::uses_custom_pitch

  • radeonsi: allow setting any index in radeon_set_sh_reg_idx

  • radeonsi: rename uses_subgroup_info to uses_tg_size

  • radeonsi: improve the heuristic when to use Wave32 for compute shaders

  • radeonsi: simplify/merge emit_shader_ngg functions

  • radeonsi: don’t pass gl_Layer to PS for blit shaders

  • radeonsi/gfx11: pass attribute ring addr via SGPR instead of memory for blits

  • radeonsi: fix templated si_draw_rectangle callback for Navi14

  • nir: replace undef only used by ALU opcodes with 0 or NaN

  • nir: remove nir_op_unpack_64 handling from nir_opt_undef

  • ac/llvm: don’t convert undef to 0 because nir_opt_undef does it now

  • meson: use llvm-config instead of cmake to fix linking errors with meson 1.2.1

  • gallivm: fix build with LLVM 18

  • amd/llvm: fix build with LLVM 18

  • radeonsi: fix compute-only contexts

  • ac/llvm: replace removed amdgcn.ldexp for LLVM 18

  • ac/perfcounter: remove a bogus assert to fix an assertion failure on gfx11

  • ac/llvm: set !fpmath 3.0 for llvm.sqrt

  • ac/gpu_info: don’t align IBs to the GL2 cache line size

  • ac/llvm: fix flat PS input corruption

  • amd: rename GFX110x to NAVI31-33

  • ac/gpu_info: replace ib_alignment with per-IP IB base and size alignments

  • ac/gpu_info: pad IBs according to ib_size_alignment

  • winsys/amdgpu: pad gfx and compute IBs with a single NOP packet

  • Revert “radeonsi: specialize si_draw_rectangle using a C++ template”

  • radeonsi/ci: update navi10 results

  • gallium/util: fix GALLIUM_TESTS=1 by using cso_set_vertex_buffers_and_elements

  • gallium/util: add more tests for compute-only contexts

  • radeonsi: add another aux context for uploading shaders

  • radeonsi: upload shaders via a staging buffer so as not to map VRAM directly

  • ac/surface: don’t require exact pitch for gfx6-8 tiled imports

  • Revert “ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG”

  • Revert “radv/amdgpu: fix alignment of command buffers”

  • Revert “radv: fix alignment of DGC command buffers”

  • Revert “winsys/amdgpu: pad gfx and compute IBs with a single NOP packet”

  • Revert “ac/gpu_info: pad IBs according to ib_size_alignment”

  • Revert “ac/gpu_info: replace ib_alignment with per-IP IB base and size alignments”

  • nir: sort variables by location in nir_lower_io_passes to work around a bug

  • nir: recompute IO bases after DCE in nir_lower_io_passes

  • nir: add dual-slot input information into load_input intrinsics

  • nir: take dual slot input info into account when computing IO driver locations

  • nir: gather dual slot input information

  • nir: expose reusable linking helpers for cloning uniform loads

  • nir: handle nir_var_mem_ubo in nir_clone_uniform_variable

  • ac/gpu_info: split ib_alignment as ip[type].ib_alignment

  • ac/gpu_info: move ib_pad_dw_mask into ip[]

  • ac/gpu_info: drop the hack unifying all IB alignments

  • ac/gpu_info: conservatively decrease IB alignment and padding to 256B

  • ac/gpu_info: set gfx and compute IB padding to only 8 dwords

  • winsys/amdgpu: properly pad the IB in amdgpu_submit_gfx_nop

  • winsys/amdgpu: correctly pad noop IBs for RADEON_NOOP=1

  • winsys/amdgpu: pad gfx and compute IBs with only 1 NOP

  • ac/gpu_info: don’t allow register shadowing with SR-IOV due to bad performance

  • radeonsi: disable register shadowing without SR-IOV to fix bad performance

  • winsys/amdgpu: don’t send CP_GFX_SHADOW chunk if shadow address is not set

  • radeonsi/ci: update gfx1100 results

  • nir: split FLOAT_CONTROLS_SIGNED_ZERO_INF_NAN_PRESERVE_FP* flags

  • nir/algebraic: use only signed_zero_preserve_* for addition by 0 patterns, etc.

  • mesa: don’t pass Infs to the shader via gl_Fog.scale

  • radeonsi/ci: update the runner for new build scripts

  • radeonsi/ci: enable GTF tests in the runner

  • radeonsi/ci: enable GLES CTS in the runner

  • radeonsi/ci: update failures and flakes

  • amd/common: update DCC for gfx11.5

  • radeonsi: initialize perfetto in the right place

  • radeonsi/gfx11: don’t set OREO_MODE to fix rare corruption

  • nir: fix gathering TESS_LEVEL_INNER/OUTER usage with lowered IO

Marek Vasut (1):

  • etnaviv: Fully replicate back stencil config

Mark Collins (10):

  • tu/a7xx: Adapt r3d blits for A7xx

  • freedreno/rnn: Remove %n usage in fprintf

  • freedreno: Only add drm/computerator when system_has_kms_drm

  • freedreno/decode: Support building replay for multiple KMDs

  • freedreno+meson: Add lua+libarchive+libxml from Meson WrapDB

  • meson: Warn about side-effects from DRM for FD KMDs

  • meson: Update libarchive to v3.7.2-2

  • freedreno/common: Add max_sets property to A6xxGPUInfo

  • tu: Support higher descriptor set count for A7XX

  • tu,util/driconf: Add option to not reserve descriptor set

Mark Janes (1):

  • intel: allow reduced memory usage for INTEL_MEASURE

Martin Roukala (né Peres) (22):

  • radv/ci: drop the auto-reboot-on-hang for vkcts-navi10

  • radv/ci: use the default kernel on vkcts-navi10

  • zink/ci: automatically reboot when hitting a kernel BUG on vangogh

  • zink/ci: document more flakes seen on vangogh

  • radv/ci: move vkcts-navi10 testing to KWS

  • radv/ci: add more tests to the navi10 vkcts flake list

  • radv/ci: increase the parallelism of the vkcts-navi21 job

  • radv/ci: add more tests to the navi21 vkcts flake list

  • radv/ci/vkcts-navi21: catch all the line_stipple_(enable|params) flakes

  • radv/ci/vkcts-navi21: document more flakes

  • radv/ci/vkcts-navi10: catch all the line-related flakes

  • radv/ci: update the vkcts gfx1100 flake/fail lists

  • radv/ci: add a manual job to run vkcts on navi31

  • radv/ci: add a manual job for vkd3d-proton on navi31

  • ci/vkcts-vangogh: mark dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.* as flake

  • ci/vkcts-navi21: mark more of the RT handles checks as flakes

  • ci: make B2C_JOB_VOLUME_EXCLUSIONS to all .b2c-test jobs

  • zink/ci: remove 19 tests from the zink-radv-polaris10-fails list

  • ci/b2c: switch containers to a back-up ahead of valve-infra renaming

  • zink/ci: remove 42 tests from the zink-radv-polaris10-fails list

  • radv/ci: tighten the vkcts-navi21 timeouts

  • zink/ci: tighten the zink-radv-vangogh timeouts

Martin Stransky (1):

  • llvmpipe: fix UAF in lp_scene_is_resource_referenced.

Mary (6):

  • nouveau/mme: Add initial Fermi definition

  • nouveau/mme: Add Fermi builder

  • nouveau/mme: Add Fermi simulator

  • nouveau/mme: Add Fermi hardware tests

  • agx: Move nir_lower_fragcolor out of agx_preprocess_nir

  • agx: Ensure to lower 1D image load/store to 2D

Mary Guillemard (4):

  • nir: Add NVIDIA-specific geometry shader opcodes

  • venus: skip bind sparse info when checking for feedback query

  • zink: Check for VK_EXT_extended_dynamic_state3 before setting A2C

  • venus: Do not submit batch manually when no feedback is required

Matt Coster (21):

  • pvr: Pad rogue_regarray_cache_key union members to avoid UB

  • pvr: Clean up extension tables

  • pvr: Refactor pvr_GetPhysicalDeviceProperties2()

  • docs: Fixup imagination/pvr extension support

  • pvr: Add VK_KHR_get_display_properties2

  • pvr: Add VK_KHR_get_memory_requirements2

  • pvr: Add VK_KHR_get_surface_capabilities2

  • pvr: Print VkStructureType name on pvr_debug_ignored_stype()

  • pvr: Add VK_KHR_copy_commands2

  • pvr: Don’t override commands copied to new buffer when extending cs

  • pvr: Do not require TA_STATE_HEADER.pres_ispctl_dbsc for {db,sc}enable

  • pvr: Zero tail of cs buffers after linking when dumping cs

  • pvr: Cleanup comments in pvr_physical_device_get_supported_*()

  • pvr: Don’t rely on GNU void pointer arithmetic

  • pvr: Force compile error on GNU void pointer arithmetic

  • pvr: Switch to common pipeline cache implementation

  • pvr: Use vk_sampler base

  • pvr: Clean up & fix sampler border color support

  • pvr: Don’t pass pvr_physical_device when only device info is needed

  • pvr: Minor refactor of pvr_device.c

  • pvr: Use common physical device properties

Matt Turner (10):

  • Revert “intel/fs: only avoid SIMD32 if strictly inferior in throughput”

  • intel: Rearrange for next commit

  • intel: Consider with_intel_clc in with_any_intel

  • intel: Only build blorp if drivers are enabled

  • intel: Only build ds if drivers are enabled

  • intel: Only build perf if drivers or tools are enabled

  • intel: Allow using intel_clc from the system

  • intel: Limit Intel Vulkan RT to x86_64

  • r600: Add missing dep on git_sha1.h

  • util: Include stdint.h in libdrm.h

Mauro Rossi (7):

  • nouveau/ws: fix building error in nouveau_ws_push_dump()

  • vulkan/meta: fix gnu-empty-initializer build error

  • nouveau/mme: fix print inst for case MME_FERMI_OP_MERGE

  • anv/android: remove numFds check

  • hasvk/android: remove numFds check

  • Android.mk: filter out cflags to build with Android 14 bundled clang

  • Android.mk: disable android-libbacktrace to build with Android 14

Mike Blumenkrantz (293):

  • ci: bump VVL to 1.3.257

  • zink: set pipeline dynamic state count after all dynamic states are set

  • zink: set feedback attachments on batch init

  • zink: be even dumber about buffer refs when replacing storage

  • zink: emit SpvCapabilitySampleMaskPostDepthCoverage with SpvExecutionModePostDepthCoverage

  • zink: fix the fix for separate shader program refcounting

  • kopper: handle pixmap creation failure more gracefully

  • glxsw: check geometry of drawables on creation

  • kopper: move pixmap param for drawable creation to info struct

  • glx/dri3: split out modifier check

  • glx/sw: check for modifier support in the kopper path

  • kopper: pass modifier availability to drawable creation

  • kopper: determine modifier support per-drawable

  • zink: don’t clobber descriptor mode on multiple screen creation

  • nir: fix slot calculations for compact variables with location_frac

  • lavapipe: use the component offset directly for xfb

  • nir: add a helper for calculating variable slots

  • radv: bump max xfb output to 128

  • ir3: bump max xfb output to 128

  • gallium: bump PIPE_MAX_SO_OUTPUTS to 128

  • zink: add feedback loop exts to optimal profile

  • glsl: only explicitly check GS components in PSIZ injection with output variables

  • lavapipe: statically allocate fb attachment array

  • lavapipe: zero fb attachment array at rp start

  • lavapipe: don’t check geometry for fb attachments

  • lavapipe: be slightly more permissive for bad apps (and cts) with dynrender

  • lavapipe: VK_EXT_host_image_copy

  • zink: better handle separate shader dsl creation when no bindings exist

  • zink: force image barriers after dmabuf import

  • ci: bump VVL to 1.3.261

  • zink: use VK_WHOLE_SIZE when binding null db buffer descriptors

  • zink: unset line stipple ds3 state flags when stipple not available

  • nir/lower_io_to_scalar: fix 64bit io splitting

  • nir/linking_helpers: force type matching in does_varying_match

  • nir/print: print location names for (some) tess slots

  • nir/print: always group variables by type when printing

  • zink: add batch refs for transient images

  • zink: fix zs resolve attachment indexing

  • zink: don’t add VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT for transient images

  • zink: don’t append msrtss to dynamic render if not supported

  • zink: set msrtss depth resolve mode when enabled

  • zink: hook up VK_KHR_workgroup_memory_explicit_layout

  • zink: propagate have_workgroup_memory_explicit_layout to ntv

  • zink: use SPV_KHR_workgroup_memory_explicit_layout when available

  • zink: add more locking for pipeline cache

  • zink: add VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT

  • aux/trace: fix winsys handle dumping

  • zink: generated tcs is on the tes, not the vs

  • zink: apply ZINK_DEBUG=noopt to linked separate shaders

  • gallivm: handle A8_UNORM image stores

  • llvmpipe: enable A8_UNORM for shader images

  • llvmpipe: export PIPE_CAP_IMAGE_LOAD_FORMATTED

  • lavapipe: GetRenderingAreaGranularityKHR

  • llvmpipe: block weird uses of subsampled formats in buffers

  • llvmpipe: fix early depth + alpha2coverage + occlusion query interaction

  • lavapipe: fix BindVertexBuffers2 buffer size handling

  • lavapipe: fix resolves where src image has a layer offset

  • lavapipe: block yuv formats from getting blit feature flags

  • lavapipe: BindIndexBuffer2

  • lavapipe: GetDeviceImageSubresourceLayoutKHR

  • lavapipe: VK_REMAINING_ARRAY_LAYERS for copy ops

  • lavapipe: maintenance5

  • zink: fix xfb buffer array sizing to use buffer limit, not output

  • zink: move ZINK_DEBUG=nir printing to just before compile

  • draw: fix so debug offset printing

  • zink: reindex ssa defs before dumping debug shaders

  • lavapipe: zero-init pipe_sampler_state

  • zink: explicitly set non-optimal last_vertex_stage shader key on ctx create

  • zink: fix big tcs output io

  • zink: don’t try to replace separate shader prog in noopt mode

  • zink: pre-convert mode in fixup_io_locations

  • zink: add a special separate shader i/o mode for legacy variables

  • nir: minor fixes for io_to_scalar

  • nir/lower_io: add a new doubles-only 64bit lowering option

  • nir: add a filter cb to lower_io_to_scalar

  • d3d10umd: use cso_context to set vertex buffers and elements

  • virgl: move virgl_vertex_elements_state to header

  • virgl: fix some indentation

  • nouveau: calloc vertex csos

  • gallium: move vertex stride to CSO

  • zink: fix null config screen creation

  • zink: fix crash in lower_pv_mode_gs_store

  • u/draw: skip zero-sized indirect draws

  • lavapipe: handle VkPipelineCreateFlagBits2KHR

  • lavapipe: handle VkBufferUsageFlags2KHR

  • zink: ci updates

  • zink: track start/stop of a couple query types

  • zink: require EDS1 for CWE usage

  • zink: unset primgen suspended flag when ending a primgen query

  • zink: rework rast-discard for primgen queries

  • zink: rip out some awkward parts of the old non-cwe path

  • zink: drop CWE requirement for renderpass tracking with primgen queries

  • nir/zink: fix gs emulation xfb_info sizing

  • zink: move fragcolor lowering further along the compile process

  • zink: add a mode param to find_var_with_location_frac

  • zink: use lowered io (kinda) for i/o vars

  • zink: stop lowering indirect derefs

  • ntt: handle interp intrinsics as derefs

  • zink: delete split_blocks pass

  • zink: delete lower_64bit_vertex_attribs pass

  • zink: fix clip/cull dist xfb inlining

  • zink: delete all the extra gross xfb handling

  • zink: stop using pipe_stream_output

  • zink: remove pipe_stream_output from function params

  • zink: ci updates

  • aux/trace: print bindless handles as pointers

  • zink: remove unused param from create_ici

  • zink: split create_ici to init and eval

  • zink: add maintenance extensions to profile

  • zink: use maintenance5

  • zink: use real A8_UNORM when possible

  • vk/graphics: fix CWE handling with DS3

  • Revert “vk/wsi/x11: handle geometry updating more asynchronously”

  • r600: store the mask of buffers used by a vertex state

  • r600: better tracking for vertex buffer emission

  • zink: wait on async fence during ctx program removal

  • zink: handle patch variable locations for separate shaders better

  • zink: don’t start multiple cache jobs for the same program

  • zink: use the “set” optimal key for prog last_variant_hash for consistency

  • zink: sanitize optimal keys

  • zink: copy some cs shader properties to the program struct

  • zink: handle global atomic intrinsics

  • zink: use Aligned with global load/store ops

  • zink: fix rewrite_read_as_0 filtering

  • rusticl: fixes for zink shader images

  • zink: pass KERNEL shaders through successfully

  • zink: add a618 flake

  • zink: break out ds3 state resetting

  • zink: be consistent with ds3 state resetting for blits

  • zink: fix optimal_keys warning message

  • zink: force-reset unordered flags for buffer barriers on non-matching batch access

  • zink: reset unordered flags for image barriers on non-matching batch access

  • zink: make image barrier init functions void return

  • zink: simplify some image barrier conditionals

  • zink: remove sync TODO

  • zink: add lavapipe flake

  • ci: disable nouveau shaderdb

  • egl/dri3: only set driver_name if not already set

  • egl: call dri3_x11_connect() for zink

  • egl: bind dri2_set_WL_bind_wayland_display for zink when necessary

  • zink: be more precise about flagging rp changes around unordered u_blitter

  • zink: don’t block reordering during ref updates in unordered blits

  • lavapipe: update vbo indices before propagating stride

  • lavapipe: fix pipeline stride propagation

  • zink: fix linear modifier dmabuf imports

  • zink: polaris ci updates

  • aux/tc: handle stride mismatch during rp-optimized subdata

  • zink: always add a per-prog ref for gpl libs

  • zink: use a pointer to simplify submit struct mechanics

  • zink: make zink_resource_image_barrier2_init public

  • zink: add a third submitinfo (unused for now)

  • zink: make submitinfo handling easier to manage with enum

  • zink: add another submitinfo for fd semaphore waits

  • zink: add a screen cache for fd semaphores

  • zink: add a util for getting cached fd semaphores

  • zink: hook up cached fd semaphore usage for batch signal/waits

  • zink: handle implicit sync for dmabufs

  • zink: handle multi-plane implicit sync

  • zink: ci updates

  • zink: set is_xfb=false for all i/o variables

  • zink: reorder bindless io lowering

  • zink: fix typing on bindless io lowering

  • zink: delete some bindless io lowering code

  • zink: use nir_io_semantics::num_slots for indirect var creation

  • zink: simplify an arrayed io check during variable creation

  • zink: use explicit stride from types instead of copying old_var stride

  • zink: use MAX_PATCH_VERTICES directly for arrayed io var sizing

  • zink: use explicit sizing for builtins when creating variables

  • zink: create new vars without copying existing ones

  • zink: add a new linker pass to handle mismatched i/o components

  • zink: use right function to get src_type in eliminate_io_wrmasks

  • zink: re-rework i/o variable handling to make having variables entirely optional

  • ci: bump VVL to 1.3.263

  • zink: simplify redundant is_buffer check

  • zink: use VkFormatProperties3

  • lavapipe: handle VkHostImageCopyDevicePerformanceQueryEXT

  • lavapipe: don’t advertise UNDEFINED layout for HIC

  • zink: hook up VK_EXT_host_image_copy

  • zink: move mem type detection up in file

  • zink: disable HIC without resizable BAR

  • zink: add a fixup method for extra driver props

  • zink: fix some off-by-one indentation

  • zink: use some return codes for check_ici errors

  • zink: check/use suboptimal HIC during ici init

  • zink: use HIC for image subdata when possible

  • zink: slightly refactor psiz deletion during linking

  • zink: delete all psiz=1.0 stores if maintenance5 is present

  • nir/inline_uniforms: fix oob access with nir_find_inlinable_uniforms

  • zink: add ZINK_DEBUG=quiet

  • zink: imply ZINK_DEBUG=quiet if ZINK_DEBUG=optimal_keys is set on turnip

  • zink: set optimal_keys for turnip jobs

  • aux/tc: fix staging buffer sizing for texture_subdata

  • aux/tc: fix address calc for segmented texture subdata

  • zink: ci updates

  • lavapipe: KHR_map_memory2

  • zink: slightly refactor pipeline compile selection

  • zink: add a flag for combined pipeline compile for doing FAIL_ON_PIPELINE_COMPILE_REQUIRED

  • zink: remove an intermediate variable in pipeline compile selection

  • zink: use FAIL_ON_PIPELINE_COMPILE_REQUIRED for GPL path

  • zink: pass a stage mask to pipeline create functions

  • glsl: check for xfb setting xfb info

  • zink: don’t warn about missing scalarBlockLayout on v3dv

  • aux/tc: fix renderpass tracking fb state clobber scenario

  • vk/enum2str: add more max enum vendors

  • aux/tc: fix rp info handling around tc_sync calls

  • aux/tc: don’t use pipe_buffer_create_with_data() for rp-optimized subdata

  • zink: flag db maps as unsynchronized

  • lavapipe: clamp cache uuid size

  • lavapipe: EXT_load_store_op_none

  • tu: handle unused color attachments without crashing

  • zink: use much bigger dummy surfaces

  • zink: propagate rp_tc_info_updated across unordered blits

  • zink: use null attachments for null attachments with dynamic render

  • egl/swrast: expose EXT_swap_buffers_with_damage and EXT_present_opaque

  • egl/wayland: split out wl drm extension init

  • egl/wayland: use more registry listeners to better handle device init

  • egl/wayland: enable WL_bind_wayland_display for zink

  • zink: delete injected pointsize during shader creation

  • zink: require maintenance5 for shobj

  • zink: delete a non-maintenance5 workaround for shobj use

  • lavapipe: set separate_shaders for shader objects

  • zink: set workgroup_memory_explicit_layout for shader validation

  • zink: add a ZINK_DEBUG=validation alias

  • zink: fix semaphore signal ordering

  • zink: move swapchain fence to swapchain object

  • zink: avoid UAF on wayland async present with to-be-retired swapchain

  • zink: always trace_screen_unwrap in acquire

  • lavapipe: fix variable descriptor count support handling

  • lavapipe: always set independent blend

  • lavapipe: more vertex stride fixups

  • lavapipe: set default viewport and scissor count for cmdbufs

  • lavapipe: set default min sample shading to 1

  • glx: XFree visual info

  • radv: fix external handle type queries for dmabuf/fd

  • zink: fix crashing in image rebinds

  • zink: move push descriptor disable to driver workarounds

  • zink: move v3dv scalarBlockLayout workaround

  • zink: fix end-of-batch barrier pipeline stages

  • zink: guarantee egl syncobj lifetime

  • aux/trace: dump enum names for map usage

  • gallium: add PIPE_MAP_NONE

  • Revert “egl/wayland: Add image loader extension for swrast”

  • egl/wayland: don’t block in swrast when updating buffers for zink

  • egl/wayland: return sooner from swrast_update_buffers() if zink

  • zink: don’t check submit count for unflushed usage

  • egl: don’t set ForceSoftware for all zink loading

  • zink: error at handle export on missing EXT_image_drm_format_modifier

  • gbm: delete some zink handling

  • zink: apply ZINK_DEBUG=quiet to all missing feature warnings

  • zink: set ZINK_DEBUG=quiet for polaris jobs

  • lavapipe: don’t block begin/end cmdbuf pipeline barriers

  • ci: add a630 trace flakes

  • zink: shrink vectors during optimization

  • zink: always clamp shader stage in descriptor handling

  • zink: add set_global_binding

  • zink: eliminate samplers from no-sampler CL texops

  • zink: add some checks to determine whether queue is init on screen destroy

  • zink: don’t destroy any simple_mtx_t objects during screen destroy

  • zink: don’t destroy uninitialized disk cache thread

  • zink: reorder glsl_type_singleton_init_or_ref call

  • zink: use screen destructor for creation fails

  • zink: fix readback_present locking

  • zink: add automatic swapchain readback using heuristics

  • lavapipe: VK_EXT_nested_command_buffer

  • zink: ignore unacquired swapchain images during end-of-frame flush

  • nir/lower_fragcolor: preserve location_frac

  • zink: update pointer for GPL pipeline cache entry formats

  • zink: fix legacy depth texture rewriting for single component reads

  • egl: unify dri2_egl_display creation

  • egl: init dri3 version info during screen creation

  • egl/glx: don’t load non-sw zink without dri3 support

  • egl: add automatic zink fallback loading between hw and sw drivers

  • glx: add automatic zink fallback loading between hw and sw drivers

  • ci: don’t set GALLIUM_DRIVER for zink

  • egl/wayland: only add more registry listeners for hardware devices

  • zink: only increment image_rebind_counter on image export if binds exist

  • zink: check for sampler view existence during zink_rebind_all_images()

  • zink: use weston for anv ci

  • zink: blow up broken xservers more reliably

  • zink: delete some dead modifier handling

  • ci: skip implicit modifier piglits for zink

  • zink: don’t block large vram allocations

  • zink: add copy box locking

  • zink: emit SpvCapabilitySampleRateShading with SampleId

  • zink: always set VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT for usermem

  • zink: clamp resolve extents to src/dst geometry

  • zink: only emit xfb execution mode for last vertex stage

  • aux/u_transfer_helper: set rendertarget bind for msaa staging resource

  • zink: unset explicit_xfb_buffer for non-xfb shaders

  • mesa/st/texture: match width+height for texture downloads of cube textures

  • zink: add more locking for compute pipelines

  • radv: correctly return oom from the device when failing to create a cs

  • zink: check for cbuf0 writes before setting A2C

Mohamed Ahmed (19):

  • vulkan/util: Support 10-bit and 12-bit color formats in ycbcr_info in vk_format.c

  • vulkan/util: Support VK_EXT_ycbcr_2plane_444_formats color formats in vk_format.c

  • vulkan/util: Use ycbcr_info for multiplane helpers in vk_format.c

  • nvk: implement vkGetDeviceImageMemoryRequirementsKHR()

  • nvk: add stub for vkGetDeviceImageSparseMemoryRequirementsKHR()

  • nvk: implement vkGetDeviceBufferMemoryRequirementsKHR()

  • nvk: advertise VK_KHR_maintenance4

  • nvk: advertise DemoteToHelperInvocation

  • nvk: Enable multiplane images and image views

  • nouveau/nvk: Add YCbCr sampler NIR lowering pass

  • nouveau/nvk: Support multi-plane descriptors in nvk_nir_lower_descriptors.c

  • nouveau/nvk: Create helper function for sampler creation

  • nouveau/nvk: Add multiple sampler planes for CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT

  • nouveau/nvk: Enable VK_KHR_sampler_ycbcr

  • util/format: Add G8B8_G8R8_422_UNORM and B8G8_R8G8_422_UNORM formats

  • vulkan/format: Translate G8B8G8R8_422_UNORM and B8G8R8G8_422_UNORM properly

  • nvk: Enable SEPARATE_RECONSTRUCTION_FILTER_BIT for multi-planar formats only

  • nvk: Enable MIDPOINT_CHROMA_SAMPLES_BIT for multi-planar formats only

  • nil: Add support for G8B8_G8R8_UNORM and B8G8_R8G8_UNORM

Nanley Chery (33):

  • iris: Remap DRM_FORMAT_MOD_INVALID more often during import

  • anv: Don’t support ASTC images with modifiers

  • intel: Add and use isl_drm_modifier_get_plane_count

  • anv: Handle explicit surface layout of DG2_RC_CCS

  • anv: Reduce accesses of isl_mod_info->aux_usage

  • iris: Reduce accesses of mod_info->aux_usage

  • crocus: Delete modifier with aux code

  • hasvk: Delete modifier with aux code

  • iris: Swap stencil and modifier aux assignment order

  • intel: Describe modifier compression with booleans

  • intel/isl: Move the Tile4 modifier score case down

  • intel/isl: Add a score for DG2_RC_CCS

  • intel/blorp: Ambiguate after CCS resolves on gfx7-8

  • iris: Reorder render_aux_usage parameters

  • iris: Pass the render format to prepare_render

  • iris: Create BLORP surfaces after resource preparation

  • iris: Handle clear color compatibility in prepare_render

  • iris: Sample more texture view fast-clears on gfx11+

  • iris: Fix aux usage tracking in prepare_render

  • iris: Fix iris_copy_region calls involving FCV_CCS_E

  • iris: Drop get_copy_region_aux_settings

  • iris: Inline iris_can_sample_mcs_with_clear

  • anv: Initialize the clear color more often for FCV

  • intel: Return a bool from intel_aux_map_add_mapping

  • anv: Move scope of CCS binding determination

  • anv: Allocate space for aux-map CCS in image bindings

  • anv: Wrap aux surface image binding queries

  • anv: Refactor CCS disabling at image bind time

  • anv: Place images into the aux-map when safe to do so

  • anv: Loosen anv_bo_allows_aux_map

  • anv: Meet CCS alignment reqs with dedicated allocs

  • anv: Delete implicit CCS code

  • intel/isl: Add scores for GEN12_RC_CCS and MTL_RC_CCS

Neal Gompa (1):

  • asahi: Fix 32-bit x86 build with correct data type for overflow error message

Neha Bhende (1):

  • ntt: lower indirect tesslevels in ntt

Paul Gofman (2):

  • driconf: add a workaround for Captain Lycop: Invasion of the Heters

  • driconf: add a workaround for Rainbow Six Extraction

Paulo Zanoni (15):

  • anv: rename the vm_bind vfuncs

  • anv: add a new vm_bind vfunc

  • anv/xe: make vm_binds async

  • anv/xe: return failure in case waiting for the vm_bind syncobj fails

  • anv: remove misleading comment about batch_len

  • iris: assert bufmgr->bo_deps_lock is held

  • iris: avoid stack overflow in iris_bo_wait_syncobj()

  • iris: assert(bo->deps) after realloc()

  • intel/isl: add ISL_SURF_USAGE_SPARSE_BIT

  • intel/isl: simplify the check for maximum surface size

  • anv/sparse: add the initial code for Sparse Resources

  • anv/sparse: get ready to issue a single vm_bind ioctl per non-opaque bind

  • anv/sparse: add INTEL_DEBUG=sparse

  • anv: enable sparse resources by default

  • vulkan: fix potential memory leak in create_rect_list_pipeline()

Pavel Ondračka (44):

  • r300: update RV370 failures

  • r300: check for index overflow when translating from TGSI

  • r300: source register index is always unsigned

  • r300: bump the RC_MAX_INDEX_BITS

  • r300: normal instruction can’t have presubtract op

  • r300: add a helper for checking number of temporary sources

  • r300: cycles estimate for shader-db

  • r300: fix cycles calculation

  • r300: don’t abort on flow control when using draw for vs

  • r300: add dEQP baseline for RV370 with forced swtcl

  • r300: copy ntt to r300 compiler

  • r300: add lower_sqrt to nir option

  • r300: remove unused intrinsics in ntr

  • r300: remove irrelevant opcodes in ntr

  • r300: remove unused integer support in ntr

  • r300: remove ntr_tgsi_usage_mask

  • r300: remove more unused 64-bit pieces from ntr

  • r300: simplify vectorization rules

  • r300: remove more ntr unused helpers

  • r300: remove the unneeded ntr_lower_vec_to_reg callback

  • r300: remove unneeded 64bit and atomic lowering passes

  • r300: remove unused ntr default settings

  • r300: remove ntr default options

  • r300: simplify ntr_emit_load_ubo

  • r300: simplify ntr_emit_load_input

  • r300: remove some virglrenderer specifics from ntr

  • r300: simplify ntr_setup_uniforms

  • r300: simplify ntr_output_decl

  • r300: simplify ntr_try_store_in_tgsi_output

  • r300: remove some unsupported texture opcodes

  • r300: remove unused barrier code from ntr

  • r300: simplify ntr_get_gl_varying_semantic

  • r300: remove the nrt main optimization loop

  • r300: reorder for easier presubtract 1-x pattern recognition

  • r300: exit early in presubtract is not supported

  • r300: implement bias presubtract

  • r300: convert x * 2 into x + x for presubtract

  • r300: move power of two multipliers down

  • r300: there is no limitation on presubtract source file

  • r300: use w channel for scalar opcodes if possible

  • r300: reduce number of iterations for vertex shader loops

  • r300: enable nir_move_vec_src_uses_to_dest

  • nir/move_vec_src_uses_to_dest: skip reuse if vec is used only once in store_output

  • nir/move_vec_src_uses_to_dest: allow to skip reuse of constant sources

Philipp Zabel (1):

  • etnaviv: fix segfault after compile failure

Pierre-Eric Pelloux-Prayer (18):

  • radeonsi/sdma: use multiple commands if required

  • radv/sdma: use multiple commands if required

  • radv/sdma: use correct limits for gfx10.3

  • glx: drop the ‘libGL’ log prefix

  • loader: refactor DRI_PRIME handling code

  • loader: extend DRI_PRIME to support =N

  • loader: add DRI_PRIME_DEBUG env var

  • device_select_layer: support DRI_PRIME=n

  • docs: update DRI_PRIME documentation

  • device_select: add shortcut for MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE

  • st/mesa: check renderbuffer before using it

  • radeonsi: emit framebuffer state after allocating cmask

  • amd/common: update addrlib for gfx11.5

  • amd/common: add registers for gfx11.5

  • ac/nir: extract must_wait_attr_ring helper

  • amd, radeonsi: Add code to enable gfx11.5

  • mesa: restore call to _mesa_set_varying_vp_inputs from set_vertex_processing_mode

  • radeonsi: check sctx->tess_rings is valid before using it

Piotr Kocia (2):

  • nir: Remove dead nir_const_value variables

  • glsl: ir_function_param_visitor::visit_enter always true condition

Qiang Yu (77):

  • aco,radv: replace tess_input_vertices shader info param

  • radeonsi: aco does not pass LS outputs to HS by arg

  • radeonsi: extract si_get_prev_stage_nir_shader to be shared with aco

  • radeonsi: init aco shader info for merged LS/HS

  • radeonsi: simplify si_build_wrapper_function

  • radeonsi: move vertex shader vb desc input sgpr args to last

  • radeonsi: remove param type check in wrapper function

  • radeonsi: refine si_llvm_ls_build_end

  • radeonsi: refine si_llvm_es_build_end

  • radeonsi: aco compile support merged mono shader

  • radeonsi: calculate lds size for merged shaders

  • radeonsi: enable aco compile for mono merged LS/HS

  • radeonsi: enable aco compile for mono merged ES/GS

  • aco: extract aco_compile_shader_part from aco_compile_ps_epilog

  • aco: add p_end_with_regs pseudo instruction

  • aco: move jump to epilog out of ic_merged_wave_info

  • aco: add tcs end regs for epilog usage

  • aco: allow tcs with epilog to keep nir store output instruction

  • aco: add pending_lds_access option for insert waitcnt

  • aco: add tcs epilog generation for radeonsi

  • aco: don’t emit s_endpgm for tcs with epilog

  • aco: skip scratch init when no scratch arg provide

  • aco,radeonsi: save const addr to symbol

  • ac/nir/tess: move tess factor output out of control flow

  • aco: use semantic location as io temp index

  • radeonsi: add exec_size to shader binary

  • radeonsi: support upload multi part shader binary

  • radeonsi: share si_get_tcs_out_patch_stride with aco

  • radeonsi: fill part mode tcs aco shader info

  • radeonsi: extract si_llvm_build_shader_part

  • radeonsi: remove separate_prolog arg from prolog/epilog build

  • radeonsi: add si_get_tcs_epilog_args

  • radeonsi: change si_fill_aco_options args

  • radeonsi: add si_aco_build_shader_part

  • radeonsi: part mode standalone tcs support aco compile

  • radeonsi: remove unused arg of get_tcs_tes_buffer_address

  • aco: simplify setup_tcs_info

  • aco: pass sw_stage when setup_isel_context

  • aco: prepare fix_ls_vgpr_init_bug to be used by gl vs prolog

  • aco: add vs prolog instruction selection for radeonsi

  • aco: add aco compile interface for radeonsi vs prolog

  • aco: do not fix_exports when program is prolog

  • radeonsi: fill aco_shader_info->is_monolithic

  • radeonsi: remove is_monolithic from vs prolog key

  • radeonsi: extract si_get_vs_prolog_args to be shared with aco

  • radeonsi: fix aco options has_ls_vgpr_init_bug setup

  • radeonsi: add vs prolog aco build

  • radeonsi: set vs has prolog aco shader info

  • radeonsi: enable aco compile for part mode standalone vs

  • aco,radv,radeonsi: rename is_monolithic to merged_shader_compiled_separately

  • ac,radeonsi: move ps arg pos_fixed_pt to ac_shader_args

  • aco: do not eliminate final exec write when p_end_with_regs block

  • aco: remove p_end_with_regs from needs_exact()

  • aco: add ps prolog generation for radeonsi

  • aco: handle ps outputs from radeonsi

  • aco: add create_fs_end_for_epilog for radeonsi

  • aco,radv: remove unused ps epilog info fields

  • aco,radv: rename ps epilog info inputs to colors

  • aco: simplify export_fs_mrt_color

  • aco,radv: add radeonsi spec ps epilog code

  • aco: compact ps expilog color export for radeonsi

  • aco,radv,radeonsi: pass spi ps input ena and addr

  • aco: do not fix_exports when program has epilog

  • aco: fix assertion fail when program contains empty block

  • aco: create exit block for p_end_with_regs to branch to

  • aco: wait memory ops done before go to next shader part

  • radeonsi: reduce sgpr count for scratch_offset when aco

  • radeonsi: init spi_ps_input_addr for part mode ps

  • radeonsi: extract si_prolog_get_internal_binding_slot

  • radeonsi: extract si_get_ps_prolog_args to be shared with aco

  • ac,radeonsi: remove unused ps prolog key fields

  • radeonsi: add ps prolog shader part build

  • radeonsi: extract si_get_ps_epilog_args to be shared with aco

  • radeonsi: fill aco shader info for ps part

  • radeonsi: add ps epilog shader part build

  • radeonsi: enable aco compile for part mode ps

  • radeonsi: disable disk cache when use aco

Rebecca Mckeever (32):

  • vulkan/runtime: Add helper functions for VK_EXT_host_image_copy

  • nouveau/codegen: Support nir_intrinsic_load_workgroup_id_zero_base

  • nouveau/codegen: Set lower_device_index_to_zero

  • nvk: Convert system values for gl_PointCoord and PointCoord into inputs

  • nvk: Add base_group to root descriptor table

  • nvk: Lower base_workgroup_id

  • nvk: Implement nvk_CmdDispatchBase and delete nvk_CmdDispatch

  • nvk: Advertise KHR_device_group

  • nvk: Add VK_FORMAT_B4G4R4A4_UNORM_PACK16 format to nil_format_info table

  • nvk: Add A4B4G4R4 formats to nil_format_info table

  • nvk: Advertise EXT_4444_formats

  • nvk: Enable shadow sampling

  • nvk: Implement VK_EXT_non_seamless_cube_map

  • nouveau/nil: Add macros for ufixed

  • nvk: Implement VK_EXT_image_view_min_lod

  • nvk: Update mutable descriptor struct type

  • nvk: Replace asserts with conditional that sets type_list = NULL

  • nvk: Implement nvk_GetDescriptorSetLayoutSupport

  • nvk: Enable VK_KHR_maintenance3

  • nvk: Advertise VK_EXT_mutable_descriptor_type

  • nvk: Set image index to zero for NULL nvk_buffer_view

  • nvk: Advertise VK_EXT_image_robustness

  • nvk: Advertise VK_EXT_robustness2

  • nvk: Add view_index to root descriptor table

  • nvk: Lower nir_intrinsic_load_view_index

  • nvk: Add draw support for multiview

  • nvk: Add query support for multiview

  • nvk: Add input attachments support for multiview

  • nvk: Advertise VK_KHR_multiview

  • nvk: Load view_mask to shadow scratch in nvk_CmdBeginRendering

  • nvk: Combine CLEAR_VIEWS and CLEAR_LAYERS MME macros

  • nvk: Move code inside view mask loops to a helper function

Rhys Perry (89):

  • ac/llvm: fix AC_TM_CHECK_IR

  • radv: fix radv_get_ballot_bit_size with CS

  • ac/llvm: fix wave32 ac_build_mbcnt_add with 64-bit mask

  • ac/llvm: skip ballot zext for 32-bit dest with wave32-as-wave64

  • radv: add conformant_trunc_coord to cache UUID

  • radv: don’t unset TRUNC_COORD if conformant_trunc_coord=true

  • ac/nir: always round cube array layers

  • nir/unsigned_upper_bound: fix phi(bcsel)

  • nir/tests: add test for unsigned_upper_bound with loop header phis

  • nir/opt_dead_cf: remove nodes after a jump earlier

  • nir/tests: add nir_opt_dead_cf_test.jump_before_constant_if

  • aco: insert s_nop before VGPR deallocation

  • nir/lower_shader_calls: vectorize stack access for all shaders

  • radv: workaround WWZ exporting index=1 through location=1

  • radv: correctly skip MRT output NaN fixup for meta shaders

  • radv: don’t set vertex_attribute_strides on GFX8+

  • radv/ci: skip some mesh shader tests on GFX1100

  • aco: summarize register demand after handling branches

  • aco: don’t create sendmsg(dealloc_vgprs) if scratch is used

  • radv: disable 64-bit color attachments

  • radv: fix 128bpp comp-to-single clears

  • radv: support 128bpp comp-to-single with all colors

  • radv/gfx11: re-enable 0001/1110 clear values

  • nir/lower_shader_calls: fix align_offset

  • nir/opt_load_store_vectorize: support scratch access

  • radv: vectorize RT stack access

  • radv: vectorize scratch access

  • aco: fix p_bpermute_gfx6 with input at non-zero byte

  • aco: fix p_bpermute_gfx6’s exec save/restore with wave32

  • aco: clarify bpermute pseudo opcode names

  • aco: add adjust_bpermute_dst helper

  • aco/spill: skip p_branch in process_block

  • aco/spill: add all live-in to merge block spill candidates

  • nir/lower_system_values change num_workgroups to uint32_t

  • radv: optimize mesh workgroup ID using ts_mesh_dispatch_dimensions

  • radv: use shortcut_1d_workgroup_id

  • aco: remove fast path in insert_exec_mask’s process_instructions

  • aco/optimizer_postRA: check overwritten_subdword in is_overwritten_since()

  • aco: check logical_phi_info at p_logical_end when eliminating exec writes

  • aco: remove unused p_logical_end check when optimizing branching sequence

  • radv: disable mesh dispatch XYZ_DIM when possible

  • nir/deref: remove rematerialize_deref_in_block cache

  • aco: reset prefetch in the correct block after removing the exit

  • aco/waitcnt: replace wait_cnt::*_cnt with booleans

  • aco/waitcnt: add print helpers

  • nir/lower_int64: fix find_lsb(0)

  • nir/algebraic: optimize u2u32(a >> 32)

  • aco/optimizer_postRA: don’t combine DPP across exec on GFX8/9

  • aco: don’t combine DPP into v_cmpx

  • aco: disable zero offset optimization for strict WQM coords

  • nir/constant_folding: remove zero texel offset

  • aco: remove zero offset optimization

  • aco: shrink DPP8_instruction

  • aco: add fetch_inactive field to DPP instructions

  • nir: add fetch inactive index to quad_swizzle_amd/masked_swizzle_amd

  • aco: disable FI for quad/masked swizzle

  • aco: fix LdsDirectVMEMHazard WaW with the wrong waitcnt

  • aco: only mitigate VcmpxExecWARHazard when necessary

  • aco: fix s_setreg hazards

  • aco: consider exec_hi in reads_exec()

  • aco: resolve all possible hazards at the end of shader parts

  • aco/tests: test that hazards are resolved at the end of shader parts

  • radv: skip zero-sized memcpy

  • ac/nir: fix out-of-bounds access in ac_nir_export_position

  • radv: fix signed integer overflow

  • Revert “radv: pre-init surface info”

  • nir: improve ms_cross_invocation_output_access with local_invocation_id

  • aco,nir: add export_row_amd intrinsic

  • ac/nir: add row parameter to helpers

  • ac/nir: remove dead code

  • ac/nir: refactor mesh vertex/primitive export

  • ac/nir: implement mesh shader gs_fast_launch=2

  • ac/nir: optimize mesh shader local_invocation_index

  • radv: implement mesh shader gs_fast_launch=2

  • ac/nir: add emit_ms_outputs helper

  • ac/nir,radv: pass workgroup size to ac_nir_lower_ngg_ms

  • ac/nir: implement mesh shader multi-row export

  • radv: implement mesh shader multi-row export

  • radv: enable mesh shader gs_fast_launch=2 and multi-row export

  • nir/serialize: fix signed integer overflow

  • nir/lower_shader_calls: skip zero-sized qsort

  • util: skip zero-sized SHA1Update

  • radv: call lower_array_deref_of_vec before lower_io_arrays_to_elements

  • radv: skip radv_remove_varyings for mesh shaders

  • radv: disable gs_fast_launch=2 by default

  • docs: fix RADV_THREAD_TRACE_CACHE_COUNTERS default

  • radv: add radv_disable_trunc_coord option

  • radv: enable radv_disable_trunc_coord for vkd3d-proton/DXVK

  • ac/nir: fix partial mesh shader output writes on GFX11

Rob Clark (60):

  • freedreno: move virtgpu msm_proto.h to common

  • freedreno/drm/virtio: Remove unused header

  • tu/msm: staticify a couple things

  • tu/knl: Remove some random const’ness

  • drm-uapi: Update virtgpu header

  • freedreno: Update virtgpu proto

  • freedreno/drm/virtio: Use global_faults

  • tu: close submitqueues before device_finish()

  • tu/drm: Factor out shared helpers

  • tu/drm: Add missing error path cleanup

  • tu/drm: Split out helper for iova alloc

  • tu: Add virtgpu support

  • util: Decouple disk cache from EGL_ANDROID_blob_cache

  • docs: Followup to !24636

  • tu: Workaround bionic _SC_LEVEL1_DCACHE_LINESIZE

  • ir3+tu: Simplify ir3_find_sysval_regid callers

  • freedreno/a6xx: Drop unused screen args

  • freedreno/a6xx: Re-work fd6_emit_shader

  • freedreno/a6xx: Re-write the function-of-doom

  • freedreno: Implement ATI_meminfo

  • freedreno/a6xx: ARB_post_depth_coverage

  • freedreno/a6xx: ARB_sample_locations

  • freedreno/a6xx: ARB_texture_filter_minmax

  • freedreno/a6xx: EXT_demote_to_helper_invocation

  • freedreno/a6xx: EXT_shader_image_load_formatted

  • freedreno/a6xx: EXT_depth_bounds_test

  • freedreno/a6xx: Use pipe_blit_info::sample0_only

  • freedreno/a6xx: Handle PIPE_BIND_BLENDABLE

  • freedreno/a6xx: ARB_shader_viewport_layer_array

  • tu: Fix heap size

  • freedreno: Fix crash with debug msgs enabled

  • freedreno/layout: Handle 565/etc MSAA special case

  • freedreno/decode: Fix printing chip-id

  • freedreno/a6xx: Add L8_SRGB

  • freedreno: Add reformatting commits to .git-blame-ignore-revs

  • freedreno/fence: Hold a strong ref to batch

  • freedreno/decode: Lookup device info

  • freedreno/decode: Use info->chip to decode

  • freedreno/decode: Remove gpu_id

  • freedreno: Indentation fix

  • freedreno: Use explicit QCOM_TILED3 modifier

  • freedreno/a6xx: Remove dummy packet for globals

  • freedreno: Fix streamout offset_buf dirtiness

  • freedreno: Fix user const buffer dirtiness

  • freedreno/batch: Move query_buf allocation

  • freedreno: Add private-BO tracking

  • freedreno: Add missing indirect_draw_count tracking

  • freedreno: Move/add some attach_bo()

  • freedreno: Add attach-bo debugging

  • freedreno: Rework supported-modifiers handling

  • mesa: Introduce MESA_texture_const_bandwidth

  • mesa: Implement MESA_texture_const_bandwidth

  • freedreno: Add PIPE_CAP_HAS_CONST_BW support

  • panfrost: Add PIPE_CAP_HAS_CONST_BW support

  • iris: Add PIPE_CAP_HAS_CONST_BW support

  • radeonsi: Add PIPE_CAP_HAS_CONST_BW support

  • tu/msm: Fix timeline semaphore support

  • tu/virtio: Fix timeline semaphore support

  • freedreno/drm: Fix race in zombie import

  • freedreno: Always attach bo to submit

Robert Foss (9):

  • egl: Expose access to DeviceList

  • egl: Rename _eglRefreshDeviceList() to _eglDeviceRefreshList()

  • egl: Refresh DeviceList during eglInitialize()

  • egl/surfaceless: Use EGL DeviceList instead of drmGetDevices2()

  • egl/android: Use EGL DeviceList instead drmGetDevices2()

  • egl: Rename _eglAddDevice() to _eglFindDevice()

  • egl: Rename _eglAddDevice() to _eglFindDevice()

  • egl: Fix attrib_list[0] == EGL_NONE check

  • egl: Always set _EGLDisplay->Device during eglGetPlatformDisplay()

Robert Mader (6):

  • egl/wayland: wait for compositor to release shm buffers

  • iris: Support parameter queries for main planes

  • util: Add new helpers for pipe resources

  • panfrost: Support parameter queries for main planes

  • vc4/resource: Support offset query for multi-planar planes

  • v3d/resource: Support offset query for multi-planar planes

Rohan Garg (33):

  • iris: migrate WA 14013910100 to use the WA framework

  • iris: migrate WA 14016118574 to use the WA framework

  • iris: fix iris for WA 16013000631

  • intel/perf: add perf query support for Intel Raptorlake

  • intel/genxml: set a default value for “Pixel Position Offset Enable” in genxml

  • anv: use the WA infrastructure where possible when generating state

  • anv: use the correct GFX_VERx10 macro for WA

  • anv,iris: program the maximum number of threads on compute queue init

  • anv: drop CFE state validation checks

  • iris: track reset signalling instead of replacing the context

  • iris: allow for a unsynchronized device reset query

  • anv: partially revert 2e8b1f6d

  • anv: emitting 3DSTATE_PRIMITIVE_REPLICATION is required on Gen12+

  • anv: use the pre defined _3DPRIMITIVE_DIRECT macro

  • anv: drop dead ifdef

  • iris: use the correct WA macros and lineage numbers

  • anv: use the lineage number for WA

  • crocus: add a __gen_get_batch_address declaration

  • crocus: fix GFX_VERx10 macro

  • blorp: drop undefined macro

  • iris: migrate preemption streamwout wa to WA infra

  • intel/genxml: update PIPE_CONTROL instruction for dg2

  • anv: define clear color localy within can_fast_clear_color_att

  • intel/compiler: Adjust CS payload registers for new register width on Xe2+

  • intel/compiler: Adjust fence message lengths for new register width on Xe2+

  • intel/compiler: Adjust barrier emission for Xe2+

  • intel/genxml: fix 3DSTATE_3D_MODE length to align with BSpec

  • anv: ensure that FCV_CCS_E fast clears are properly tracked

  • anv: enable FCV for Gen12.5

  • anv: fix debug string for PC flush

  • anv: cleanup includes

  • anv: turn off non zero fast clears for CCS_E

  • anv: selectively enable FCV optimization for DG2

Roland Scheidegger (1):

  • lavapipe: further limit accurate_a0 hack

Roman Stratiienko (22):

  • egl: android: Remove legacy name-based shared buffers support

  • util: Add NONNULL macro

  • android: Introduce the Android buffer info abstraction

  • android: Fix num_planes assignment in u_gralloc_fallback

  • v3dv/android: Use u_gralloc code

  • v3dv/android: Enable shared presentable image support

  • v3dv: Migrate to vk_device_memory

  • v3dv/android: Skip swapchain binding

  • v3dv: Rely on the internal tiled flag instead of the common vk structure

  • v3dv/android: Add a helper function to support explicit layouts

  • v3dv/android: Rework Android native buffer importing logic

  • v3dv: Use format stored in vk_image and vk_image_view after init

  • v3dv: Split v3dv_image_init to use layout setting logic separately

  • v3dv/android: Add AHardwareBuffer support

  • v3dv: Enable VK API v1.2 for Android

  • panvk: Add Android ICD loader entry point

  • u_gralloc: Remove inline modifiers from the functions

  • u_gralloc: Remove usage of NONNULL macro

  • Revert “util: Add NONNULL macro”

  • u_gralloc: Add a function that returns gralloc type

  • dri: Remove __driDriverExtensions leftovers

  • v3d: Don’t implicitly clear the content of the imported buffer

Ruijing Dong (2):

  • frontends/va: checking va version for av1enc support

  • radeonsi/vcn: change max_poc to fixed value for hevc encoder.

Ryan Neph (1):

  • vulkan/android: add missed STACK_ARRAY_FINISH()

Sagar Ghuge (34):

  • intel/compiler: Look at 2 register worth of data instead of 4

  • isl: Disable MCS compression just on ACM platform

  • intel: Add env variable to add break point on/before draw

  • anv: Add GPU breakpoint before/after specific draw call

  • iris: Add GPU breakpoint before/after draw call

  • blorp: Implement blorp hooks to emit breakpoint

  • docs: Add INTEL_DEBUG_BKP_BEFORE/AFTER_DRAW_COUNT

  • intel/isl: Enable INTEL_DEBUG=noccs/nohiz in ISL helpers

  • anv,hasvk: drop unnecessary DEBUG_NO_CCS/NO_HIZ checks

  • iris,crocus: drop unnecessary DEBUG_NO_CCS/NO_HIZ checks

  • blorp: Drop unnecessary assertions in blorp_can_hiz_clear_depth

  • anv: Add helper to create companion RCS command buffer

  • anv: Split out End/Destroy/Reset cmd buffer code into helper

  • anv: Handle companion RCS in end/destory/reset code path

  • intel: Add helper to create/destroy i915 VM

  • intel: Pass virtual memory address space ID while creating context

  • anv: Create companion RCS engine

  • anv: Move compute specfic bits under compute queue init

  • anv: Execute RCS init batch on companion RCS context/engine

  • anv: Setup companion RCS command buffer submission

  • anv: Execute an empty batch to sync main and companion RCS batch

  • anv: Add secondary companion RCS cmd buffer to primary

  • anv: Skip layout transition on the compute queue

  • anv: Extract batch print code to anv_print_batch helper

  • iris: Enable always flush cache with DEBUG_STALL option

  • intel/genxml: Add STATE_COMPUTE_MODE instruction

  • anv: Program and emit STATE_COMPUTE_MODE

  • anv: Enable barrier handling on video engines

  • isl: Use 16-bit instead of 8-bits for surface format info fields

  • anv: Handle end of pipe with MI_FLUSH_DW on transfer queue

  • anv: Enable transfer queue only on ACM+ platforms

  • blorp: Use the correct miptail start LOD for surfaces

  • anv: Write timestamp using MI_FLUSH_DW on blitter

  • anv: Flush data cache while clearing depth using HIZ_CCS_WT

Saleemkhan Jamadar (1):

  • radeonsi/vcn: set jpeg reg version for gfx 1150

Samuel Holland (3):

  • Android.mk: Allow building only Vulkan drivers

  • Android.mk: Explicitly enable/disable LLVM support

  • Android.mk: Only link LLVM for radeonsi, not amd_vk

Samuel Pitoiset (299):

  • radv: remove support for VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV

  • radv: make radv_get_pa_su_sc_mode_cntl() static

  • zink/ci: update list of expected failures for NAVI10

  • radv: stop using a pipeline for emitting VGT_VERTEX_REUSE_BLOCK_CNTL

  • radv: remove unused param in radv_pipeline_emit_vgt_gs_out()

  • radv: pass a shaders array for computing ia_multi_vgt_param

  • radv: bind the pre-compiled PS epilog to the cmdbuf state

  • radv: stop using an array of binaries when compiling a compute shader

  • radv: add radv_compile_cs() to compile a compute shader

  • radv: remove the pipeline dependency for creating a GS copy shader

  • radv: add a helper to compute the ESGS itemsize

  • radv: use the number of GS linked inputs to compute the ESGS itemsize

  • radv: determine ES info for VS/TES with GS earlier

  • radv: determine as_ls earlier by using the next stage

  • radv: simplify getting next VS stage for VS prologs

  • radv: use next_stage for determining the stage to lower NGG

  • radv/amdgpu: fix dumping CS with the chained IBs path

  • radv/amdgpu: rename old_ib to ib in radv_amdgpu_winsys_cs_dump()

  • radv: pass submit info to radv_check_gpu_hangs()

  • radv: initialize stage/next_stage earlier

  • radv: set next_stage to MESA_SHADER_NONE if there is no FS

  • radv: rework considering force VRS without relying on graphics pipeline

  • radv: stop passing radv_graphics_pipeline to radv_fill_shader_info()

  • radv: move removing all varyings when the FS is a noop

  • radv: rename graphics pipeline linking helpers

  • radv: simplify lowering NGG GS intrinsics

  • radv: rework determining the NGG stage without a graphics pipeline

  • radv: cleanup pipeline compute emit helpers

  • radv: rename radv_pipeline_stage to radv_shader_stage

  • radv: rename NGG query state to be more generic

  • radv: declare the shader query user SGPR for emulating GS counters

  • radv: enable pipelinestat query emulation for legacy GS

  • radv: simplify the NGG vs legacy pipelinestat query path

  • radv: rename RADV_SHADER_QUERY_PIPELINE_STAT_OFFSET

  • radv: implement nir_intrinsic_atomic_add_gs_invocation_count_amd

  • radv: emulate GEOMETRY_SHADER_INVOCATIONS query on RDNA1-2

  • radv: track whether inputs/outputs are linked per shader stage

  • radv: add support for VS/TES as ES without shaders IO linking

  • radv: use next_stage to determine if the layer should be exported

  • radv: use next stage to determine if primID/clip dist should be exported

  • radv: compute the legacy GS info earlier

  • radv: stop copying some NIR info fields from TES to TCS

  • radv: stop lowering patch vertices for TES

  • radv: do not always copy the number of tess patches to TES

  • radv: initialize tcs.tes_{patch}_inputs_read to a default value

  • radv: prevent linking TCS<->TES when TES is NULL

  • radv: use a packed user SGPR for the TES state

  • radv: stop checking if patch control points is dynamic everywhere

  • radv: copy the number of TCS vertices out to TES shader info

  • radv: add support for dynamic TCS vertices out for TES

  • radv: remove radv_shader_info::tes::num_linked_patch_inputs

  • amd,radeonsi: move si_shader_io_get_unique_index_patch() to common code

  • radv: allow to use fixed IO locations for VS<->TCS<->TES without linking

  • aco: add aco_shader_info::tcs::has_epilog

  • aco: add infra for compiling TCS epilogs

  • radv,aco: move has_epilog to radv_shader_info

  • radv: assume a TCS needs an epilog unless it’s linked with a TES

  • radv: do not write tess factors in main TCS when it has an epilog

  • radv: track if TES reads tess factors differently

  • radv: declare new argument for the TCS epilog PC

  • radv: add radv_tcs_epilog_key

  • radv: add infra for creating TCS epilogs

  • radv: add support for a TCS epilogs cache in the device

  • radv: add support for emitting TCS epilogs in cmdbuf

  • radv: remove unnecessary check in radv_pipeline_nir_to_asm()

  • radv: stop passing a graphics pipeline to radv_pipeline_nir_to_asm()

  • radv: inline radv_pipeline_get_nir() in radv_graphics_pipeline_compile()

  • radv: add a struct for the retained shaders and GPL

  • radv: add radv_graphics_shaders_compile() to compile graphics shaders

  • radv: remove redundant check in radv_cmd_buffer_after_draw()

  • radv: track if patch control points is dynamic from the cmdbuf state

  • radv: re-emit binning state if the framebuffer is dirty

  • radv: track if vertex binding stride is dynamic from the cmdbuf state

  • vulkan: bump header register to 1.3.261

  • vulkan/runtime: add common implementation for GetImageSubresourceLayout()

  • vulkan/format: add VK_FORMAT_{A8_UNORM,A1B5G5R5_UNORM_PACK16}_KHR

  • radv: use the RT prolog scratch size directly for tracing rays

  • radv: add a helper to get the maximum number of scratch waves per shader

  • radv: update the number of scratch waves for RT prolog at bind time

  • radv: update cmdbuf scratch size info when shaders are bound

  • vulkan: add init/finish helpers for vk_buffer_view

  • radv: use vk_buffer_view

  • radv: use vk_sampler

  • radv: use common vkCmdBegin/EndQuery wrappers

  • radv: use vk_query

  • zink: fix setting VkShaderCreateInfoEXT::nextStage

  • radv/rt: fix capture/replay support

  • vulkan/render_pass: add common vkGetRenderingAreaGranularityKHR()

  • radv: implement vkCmdBindIndexBuffer2KHR()

  • radv: allow VK_WHOLE_SIZE for pSizes in vkCmdBindVertexBuffers2()

  • radv/rmv: remove unused pipeline create flags when logging pipelines

  • radv: store pipeline create flags to radv_pipeline::create_flags

  • radv: add support for VkPipelineCreateFlags2CreateInfoKHR

  • radv: add support for VkBufferUsageFlags2CreateInfoKHR

  • radv: allow VK_REMAINING_ARRAY_LAYERS with VkImageSubresourceLayers

  • radv: implement radv_Get{Device}ImageSubresourceLayout2KHR()

  • radv: advertise VK_KHR_maintenance5

  • radv: remove useless NULL for pipeline layout during shader info pass

  • radv: introduce radv_shader_layout for per-stage descriptor layout

  • radv: stop passing redundant stage to radv_shader_stage_init()

  • radv: re-introduce radv_pipeline_stage_init()

  • radv: add support for loading the LSHS vertex stride from a SGPR

  • radv: use the number of VS outputs for computing the tessellation info

  • vulkan: ignore VkPipelineColorWriteCreateInfoEXT if the state is dynamic

  • radv: reduce TCS_OFFCHIP_LAYOUT_NUM_PATCHES to 6-bits

  • radv: add missing comment about TCS_OFFCHIP_LAYOUT_LSHS_VERTEX_STRIDE

  • radv: fix emitting TCS epilogs for GFX6-9

  • radv: remove radv_cmd_buffer::cached_vertex_formats

  • radv: remove unused param from radv_pipeline_init_multisample_state()

  • radv: simplify declaring VS specific input SGPRs

  • radv: stop copying if VS or TES uses the InvocationID built-in

  • Revert “radv/amdgpu: workaround a kernel bug when replacing sparse mappings”

  • Revert “radv/amdgpu: skip adding per VM BOs for sparse during CS BO list build”

  • radv/amdgpu: allow to execute external IBs on the compute queue

  • radv/amdgpu: add support for submitting external IBs with the chained path

  • zink/ci: update list of expected failures for NAVI10

  • radv: use the maximum possible workgroup size for TCS epilogs

  • radv: stop declaring the scratch offset argument for TCS epilogs

  • radv: declare shader arguments for TCS epilogs

  • radv: add tcs_out_patch_fits_subgroup to radv_tcs_epilog_key

  • aco: fix jumping from main TCS to epilog on GFX9+

  • aco: adjust TCS epilogs for RADV

  • aco: allow SGPRs operands with p_jump_to_epilog

  • aco: implement create_tcs_jump_to_epilog()

  • radv: track the pipeline bind point for indirect commands layout

  • radv: prepare radv_get_sequence_size() for DGC compute

  • radv: prepare radv_prepare_dgc() for DGC compute

  • radv: implement NV_device_generated_commands_compute

  • radv: allow DGC on the compute queue

  • radv: advertise NV_device_generated_commands_compute

  • aco: rework printing shader stages

  • radv: fix the per-patch data offset when TES isn’t linked with TCS

  • radv: stop declaring unused SGPR arguments for PS epilogs

  • radv: add radv_shader_info::is_monolithic

  • radv: use info->uses_view_index directly when declaring shader arguments

  • radv: do not inline push constants for non-monolithic shaders

  • radv: force indirect descriptor sets for non-monolithic shaders

  • radv: always declare some arguments for non-monolithic VS/TCS shaders

  • radv: add a new shader argument for non-monolithic shaders PC

  • ac: allow to mark shader arguments as preserved

  • radv: preserve shader arguments for non-monolithic VS/TCS on GFX9+

  • aco: disable shared VGPRs for non-monolithic shaders on GFX9+

  • aco: ensure to initialize exec manually for VS as LS on GFX9+

  • aco: add support for compiling VS+TCS separately on GFX9+

  • radv: always declare some arguments for non-monolithic {VS,TES}/GS shaders

  • radv: preserve shader arguments for non-monolithic {VS,TES}/GS on GFX9+

  • aco: ensure to initialize exec manually for non-monolithic {VS,TES}/GS on GFX9+

  • aco: add support for compiling {VS,TES}+GS separately on GFX9+

  • radv,aco: remove unused clip/cull distances variables

  • radv: rename tcs_shader to tcs in radv_emit_tcs_epilog_state()

  • radv: small cleanups in radv_emit_patch_control_points()

  • radv: fix emitting TCS epilogs if TES and GS are linked on GFX9+

  • radv: remove the pipeline dependency for emitting VGT_GS_MODE

  • aco: fix emitting TCS epilogs end on GFX9+

  • radv: re-order IO slot layout for stages that aren’t linked

  • amd/ci: update list of failures/flakes for glcts-vangogh-valve

  • ci: uprev vkd3d-proton

  • ci: uprev Fossilize

  • ci: add comment explaining which image tags to update for Fossilize

  • radv: preserve shader argument for separate compilation of NGG shaders

  • aco: flag blocks with long-jump as export_end for separate compilation

  • aco: adjust fix_exports() for VS/TES as NGG and non-monolithic shaders

  • aco: allow separate compilation of NGG shaders

  • zink/ci: add zink-radv-polaris10-valve

  • radv/ci: re-enable vkcts-polaris10-valve

  • radv: fix capturing indirect dispatches with SQTT

  • radv/ci: re-enable vkd3d-polaris10-valve

  • ci: do not fail vkd3d-proton job when the expectations match

  • radv/amdgpu: fix executing secondaries without IB2

  • radv/amdgpu: do not copy the original chain link for IBs

  • radv: avoid emitting SQTT markers for DGC calls

  • radv: add support for DGC with SQTT

  • zink/ci: merge GLCTS testing with GLESx for RADV

  • zink/ci: merge piglit testing with deqp-runner for RADV

  • radv: fix interactions with primitives generated queries and pipeline stats

  • radv: skip DGC calls when the indirect sequence count is zero with a predicate

  • radv: avoid emitting THREAD_TRACE_MARKER for predicated draws/dispatches

  • radv: adjust next stage for VS prologs and merged shaders compiled separately

  • radv: adjust emitted prolog regs for merged shaders compiled separately

  • radv: do not use pre-compiled prologs when VS is compiled separately

  • radv: remove useless PIPELINE_CREATE_2_LIBRARY_BIT check for retained shaders

  • radv: fix enabling DGCC

  • radv: fix emitting SQTT userdata when CAM is needed

  • radv: fix capturing RGP on RDNA3 with more than one Shader Engine

  • zink/ci: update list of expected failures for POLARIS10/NAVI10

  • radv: set THREAD_TRACE_TOKEN_MASK.BOP_EVENTS_TOKEN_INCLUDE on GFX10.3+

  • radv: disable unsupported hw shader stages for RGP on GFX11+

  • radv: fix instruction timing on GFX11

  • ac/rgp: use correct API stage string for mesh/task shaders

  • radv: set THREAD_TRACE_MARKER_ENABLE for mesh/task draws

  • radv: emit relocation for mesh/task shaders

  • issue_templates/Bug Report: fix outdated URL for GFXReconstruct

  • ac,radv,radeonsi: rework SPM counters configuration and share it

  • ac/perfcounter: add new SQ_WGP block for GFX11+

  • ac/spm: add SPM counters configuration for GFX11

  • radv: enable the PKT3 CAM bit for some SPM register writes

  • radv,radeonsi: use AC_SPM_SEGMENT_TYPE_xxx instead of magic values

  • ac/spm: remove useless SPM block setting for GFX9 and older GPUs

  • ac/spm: add SPM block definition for GFX10-GFX10.3

  • ac/gpu_info: init num_cu_per_sh from the kernel

  • ac/perfcounter: set the number of instances of GL1C to 4

  • ac/perfcounter: compute the number of global instances of TCP,SQ,GL1C and GL2C

  • ac/spm: fix checking if the counter instance is valid

  • ac/spm: rework how segment muxsel RAM are filled

  • ac/spm: initialize and set instance mapping for counters

  • radv: reserve more CS space in SQTT/SPM paths

  • ac/spm: use block flags to initialize instance mapping

  • ac/spm: select correct segment type for per-SE blocks

  • radv,radeonsi: make sure to emit GRBM_GFX_INDEX before SQ select registers

  • ac/spm: fix number of instances of GL2C

  • ac,radv,radeonsi: prepare support for multi-instance SPM SQ counters

  • ac,radv,radeonsi: prepare support for multi-instance SPM generic counters

  • ac/spm: move the counter instance to ac_spm_counter_create_info

  • ac/spm: enable support for multi-instance counters

  • radv: fix checking if RGP is enabled with others tracing tools

  • radv: fix missing ISA with RGP and GPL

  • ac/perfcounter: add SG_WQP group for GFX11

  • ac/perfcounter: add GFX11 groups

  • drirc: remove Path of Exile workarounds

  • radv: remove drirc workarounds for Path Of Exile

  • radv: remove absolute_depth_bias workaround

  • ac/gpu_info: define AMD_MAX_WGP

  • ac/spm: add new segment types for GFX11

  • ac/spm: add support for GFX11

  • radv: add SPM support for GFX11

  • radv: enable cache counters for RGP on GFX11

  • ci: update to vulkan-cts-1.3.6.3

  • radv/ci: skip dEQP-VK.robustness.* on Vangogh due to weird GPU hangs

  • nir: rename atomic_add_gs_invocation_count_amd to make it more generic

  • ac/nir: add lowering for mesh shader queries

  • ac/nir: add lowering for task shader queries

  • radv: add GDS counters offset for mesh/task queries

  • radv: adjust lowering of intrinsic queries for mesh/task shaders

  • radv: enable lowering of mesh/task shader queries when enabled

  • radv: declare shader_query_state for mesh/task shaders

  • radv: stop skip emitting CB states when there is no color attachment

  • radv: re-enable DCC with mipmaps on GFX11

  • radv: fix COMPUTE_SHADER_INVOCATIONS query on compute queue

  • radv: emit missing PA_{SC,SU}_LINE_STIPPLE_xxx regs in gfx preamble

  • radv: fix alignment of DGC command buffers

  • radv/ci: update list of expected failures on PITCAIRN

  • radv/ci: update list of flakes for NAVI10/VEGA10

  • radv/amdgpu: fix alignment of command buffers

  • radv: enable DCC for MSAA images on GFX11

  • zink/ci: update list of expectations for zink-anv-tgl

  • zink/ci: bump zink-anv-tgl-full timeout to 1h45m

  • radv/ci: rename GFX1100 lists to NAVI31

  • radv: fix emulated geometry shader primitives/invocations queries

  • radv/ci: remove duplicate skipped tests for RAVEN/STONEY

  • radv/ci: exclude dEQP-VK.texture.explicit_lod.2d.sizes.128x128_* for all jobs

  • radv: fix synchronization with emulated GS primitives/invocations queries

  • radv/ci: remove no longer existing test for VANGOGH

  • radv/ci: cleanup list of expected failures for NAVI10/NAVI21/VEGA10

  • radv: always write the sample positions when a new descriptor BO is created

  • radv: fill the scratch BO in radv_fill_shader_rings()

  • radv: fix gang submissions with chaining

  • radv: fix re-emitting streamout descriptors for NGG streamout

  • radv: fix IB alignment

  • zink: use warn_missing_feature for missing modifier support

  • radv: fix destroying GDS/OA BOs

  • radv: allocate only 1 GDS OA counter for gfx10 NGG streamout

  • ac/nir: only consider overflow for valid feedback buffers

  • radv/ci: update list of expected failures on RAVEN

  • radv/ci: update list of flakes for VANGOGH

  • radv/ci: update list of flakes for STONEY

  • radv: disable primitive restart for non-indexed draws on GFX11

  • radv: enable radv_disable_aniso_single_level=true for Zink too

  • amd/llvm,aco,radv: implement NGG streamout with GDS_STRMOUT registers on GFX11

  • radv: mark GDS as needed for XFB queries with NGG streamout on GFX11

  • radv: skip GDS allocation for NGG streamout on GFX11

  • zink/ci: remove expected failures that are skipped for RADV

  • ci: update CTS to vulkan-cts-1.3.7.0

  • ci: bump the number of tests per group from 500 to 5000 for Vulkan drivers

  • ci: bump DEQP_FRACTION for some jobs

  • radv: set ENABLE_PING_PONG_BIN_ORDER for GFX11.5

  • radv: initialize video decoder for GFX11.5

  • ac/gpu_info: query the maximum number of IBs per submit from the kernel

  • Revert “radv: fix finding shaders by PC”

  • radv: fix missing predicate bit for WRITE_DATA helper

  • ac/gpu_info: fix querying the maximum number of IBs per ring

  • radv: remove outdated RADV_DEBUG=vmfaults support

  • amd: update amdgpu_drm.h

  • amd: add has_gpuvm_fault_query

  • radv/amdgpu: add support quering the last GPUVM fault

  • radv: query and report the last GPUVM fault with RADV_DEBUG=hang

  • radv: report the last GPUVM fault when a device lost is detected

  • ac/gpu_info: remove bogus assertion about number of COMPUTE/SDMA queues

  • radv: fix a synchronization issue with primitives generated query on RDNA1-2

  • radv: bind the non-dynamic graphics state from the pipeline unconditionally

  • radv: fix compute shader invocations query on compute queue on GFX6

  • radv: emit COMPUTE_PIPELINESTAT_ENABLE for CS invocations on ACE

  • nir: fix inserting the break instruction for partial loop unrolling

  • radv: fix registering queues for RGP with compute only

  • radv: set radv_zero_vram=true for Unreal Engine 4/5

  • radv: fix a descriptor leak with debug names and host base descriptor set

  • radv: add a missing async compute workaround for Tonga/Iceland

  • radv: disable TC-compatible HTILE on Tonga and Iceland

  • radv: set radv_invariant_geom=true for War Thunder

  • radv: do not set OREO_MODE to fix rare corruption on GFX11

Saroj Kumar (4):

  • radeonsi: Add perfetto support in radeonsi

  • radeonsi: Add u_trace init code in radeonsi

  • radeonsi: Add tracepoints in radeonsi driver

  • radeonsi: fixes compilaton error when perfetto is disabled

Sathishkumar S (2):

  • radeonsi/vcn: support variable number of bs_bufs

  • radeonsi/vcn: num bs_bufs must be proportional to num jpeg engines

Semjon Kravtsenko (1):

  • glx: Assign unique serial number to GLXBadFBConfig error

Seppo Yli-Olli (1):

  • zink: Fix SyntaxWarning in zink_extensions script

Sergi Blanch Torne (7):

  • Introduce ci-kdl builder and launcher.

  • Integrate ci-kdl in the building process and launch process.

  • ci: disable Collabora’s LAVA lab for maintance

  • Revert “ci: disable Collabora’s LAVA lab for maintance”

  • Revert “ci: disable Collabora’s LAVA lab for maintance”

  • ci: disable Collabora’s LAVA lab for maintance

  • Revert “ci: disable Collabora’s LAVA lab for maintance”

Sid Pranjale (1):

  • nvk: Enable VK_EXT_load_store_op_none

Sil Vilerino (20):

  • util: Blake3 - Identify arm64ec as aarch64 instead of x64

  • d3d12: Fix Map/Unmap of YUV resources

  • d3d12: Fix H264 interlaced decode

  • d3d12: Video Decode - Remove unnecessary copy for texture array case

  • util/vl_vlc: Use UINT64_MAX instead of ~0UL with MSVC compiler

  • d3d12: Extend video screen AV1 encode tile support checking

  • aux/tc: Add ASSERTED to unreferenced release build variable

  • d3d12: Video - Relax ID3D12VideoDevice QI version for decode, process

  • frontends/va: Add profile param when querying PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL

  • d3d12: Upgrade to D3D12 Agility SDK 1.611 Video interface

  • d3d12: Fixes AV1 tx_mode_support reporting and unsupported tx_mode overriding

  • d3d12: Video Decode - Wait for GPU completion before destroying decoder in-flight objects

  • d3d12: Do not destroy codec when destroying video buffer

  • d3d12: AV1 encode - Add lower resolution fallback check for uniform tile support

  • d3d12: AV1 encode - add fallback for app passing unsupported pic_params.InterpolationFilter

  • d3d12: AV1 Encode - Fix VAConfigAttribEncMaxRefFrames reporting

  • frontend/va: Add support for VAConfigAttribEncMaxTileRows/Cols

  • d3d12: Add support for PIPE_VIDEO_CAP_ENC_MAX_TILE_ROWS/COLS

  • d3d12: Allocate d3d12_video_buffer with higher alignment for compatibility

  • d3d12: d3d12_video_buffer_create_impl - Fix resource importing

Simon Ser (7):

  • wayland: enable use of wayland-protocols as a subproject

  • vulkan/wsi/wayland: add support for IMMEDIATE

  • vulkan/wsi/wayland: fix unset present_mode

  • radv/winsys: check amdgpu_create_bo_from_user_mem() for EINVAL

  • egl: extract EGLDevice setup in dedicated function

  • egl: move dri2_setup_device() after dri2_setup_extensions()

  • egl: ensure a render node is passed to _eglFindDevice()

Simon Zeni (1):

  • nouveau/winsys: use mmap instead of mmap64 in nouveau_bo

SoroushIMG (1):

  • pvr: fix mipmap size calculation for bc formats

Sviatoslav Peleshko (9):

  • dri: Use RGB internal formats for RGBX formats

  • intel/isl: Don’t over-allocate CLEAR_COLOR size to use whole cache line

  • anv: Do fast clear color initialization more delicately

  • zink: Change zink_vertex_elements_hw_state::b.strides to VkDeviceSize

  • intel/fs: Check if the whole ubo load range is in the push const range

  • zink: Store zink_vertex_elements_hw_state::b.strides by binding id

  • intel/fs: Fix “packed word exception” condition for register regioning

  • intel/eu/validate: Validate “packed word exception” stricter

  • nir/loop_analyze: Fix inverted condition handling in iterations calculation

Sylvain Munaut (9):

  • egl/dri2: Add a couple of missing mutex release in error path

  • mesa: Enable ARB_texture_border_clamp in GL Core

  • include: Fix the PFN declarations to be pointers as they should

  • glx: Add missing MesaGLInteropGLXFlushObjects

  • glx: Export the MESA GL Interop functions through glXGetProcAddress

  • egl: Export the MESA GL Interop functions through eglGetProcAddress

  • glx: Remove MESA_depth_float_bit from enum

  • glx: Advertise GLX_MESA_gl_interop extension if support present

  • egl: Advertise EGL_MESA_gl_interop extension if support present

Tapani Pälli (34):

  • intel/blorp: add a new flag to communicate PSS sync need

  • anv: implement required PSS sync for Wa_18019816803

  • iris: implement required PSS sync for Wa_18019816803

  • vulkan/runtime: change assert to match specification needs

  • anv: remove assert, size is asserted in the runtime

  • anv: refactor batch_set_preemption to use batch_emit_pipe_control

  • anv: implement a dummy depth flush for Wa_14016712196

  • iris: implement a dummy depth flush for Wa_14016712196

  • mesa: fix some TexParameter and SamplerParameter cases

  • mesa: remove GL_UNSIGNED_BYTE as supported for snorm reads

  • ci: add a fix for KHR-GLES3.packed_pixels.*snorm tests

  • anv: implement Wa_14018912822

  • iris: implement Wa_14018912822

  • driconf: use lower_depth_range_rate for The Spirit and The Mouse

  • mesa: disable snorm readpix clamping with EXT_render_snorm

  • iris: modify Wa_14014414195 to use intel_needs_workaround

  • mesa: some cleanups for texparam extension checks

  • iris: avoid issues with undefined clip distance

  • crocus: avoid issues with undefined clip distance

  • anv: refactor to fix pipe control debugging

  • anv: fix a leak of fp64_nir shader

  • iris: use intel_needs_workaround for Wa_14014414195 part 2

  • iris: correct dst alpha blend factor in Wa_14018912822

  • iris/anv: move Wa_14018912822 as a drirc workaround

  • iris: flush data cache when flushing HDC on GFX < 12

  • anv: HDC flush is available only for GFX_VER 12+

  • iris: HDC flush is available only for GFX_VER 12+

  • intel/genxml: remove HDC from gen11.xml, it is not available

  • mesa/st: ignore StencilSampling if stencil not part of the format

  • intel/dev: expand existing fix for all gfx12 with small EU count

  • egl: fix leaking drmDevicePtr in _eglFindDevice

  • iris: add data cache flush for pre hiz op

  • anv/drirc: add option to disable FCV optimization

  • drirc: Set limit_trig_input_range option for Valheim

Tatsuyuki Ishi (8):

  • radv/amdgpu: Remove unused bo_list variable from cs_submit.

  • radv/winsys: Remove unused struct radv_winsys_bo_list.

  • radv/amdgpu: Do not pass in a BO handle when clearing PRT VA region.

  • radv: Fix IB size for RADV_DEBUG=hang.

  • radv: Fix dumping vertex descriptors with RADV_DEBUG=hang.

  • radv/amdgpu: Use rwlock to protect access to virtual BOs.

  • zink: Fix missing sparse buffer bind synchronization.

  • zink: Fix waiting for texture commit semaphores.

Thomas H.P. Andersen (65):

  • tgsi: remove unused tgsi_shader_info.num_tokens

  • tgsi: remove unused tgsi_shader_info.array_max

  • tgsi: remove unused tgsi_shader_info.num_memory_instructions

  • tgsi: remove unused tgsi_shader_info.colors_read

  • tgsi: remove unused tgsi_shader_info.colors_written

  • tgsi: remove unused tgsi_shader_info.reads_position

  • tgsi: remove unused tgsi_shader_info.reads_samplemask

  • svga: remove unused struct field

  • tgsi: remove unused tgsi_shader_info.reads_tess_factors

  • tgsi: remove unused tgsi_shader_info fields

  • tgsi: remove unused tgsi_shader_info fields

  • tgsi: remove unused tgsi_shader_info.uses_drawid

  • tgsi: remove unused tgsi_shader_info fields

  • tgsi: remove unused tgsi_shader_info.uses_subgroup_info

  • tgsi: remove unused tgsi_shader_info.writes_primid

  • tgsi: remove unused tgsi_shader_info.uses_doubles

  • tgsi: remove unused tgsi_shader_info.uses_derivatives

  • tgsi: remove unused tgsi_shader_info.uses_bindless_samplers

  • tgsi: remove unused tgsi_shader_info.uses_bindless_images

  • tgsi: remove unused tgsi_shader_info.clipdist_writemask

  • tgsi: remove unused tgsi_shader_info.culldist_writemask

  • tgsi: remove unused tgsi_shader_info.images_load

  • tgsi: remove unused tgsi_shader_info.images_store

  • tgsi: remove unused tgsi_shader_info.images_atomic

  • tgsi: remove unused tgsi_shader_info.uses_bindless_buffer_load

  • tgsi: remove unused tgsi_shader_info.uses_bindless_buffer_store

  • tgsi: remove unused tgsi_shader_info.uses_bindless_buffer_atomic

  • tgsi: remove unused tgsi_shader_info.uses_bindless_image_load

  • tgsi: remove unused tgsi_shader_info.uses_bindless_image_store

  • tgsi: remove unused tgsi_shader_info.uses_bindless_image_atomic

  • tgsi: remove unused tgsi_shader_info.indirect_files_read

  • tgsi: remove unused tgsi_shader_info.indirect_files_written

  • tgsi: remove unused tgsi_shader_info.const_buffers_indirect

  • tgsi: remove unused tgsi_shader_info.max_depth

  • tgsi: drop two unused functions

  • nvk: use common physical device enumeration

  • nvk: fix implicit-fallthrough warnings with clang

  • nvk: delete commented code

  • nvk: fix mem leaks

  • nvk: use common descriptor set layout code

  • nvk: use common pipeline layout code

  • nvk: advertise KHR_shader_non_semantic_info

  • nvk: advertise KHR_image_format_list

  • nvk: advertise EXT_private_data

  • nvk: advertise KHR_sampler_mirror_clamp_to_edge

  • nvk: KHR_descriptor_update_template

  • nvk: CmdPushDescriptorSetWithTemplateKHR

  • nvk: drop dead assignment

  • nvk: drop dead assignment

  • nvk: fix initialization override

  • nvk: sort extensions

  • nvk: advertize KHR_relaxed_block_layout

  • nvk: add check for VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT

  • nvk: advertise EXT_image_2d_view_of_3d

  • nvk: fix maxPushDescriptors

  • nvk: call correct macro to clear views

  • nouveau/mme: use fermi enum in fermi builder

  • nvk: add warning on non-nouveau drm driver

  • nvk: Implement VK_KHR_draw_indirect_count on Turing+

  • nvk: set device info before use in nvk_get_device_extensions

  • nvk: simplify code by using new helpers

  • nvk: remove duplicated device features

  • nvk: EXT_conditional_rendering

  • nvk: advertise VK_EXT_tooling_info

  • nvk: set optimization level to 3

Thong Thai (3):

  • radeonsi: enable vcn encoder rgb input support

  • Update radeon_vcn_enc.c

  • frontends/va/config: report max width and height for encoding/decoding

Timothy Arceri (27):

  • glsl: fix validation of ES vertex attribs

  • nir/opt_copy_prop_vars: don’t clone copies if branch empty

  • nir/opt_copy_prop_vars: speedup cloning of copy tables

  • nir/opt_copy_prop_vars: remove var hash entry on kill alias

  • nir/opt_copy_prop_vars: skip cloning of copies arrays until needed

  • nir/opt_copy_prop_vars: drop reuse of dynamic arrays

  • glsl: fix spirv sso validation

  • glsl: mark structs containing images as bindless

  • util: add radeonsi workaround for Nowhere Patrol

  • glsl: fix out params in glsl to nir

  • glsl_to_nir: add more unhandled function types

  • nir: replace use of nir_src_copy()

  • nir: remove unused nir_src_copy()

  • nir: remove unused param from nir_alu_src_copy()

  • glsl: remove field from gl_shader_program

  • glsl: move get_varying_type() declaration earlier

  • glsl: add nir version of validate_first_and_last_interface_explicit_locations()

  • glsl: switch to nir validate_first_and_last_interface_explicit_locations()

  • glsl: remove unused validate_first_and_last_interface_explicit_locations()

  • nir: fix typo in comment

  • nir: copy explicit_invariant flag to nir vars

  • glsl: move interpolation_string() to linker_util

  • glsl: move is_gl_identifier() to linker_util

  • nir: add used field to nir variables

  • glsl: implement cross_validate_outputs_to_inputs() in nir linker

  • glsl: switch to nir linkers cross_validate_outputs_to_inputs()

  • glsl: remove now unused varying linker code

Timur Kristóf (39):

  • aco: Fix subgroup_id intrinsic on GFX10.3+.

  • ac/nir: Simplify arg unpacking when shift is zero.

  • ac/nir: Add new pass to lower intrinsics to shader args.

  • radv: Move radv_select_hw_stage to radv_shader_info.

  • radv: Use ac_nir_lower_intrinsics_to_args.

  • radeonsi: Move si_select_hw_stage to si_shader_info.

  • radeonsi: Use ac_nir_lower_intrinsics_to_args.

  • aco: Remove subgroup_id and num_subgroups intrinsics.

  • ac/llvm: Remove subgroup_id and num_subgroups intrinsics.

  • aco: Refactor select_program to smaller functions.

  • nir/opt_dead_cf: Remove if branches with undef condition.

  • ac/nir: Add done arg to ac_nir_export_position.

  • ac/nir: Slightly refactor how pos0 exports are added when missing.

  • ac/nir/ngg: Wait for attribute stores before VS/TES/GS pos0 export.

  • ac/nir/ngg: Refactor mesh shader primitive export.

  • ac/nir/ngg: Wait for attribute ring stores in mesh shaders.

  • ac/nir/ngg: Extract nogs_export_vertex_params function.

  • ac/gpu_info: Add some SDMA related information.

  • ac: Clarify SDMA opcode defines.

  • ac: Add amd_ip_type argument to ac_parse_ib and ac_parse_ib_chunk.

  • ac: Rename ac_do_parse_ib to parse_pkt3_ib.

  • ac: Print IP type for IBs.

  • ac: Add rudimentary implementation of printing SDMA IBs.

  • radv: Rename SDMA file to radv_sdma.c

  • radv: Use const device argument in radv_sdma_copy_buffer.

  • radv: Use const on vi_alpha_is_on_msb arguments.

  • radv: Only call si_cp_dma_wait_for_idle on GFX and ACE queues.

  • radv: Move radv_cp_wait_mem to radv_cs.h and add queue family argument.

  • radv: Refactor WRITE_DATA helper function.

  • radv: Use new WRITE_DATA helper in more places.

  • radv: Add queue family argument to some functions.

  • radv: Wait for bottom of pipe in ACE gang wait postamble.

  • radv: Simplify gang CS and semaphore initialization.

  • radv: Allow gang submit use cases other than task shaders.

  • radv: Slightly refactor gang semaphore functions.

  • radv: Add gang follower semaphore functions.

  • radv: Support SDMA in radv_cs_write_data_head.

  • radv: Support SDMA in radv_cp_wait_mem.

  • radv: Support SDMA in si_cs_emit_write_event_eop.

Vignesh Raman (4):

  • ci: add Vignesh Raman into restricted traces access list

  • Do explicit cast to suppress clang warnings

  • ci: enforce -Wimplicit-const-int-float-conversion for clang

  • ci: Uprev crosvm

Vinson Lee (8):

  • nvk: Fix assert

  • lavapipe: Fix struct initialization

  • intel/decoder: Fix memory leak on error path

  • nv50: Remove unused value

  • vk/wsi/x11: Remove dead code

  • freedreno/replay: Fix implicit-function-declaration error

  • anv: Fix transfer type assert

  • broadcom/qpu: Remove duplicate variable opcode

Vitaliy Triang3l Kuzmin (3):

  • r600/asm: Fix AR force_add_cf setting if a clause is not open

  • r600/asm: Make sure MOVA and SET_CF_IDX are in the same clause

  • r600: Replace R600_BIG_ENDIAN with UTIL_ARCH_BIG_ENDIAN

Vlad Schiller (15):

  • pvr: Implement VK_EXT_tooling_info

  • pvr: Add ‘info’ PVR_DEBUG flag

  • pvr: Implement VK_KHR_format_feature_flags2

  • pvr: Remove PVR_WINSYS_BO_FLAG_ZERO_ON_ALLOC flag

  • pvr: Add VK_KHR_driver_properties

  • pvr: Use correct index when writing query availability data

  • pvr: Enable VK_EXT_scalar_block_layout

  • pvr: Enable KHR_image_format_list

  • pvr: Enable VK_KHR_uniform_buffer_standard_layout

  • pvr: Implement VK_KHR_external_fence

  • pvr: Implement VK_KHR_external_semaphore

  • pvr: Enable VK_KHR_bind_memory2 extension

  • pvr: Implement VK_EXT_texel_buffer_alignment

  • pvr: Implement VK_EXT_host_query_reset

  • pvr: Fix VK_EXT_texel_buffer_alignment

WinLinux1028 (1):

  • radeonsi: prefix function with si_ to prevent name collision

Xaver Hugl (1):

  • vulkan wsi: add support for PresentOptionAsyncMayTear

Yiwei Zhang (46):

  • venus: handle query feedback creation failure

  • venus: ensure consistency of query overflow behavior

  • venus: add a missing barrier before copying query feedback

  • venus: refactor query feedback cmd record

  • venus: reduce to use 4K mem suballoc align on platforms known to fit

  • turnip: flush cache for dstBuffer in vkCmdCopyQueryPoolResults

  • lvp: avoid reading immutable sampler from desc write info

  • ci/venus: update venus-lavapipe expectations

  • venus: fix a cmd builder render_pass state leak across reset

  • venus: fix cmd state leak across implicit reset

  • venus: log and doc the broken query feedback in suspended render pass

  • venus: move transient storage from cmd to pool

  • venus: remove redundant fb tracking from cmd builder

  • venus: use tracked queue_family_index from the cmd pool

  • venus: cleanup vn_cmd_begin_render_pass usage

  • venus: add helpers to track subpass view mask

  • venus: avoid redundant tracking of render pass

  • venus: refactor more cmd states into cmd builder

  • venus: use in_render_pass to skip present_src counting

  • ci/venus: remove fixed tests that no longer run

  • ci/venus: reenable pipeline cts

  • venus: suppress a false logging

  • venus: add no_sparse debug option to disable sparse resource support

  • venus: set deviceMemoryReport feature

  • venus: expose at least one cached memory type

  • venus: expose KHR_external_fence/sempahore_fd extensions

  • venus: fix a device memory report leak

  • vulkan: remove a dup entry from vk_image_usage_to_ahb_usage

  • vulkan/android: improve vkQueueSignalReleaseImageANDROID

  • vulkan/android: add missing AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER usage

  • vulkan/android: drop vk_buffer dependency from common AHB impl

  • venus: use common vk_queue object

  • venus: use common ANB implementation

  • venus: use more common vk_queue related implementations

  • venus: drop device, family, index, flags tracking from vn_queue

  • venus: fix re-export of imported classic 3d resources

  • venus: remove redundant bo roundtrip and add more docs

  • venus: track VkPhysicalDeviceMemoryProperties instead

  • venus: refactor vn_device_memory to prepare for async alloc

  • venus: make device memory alloc async

  • venus: enable Vulkan 1.3 for Android 13 and above

  • zink: sync queue access for vkQueueWaitIdle

  • venus: properly expose KHR_external_fence/sempahore_fd

  • ci/venus: mark more flaky tests after recent cts uprev

  • venus: fix query feedback batch leak and race upon submission

  • zink: apply can_do_invalid_linear_modifier to Venus

Yogesh Mohan Marimuthu (12):

  • gallium: remove start_slot parameter from pipe_context::set_vertex_buffers

  • ac/surface: add astc block size to bpe_to_format() function

  • util: move ASTCLutHolder from mesa/main to util

  • vulkan/formats,zink: move vk_format_from_pipe_format() function

  • vulkan/runtime: add compute astc decoder helper functions

  • vulkan add 3D texture support for compute astc decoder

  • radv: integrate meta astc compute decoder to radv

  • radeonsi: add more documentation for dpbb debug env variable

  • docs: remove document for unused variable dfsm from AMD_DEBUG

  • radeonsi: correct old comment in si_emit_framebuffer_state()

  • radeonsi: In gfx6_init_gfx_preamble_state() use gfx_level only from sctx

  • radeonsi: add radeonsi to GL_RENDERER string

Yonggang Luo (43):

  • lima: Convert to use nir_foreach_function_impl when possible

  • freedreno: Switch to use nir_foreach_function_impl in tu_shader.cc

  • zink: Convert to use nir_foreach_function_impl when possible

  • lavapipe: Convert to use nir_foreach_function_impl

  • lavapipe: fixes indent of function lvp_inline_uniforms

  • microsoft/compiler: convert to use nir_foreach_function_with_impl in function emit_module

  • microsoft/clc/compiler: Convert to use nir_foreach_function_impl when possible

  • radeonsi: Convert to use nir_foreach_function_impl

  • ac: Switch to use nir_foreach_function_impl in function analyze_shader_before_culling

  • util: Move pipe_swizzle from p_defines.h to u_formats.h

  • util: Move PIPE_MASK_* from p_defines.h to u_formats.h

  • util: Move pipe_color_union from p_defines.h into u_formats.h

  • util: Move u_pack_color.h and dbughelp.h into src/util from/src/gallium/auxiliary/util/

  • util: Remove include “pipe/*.h” in src/util/* files

  • util:Move only gallium used u_debug_refcnt.* and u_debug_describe.* into src/gallium/auxiliary/util/

  • util/meson: Getting mesa util core to be self contained

  • pvr: decouple vulkan driver and compiler from gallium

  • freedreno: decouple compiler and vulkan driver from gallium

  • glx: decouple from gallium

  • meson: Remove arm_neon_workaround

  • nouveau/drm-shim: Decouple from gallium

  • ac/radv: decouple radv vulkan driver and compiler from gallium

  • etnaviv: decouple drm from gallium

  • asahi: decouple layout from gallium

  • compiler: Move WRITEMASK_* from prog_instruction.h into shader_enums.h

  • intel/blorp: Use float directly to avoid #include “mesa/main/format_utils.h”

  • intel/blorp: brw_sampler_prog_key_data::swizzles is only and should only accessed in crocus

  • intel/brw: Define and use BRW_SWIZZLE_* instead of SWIZZLE_*

  • crocus: #include “program/prog_instruction.h” for SWIZZLE_*

  • intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium

  • util/treewide: Use alignas(x) instead __attribute__((aligned(x)))

  • v3dv: Use alignas(8) over 64 bit atomic value

  • svga: use alignas over struct MKSGuestStatInfoEntry

  • radv: Fixes mingw linkage error undefined reference to `radv_GetCalibratedTimestampsEXT’

  • v3d: Use DIV_ROUND_UP instead div_round_up

  • freedreno: Use shared DIV_ROUND_UP instead div_round_up

  • sfn: Use 4 instead of ATOMIC_COUNTER_SIZE

  • intel/brw: use 4 instead of MAX_VERTEX_STREAMS to avoid #include “mesa/main/config.h”

  • d3d12: replace use of MAX_VERTEX_STREAMS with PIPE_MAX_VERTEX_STREAMS

  • compiler: use 4 instead ATOMIC_COUNTER_SIZE in glsl_types.h to avoid #include “mesa/main/config.h”

  • compiler/glsl: Move glsl_print_type from glsl_types.* to ir_print_visitor.cpp

  • util: Deduplicate macros between u_math.h and macros.h

  • nvk: Should use alignment instead of align

Yusuf Khan (4):

  • nouveau/ws: remove the drm.h header

  • nvk: implement GetDeviceMemoryCommitment

  • nvk: support GetImageSparseMemoryRequirements2

  • nvk: expose KHR_driver_properties

Zhang Ning (1):

  • Revert “intel/ci: disable iris-jsl-deqp because it always fails for an AMD MR”

antonino (14):

  • virgl: add ci flake

  • freedreno: add ci flake

  • zink: remove unused indices from `nir_load_push_constant` calls

  • zink/nir: add a zink specific intrinsic for push constants

  • vulkan/wsi: add `vk_wsi_force_swapchain_to_current_extent` driconf

  • drirc: enable `vk_wsi_force_swapchain_to_current_extent` for “The Talos Principle”

  • drirc: enable `vk_wsi_force_swapchain_to_current_extent` for “Serious Sam Fusion”

  • vulkan: Extend vkGet/SetPrivateDataEXT handling to all platforms

  • vulkan: Extend vkGet/SetPrivateDataEXT handling to VkSurface

  • vulkan: Handle vkSetDebugUtilsObjectNameEXT on WSI objects

  • zink: store bindless var when creating it to avoid creating it again

  • nir: fix several crashes in `nir_lower_tex`

  • nir: don’t take the derivative of the array index in `nir_lower_tex`

  • vulkan: use instance allocator for `object_name` in some objects

cheyang (1):

  • isaspec : fix isaspec build error in aosp

georgeouzou (1):

  • nvk: Support VK_EXT_line_rasterization

jazzfool (1):

  • zink: Hash only first 32 bits of zink_gfx_pipeline_state with full DS3

lorn10 (1):

  • docs: Update Clover’s env variable documentation

norablackcat (2):

  • spirv/nir_to_spirv: add expect assume op codes

  • rusticl: add cl_khr_expect_assume

timmac-qmc (1):

  • glsl: fix potential crash with DisableUniformArrayResize

twisted89 (1):

  • util/driconf: add workarounds for the Chronicles of Riddick

wangra (1):

  • tu/kgsl: Fix bitfield of DITHER_MODE_MRT6

xurui (1):

  • glx: There is no need to psc++