Mesa 22.3.0 Release Notes / 2022-12-02

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

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

644bf936584548c2b88762111ad58b4aa3e4688874200e5a4eb74e53ce301746  mesa-22.3.0.tar.xz

New features

  • GL_ARB_shader_clock on llvmpipe

  • VK_KHR_shader_clock on lavapipe

  • Mesa-DB, the new single file cache type

  • VK_EXT_attachment_feedback_loop_layout on RADV, lavapipe

  • VK_KHR_global_priority on RADV

  • GL_KHR_blend_equation_advanced_coherent on zink

  • VK_EXT_load_store_op_none on RADV

  • VK_EXT_mutable_descriptor_type on RADV

  • VK_EXT_shader_atomic_float on lvp

  • VK_EXT_shader_atomic_float2 on lvp

  • GL_NV_shader_atomic_float on llvmpipe

  • VK_EXT_image_robustness on v3dv

  • VK_EXT_extended_dynamic_state3 on lavapipe

  • VK_EXT_extended_dynamic_state3 on RADV

  • VK_EXT_pipeline_robustness on v3dv

  • Mali T620 on panfrost

  • Shader disk cache on Panfrost

  • support for R8G8B8, B8G8R8, R16G16B16 and 64-bit vertex buffer formats on RADV

  • initial GFX11/RDNA3 support on RADV

  • various ray tracing optimizations on RADV

  • extendedDynamicState2PatchControlPoints on RADV (VK_EXT_extended_dynamic_state2 feature)

  • Radeon Raytracing Analyzer integration (using RADV_RRA_* environment variables)

  • None

Bug fixes

  • r600,regression: Wrong color on a Minecraft shaderpack on Cayman

  • [iris/crocus] Native CS:GO OpenGL: fire produces black rendering artifacts

  • VDPAU GL interop is broken, causing Black and White video

  • panfrost: application crashes with 22.2.4/22.3.0-rc3

  • etnaviv: compiler assertion fail in glmark2 terrain

  • anv: dEQP-VK.pipeline.monolithic.multisample.variable_rate.8_1_fb_1 failure

  • DG2: Age of Empire IV incorrect rendering

  • r600: Sky not rendered correctly with the NIR backend on Transport Fever 2

  • “intel/compiler: Signed integer range analysis for imul_32x16 generation” regresses several OpenCL tests

  • aco: Missing 8-bit uadd_carry

  • !16168 broke Xephyr -glamor fallback to swrast

  • panfrost/rk3399: performance drop in emulationstation and in RetroArch menu [mesa >= 21.3.8, batocera.linux, bisected]

  • d3d12/VA-API: [-wmissing-prototypes] with MSYS2 MinGW-W64 UCRT64 GCC

  • clover: windows: library filename has `-1` suffix and a `lib` prefix when built with mingw

  • freedreno: !19236 broke anitchamber trace

  • radv, dxvk: Rendering errors in World of Tanks after “Switch to dynamic rendering only”

  • gen9 gt3e/gt4e skus fail dEQP-VK.pipeline.multisample.sample_locations_ext.*

  • Intel - GPU Hang when starting new game in Hellblade: Senua’s Sacrifice

  • v3d: Wrong colors (pink) in videos in Firefox (likely YUV->RGB shader issue)

  • anv/zink: cts failures on ICL

  • panfrost t860 glmark-es2 regression

  • panfrost_drm.h build error

  • radv: Artifacts in multiple games with yuzu (regression, bisected)

  • Doom (1993) Ray-Traced has render glitches.

  • radv: Flickering in Spider-Man Remastered (Regression) (Bisected)

  • radv: Hitman 2 using Direct3D 12 has discolored squares on RDNA2 with DCC enabled

  • panfrost/midgard - on Duckstation PSX emulator: segfault on GLES 3.0 and bad shader compilations on 3.3

  • nouveau: Updating to Mesa*22.2.0 makes videos have corrupted colors in Firefox

  • [radeonsi] OpenGL rendering issue with Unreal Tournament 99 & OldUnreal 4.69 rc4

  • Replace the functionals in util/debug.h with util/u_debug.h

  • gallium: nir_opt_access desynchronizes image access modifiers in NIR with Program->sh.ImageAccess

  • [radv/navi21] No sprites being rendered in Quake 2 RTX

  • Hacknet does not render on Panfrost

  • !19259 broke some piglit arb_tessellation_shader tests with radeonsi if TCS passthrough shader is cached

  • panfrost g52 issue

  • [Intel] Doom Eternal crashes shortly after launching

  • GravityMark segfault when using ray tracing ANV

  • nir: Incorrect idiv lowering

  • intel-clc fails with “Unsupported SPIR-V capability” and SEGFAULT.

  • Navi 14 hangs running “rendercheck -t cacomposite -f a8r8g8b8” since !18170

  • glx=xlib can not be built under ubuntu 22.04

  • radv: incorrect query result for VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT

  • crocus: EGL_ANDROID_native_fence_sync extension is missing

  • freedreno/a6xx: spec@arb_tessellation_shader@execution@tess-instance-id fail

  • r300: wrong primitive positions in CXBX-R emulator with nine and RADEON_DEBUG=notcl

  • EGL re-initialization can fail silently

  • Rusticl: fails to create program if source size is stated, but last char is a null terminator

  • r300: register allocation sometimes generate invalid swizzles

  • Mesa git Upgrade causes cursor detection issues in Wayland, issue was not in 22.3.0-git.20220920.8d66c45.fc36

  • Proposal: Remove rbug, graw, graw tests, xa, xvmc

  • intrinsics.h:112:21: error: use of undeclared identifier ‘intel_sub_group_shuffle’

  • tu: broken since dynamic pcp

  • radv: Crash in dEQP-VK.ray_query.misc.dynamic_indexing

  • t860: mediapipe application failed

  • glthread: radeonsi: offset textures in game starsector with glthread enabled

  • Crashing on Windows VM

  • zink: descriptor-handling regression

  • hasvk: noperspective is broken on Haswell hardware (Intel(R) HD Graphics 4400)

  • util/u_atomic.h can not be included in util/u_debug.h

  • radv: dynamic patch control points broken

  • Exanima renders with the wrong colors.

  • Missing tile cache flushes causing corruptions

  • turnip: compute shader hang in the Monster Hunter World

  • anv_private.h:118:10: fatal error: anv_entrypoints.h: No such file or directory

  • freedreno: mis-rendering on gardensofkadesh/homeworld

  • piglit.spec.egl 1_4.egl-ext_egl_image_storage times out

  • nouveau: tegra124: GL_OUT_OF_MEMORY error

  • r600: Shadows incorrecly rendered on Counter-Strike: Global Offensive with the NIR backend

  • r300: regalloc doesn’t handle brk correctly

  • Recent WSI commit breaks every Vulkan application on RDNA 2 GPUs

  • 8775f08bf11 makes warcraft 3 crash with free(): double free detected in tcache 2

  • anv: probable ccs issue on icl

  • iris: remap_tess_levels assertion failure in shader-db runs

  • RADV: Mafia & Mafia III :Definitive Edition graphical issues with certain effects

  • Cyberpunk 2077 ground reflectiveness issues using RADV

  • [RADV] Grand Theft Auto V: Shadow rendering bug on Steam Deck

  • rusticl: fails to build on non-Linux: cannot find value `stderr` in this scope

  • llvmpipe-piglit-rusticl fail at api/clenqueuefillimage

  • Broken build with Clang-16 due to: aco_register_allocation.cpp:382:7: error: no matching function for call to ‘printf’

  • src/gallium/drivers/r600/sfn/sfn_instr.cpp:92:33: error: expected primary-expression before ‘int’

  • r600: Make NIR the default backend

  • undefined reference to `intel_ds_begin_xfb’

  • data-race leads to crash in u_trace_context_init()

  • radeonsi/radv: Discrepancy in handling wd_switch_on_eop

  • Shadows rendering issue in Deathloop

  • RADV: Regression with RPCS3 where nothing renders

  • [RADV][bisected] commit 3714c89d0ebf0c541d8f7a7a807ce7c1bfe3cfea at least lead to GPU hang when I run the game “Quake II RTX”

  • eglCreateContext doesn’t generate EGL_BAD_MATCH when share_context is on a different EGLDisplay

  • Intel - Homerun Clash misrendering issue

  • r300: dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_loop_read_fragment regression

  • turnip/a660: dEQP-VK.spirv_assembly.instruction.terminate_invocation.terminate.subgroup_ballot failure due to “movmsk” reordered with “kill”

  • WSI reports 11 RGB bits is unsupported in X11, using zink/swrast

  • [radeonsi] Graphical corruption in Valve Source-based games

  • RADV: VK_EXT_load_store_op_none support?

  • radv: extendedDynamicState2PatchControlPoints

  • Vega 8 rendering GDM grey blank login screen after recent change

  • r300: possibility of merging ADD and MUL into MAD when effectively only 2 sources are used

  • MESA_DEBUG=incomplete_tex shows unnecessary validation during glClear

  • anv: Performance drop with Vulkan on Wayland

  • lima: crash during dEQP-EGL execution

  • Regression from https://gitlab.freedesktop.org/mesa/mesa/-/commit/8fcb4aa0ebd7b9d0d8f80986fb817afea2fc4a87

  • radv: Enable instruction timing with RGP for RT

  • Updates to 22.2 RCs cause artifacts on nouveau and blank screen on VirtIO

  • nouveau: corruption on NVAC after switching to the NIR backend

  • egl: Remove big-display-lock

  • DG2: vulkancts tests spin forever

  • [regression][bisected] v3dv: dEQP-VK.api.object_management.alloc_callback_fail_multiple.graphics_pipeline fails

  • v3dv: evaluating reducing current value of DEFAULT_MAX_BO_CACHE_SIZE

  • venus-lavapipe flakes

  • amd: LPDDR4 and LPDDR5 hits an assertion failure in ac_memory_ops_per_clock

  • zink: GL_TEXTURE_LOD_BIAS vs mipLodBias, and GTF-GL46.gtf21.GL3Tests.texture_lod_bias.texture_lod_bias_all failure on Turnip

  • ci: radeonsi-raven-skqp also tests RADV but only runs on radeonsi changes

  • Gallium OpenGL megadriver fails to build if LLVM is enabled but not required by any component built

  • panfrost: crash in dEQP test

  • bitpack_helpers.h:34:10: fatal error: valgrind.h: No such file or directory

  • [gen9_iris] piglit causes crash on 4GB-memory machine when running spec/!opengl 1.1/max-texture-size

  • Abort due to “Unknown intrinsic: intrinsic store_deref” (firefox, radeonsi)

  • radv: missing support for some 3-component vertex formats in RDNA2

  • radv: radv_translate_buffer_dataformat overhead

  • nir: Replacing GC with manual memory management

  • turnip: dEQP-VK.subgroups.vote.graphics.subgroupallequal_*int regression on a635

  • regression from !17949

  • r600/sfn: xonotic shows a big performance regression when using the NIR backend with sb disabled

  • r600/sfn: register allocation fails for a number of piglits and deqp tests

  • DG2 corruption in gnome desktop from F36

  • d3d12: Delete custom OpenGLOn12 target, add option to override libgallium_wgl.dll name

  • radeonsi: error allocating sparse buffers.. bug?

  • RADV: vulkaninfo fails to report extended VkShaderStageFlagBits for VK_KHR_ray_tracing_pipeline

  • [radeonsi] Transform feedback with array outputs fails

  • [BISECTED/radeonsi] Flickering triangles with wayfire cube

  • re-evaluate the linker for CI

  • [RADV] (Vega/Navi) Halo: The Master Chief Collection: Texture issue on Halo 3 and Reach

  • ../src/util/u_queue.c:218: util_queue_fence_destroy: Assertion `fence->signalled’ failed for iris when disabled UTIL_FUTEX_SUPPORTED

  • Freedreno turnip mesa cause emulation close after 15-20min gameplay

  • glsl: textureGatherOffset param broken

  • turnip: broken after switching to userspace vma

  • turnip: gfxbench aztec ruins crashes on zink

  • !16863 disabled all meson tests in CI

  • intel unittests failed a lot because recents commits Job Failed #27063524

  • Microsoft CLC runtime crash (at least on 32-bit) since !12510

  • Job Failed #26465985

  • v3dv: android: VTS big regression after 316728a55bc8fe398be1ac2796a22f8c91fb886c

  • radeonsi: driver crashes with kwin-effects-cube

  • [Turnip] Final Fantasy X: Incorrect hair rendering

  • iris: Suboptimal usage of HiZ + CCS for mipmapped buffers

  • Document state of Dozen Vulkan support in features.txt for MesaMatrix site..

  • turnip: gfxbench car chase crash on zink

  • [r300] - osu! - Shader optimizations cause black and glitchy rendering

  • [Bisected] Microsoft CLC: build failure with MSVC and Dshared-llvm=disabled with AMDGPU target available

  • Android.mk: meson enables flags based on the libraries installed on the host system

  • anv: invalid returns from vkCreateDescriptorPool

  • [Bisected][RadeonSI] Blender crashes on startup

  • lavapipe CI times out

  • turnip: depth/stencil regressions

  • radv regression: Hitman 2 rendering issue

  • llvmpipe: assert in KHR-Single-GL45.enhanced_layouts.xfb_all_stages

  • android: vulkan: Disable blocked KHR_performance_query extension (v3dv, turnip, anv)

  • Poor performance/utilization with Splitgate

  • [Bisected][RADV] Rendering issues and performance drop with GFX10 on RPCS3

  • freedreno_gmem.c crashes Firefox Nightly in Khronos

  • freedreno / mesa 22.1.3 crashes Firefox Nightly

  • !17693 broke piglit oes_egl_image_external_essl3

  • VK_PRESENT_MODE_IMMEDIATE_KHR rendering artifacts

  • dzn: Build failure when it’s the only driver built - 22.2-devel regression

  • d3d12: Unresolved external symbols from Version.lib

  • a618 vk_full timing out at 60 minutes instead of 120

Changes

Adam Jackson (25):

  • egl: Remove some can’t-happen supported API checks

  • egl: Move an error check earlier in EGL_BUFFER_AGE_EXT query

  • wsi/x11: Defer clearing image busy flag for non-shm upload

  • egl/kopper: Don’t add EGL_SWAP_BEHAVIOR_PRESERVED_BIT configs

  • glx: Use XSaveContext, delete glxhash.c

  • Revert “glx: Use XSaveContext, delete glxhash.c”

  • wsi/x11: Fix the is-visual-supported check

  • nouveau: const cleanup

  • egl/dri2: Respect the arguments to dri2_set_blob_cache_funcs

  • egl/dri2: Fix a typo in a comment

  • egl/dri2: Fix some thinkos in old context release

  • glx/dri*: Unify glx_context subclassing

  • glx/dri: Avoid a weird indirection in driFetchDrawable

  • glx: Remove some excess work from the GLX_FBCONFIG_ID fallback

  • egl: Fix a bunch of maybe-uninitialized warnings

  • egl: Promote _eglLock/UnlockDisplay to internal API

  • egl: Untangle some spaghetti around _eglLookupDisplay

  • egl: Factor out the eglTerminate write-lock pattern

  • egl: Rewrite eglSetBlobCacheFuncsANDROID to use the standard macros

  • mesa/fbo: Don’t force both read/draw bindings to zero

  • egl: Formatting fix

  • egl: Factor some common terminate cleanup up to common code

  • egl/dri2: Fix a weird conditional in dri2_make_current

  • egl: Remove a bogus restriction from eglMakeCurrent

  • rusticl: meson devenv support

Adrián Larumbe (5):

  • panfrost: Handle Job VA cycles when decoding a dump file

  • panfrost: Remove documentation reference to deprecated parameter

  • panfrost: Add compiler args option for building usermode tools

  • panfrost: Sync panfrost_drm.h from drm-misc-next

  • panfrost: Add userspace crash dump decoder and analyser

Alejandro Piñeiro (11):

  • v3dv/bo: reduce DEFAULT_MAX_BO_CACHE_SIZE to 64

  • v3dv/pipeline: use a array instead of individual pointer to stages

  • v3dv/pipeline: keep qpu_insts around if we expect them to be used later

  • v3d: replace all TODO around for FIXME

  • broadcom/compiler: don’t call nir_opt_load_store_vectorize on all v3d_optimize_nir calls

  • broadcom/compiler: update how we compute return_words_of_texture_data on non-ssa

  • broadcom/compiler: add more lowerings/optimizations on v3d_optimize_nir

  • v3dv/pipeline: use v3d_optimize_nir

  • broadcom/compiler: pass a strategy struct to vir_compile_init

  • broadcom/compiler: call nir_opt_gcm with a custom strategy

  • v3dv/bo: reset bo and then call gem close

Alejandro Tafalla (1):

  • freedreno: Fix graphic glitches on a4xx and a5xx

Alessandro Astone (3):

  • Android.mk: Disable lmsensors

  • Android.mk: Filter out –build-id=md5 linker flag

  • Android.mk: Provide a custom entry name to ensure meson checks succeed

Alex Brachet (1):

  • nir: Fix qsort comparator function

Alyssa Rosenzweig (414):

  • docs/asahi: Document varying interpolation

  • agx: Fix packing of samplers in texture instrs

  • agx: Fix ld_var cf packing

  • asahi: Plumb through lower_clip_fs

  • asahi: Extend counts in BIND packets

  • asahi: Allow large uniform records

  • asahi: Dump all textures&samplers

  • asahi: Fix using multiple textures/samplers

  • asahi: Use a single bind texture/sampler per pipeline

  • asahi: Split vertex/fragment pipeline binds

  • asahi: Correct bind fragment pipeline size

  • asahi: Encode known bits of Linkage in the XML

  • asahi: Fix varying XML

  • asahi: Decode Interpolation packets

  • asahi,agx: Rewrite varying linking

  • agx: Add AGX_MESA_DEBUG=noopt option

  • agx: Model perspective coefficient reg in the IR

  • agx: Rename varying load instructions

  • agx: Use split instead of extract for ldcf

  • agx: Implement noperspective interpolation

  • agx: Lower more ALU operations

  • agx: Align 64-bit register pairs

  • agx: Assert that registers are naturally aligned

  • agx: Extract umul_high implementation

  • agx: Implement nir_op_umul_high

  • agx: Stop using broken idiv lowering

  • agx: Handle type-changing splits

  • agx: Remove p_extract

  • agx: Only emit the used components of gl_FragCoord

  • asahi: Don’t advertise ARB_clip_control yet

  • asahi: Identify depth clip mode bit

  • pan/decode: Don’t pass around memory handles

  • pan/decode: Remove pandecode_msg

  • pan/decode: Stop passing job index around

  • pan/decode: Stop passing suffixes around

  • pan/decode: Simplify pandecode_fbd

  • pan/decode: Reorder MFBD decoding

  • pan/decode: Unify SFBD/MFBD decoding

  • pan/decode: Defeature disassembler stats

  • pan/decode: Centrally declare pandecode entrypoints

  • pan/decode: Clean up _bifrost_ decode routines

  • pan/mdg: Remove disassembler stats

  • panfrost: Don’t segfault on unknown models

  • pan/bi: Implement some extracts and inserts

  • pan/bi: Fuse [US][8|16]_TO_F32 ops

  • pan/bi: Test int8/16 -> float32 opts

  • pan/bi: Optimize bitwise arithmetic of booleans

  • pan/bi: Optimize pattern from nir_lower_idiv

  • pan/bi: Don’t use the broken idiv lowering

  • pan/bi: Use nir_opt_idiv_const

  • asahi: Fix warning building for macOS 12.0

  • pan/bi: Don’t reorder image loads across stores

  • pan/bi: Don’t allow ATEST to take a temporary

  • pan/bi: Handle info.fs.untyped_color_outputs on Valhall

  • panfrost: Handle untyped_color_outputs on Bifrost

  • panfrost: Set blit output variable types correctly

  • panfrost: Don’t saturate in Bifrost blend shaders

  • panfrost: Promote blend shader outputs 8->16-bit

  • panfrost: Avoid blend shader when not blending

  • panfrost: Don’t compile empty blend shaders

  • panfrost: Invert no_colour to enabled

  • panfrost: Simplify blitter blend shader creation

  • panfrost: Include mask in replace blend shader name

  • panfrost: Assert that blend shaders are nontrivial

  • r600/sfn: Don’t use broken idiv lowering

  • gallium: Inline away util_make_fragment_tex_shader_writemask

  • gallium: Inline away util_make_fragment_tex_shader interp_mode

  • gallium: Remove util_make_fragment_tex_shader_xrbias

  • pan/mdg: Replicate swizzles for scalar sources

  • pan/mdg: Reexpress umul_high packing

  • pan/mdg: Use correct idiv lowering

  • pan/mdg: Always write return address to r1.w

  • pan/mdg: Print 3 sources for CSEL

  • panfrost/ci: Update G72 xflakes list

  • gallium: Add u_default_set_debug_callback

  • v3d: Use u_default_set_debug_callback

  • vc4: Use u_default_set_debug_callback

  • softpipe: Use u_default_set_debug_callback

  • lima: Use u_default_set_debug_callback

  • etnaviv: Use u_default_set_debug_callback

  • r300: Use u_default_set_debug_callback

  • panfrost: Route shader-db to debug, not stderr

  • pan/bi: Implement general 8-bit vector construction

  • pan/va: Handle 8-bit lane when lowering constants

  • pan/bi: Implement nir_op_vec8 and nir_op_vec16

  • pan/bi: Assert that vectors are sufficiently small

  • docs/asahi: Document image layouts

  • asahi: Identify compressed render target fields

  • asahi: Rename ‘tiled 64x64’ to ‘twiddled’

  • asahi: Add XML for multisampled textures

  • asahi: Fix bind sizes

  • asahi: Fix ASTC enums

  • ail: Introduce image layout module

  • ail: Rewrite tiled memcpy for correctness

  • asahi: Handle 2-channel sRGB textures

  • asahi: Fix is_format_supported returns

  • asahi: Advertise ETC1

  • asahi: Advertise ASTC formats

  • asahi: Rename our fake twiddled DRM modifier

  • ail: Add unit tests for miptree layouts

  • pan/bi: Fix dual texturing with uniforms

  • pan/bi: Fix out-of-bounds write in va_lower_split_64bit

  • pan/bi: Consider all dests in helper_block_update

  • pan/bi: Model [IF]CMP_{OR,AND,MULTI} ops

  • pan/va: Split out compare instructions

  • pan/bi: Set I->nr_dests, I->nr_srcs

  • pan/bi: Model 3rd source for ATEST

  • pan/bi: Consider nr_srcs/dests in CSE

  • pan/bi: Use nr_{srcs,dests} in bi_foreach_{src,dest}

  • pan/bi: Add validation for nr_srcs/nr_dests

  • pan/bi: Remove trivial dest[0] = bi_null()

  • pan/bi: Clean up destination printing

  • pan/bi: Improve register printing

  • pan/bi: Register allocate BLEND dest on Valhall

  • pan/bi: Don’t remove dests in DCE

  • pan/bi: Use bi_emit_split_i32 for trimming vecs

  • pan/bi: Introduce TEXC_DUAL psuedoinstruction

  • pan/bi: Assert destinations are non-NULL

  • pan/bi: Assume destinations are non-NULL

  • pan/bi: Don’t read nonexistant destinations

  • pan/bi: Don’t read nonexistant sources

  • pan/bi: Add variable dest/src support to builder

  • pan/bi: Use variable src/dest for collect/split

  • pan/bi: Use safe helpers to remove srcs/dests

  • pan/bi: Rebuild some instructions when lowering

  • pan/bi: Rebuild DISCARD when optimizing

  • pan/va: Use builder in va_lower_isel

  • pan/bi: Use builder for MUX -> CSEL opt

  • pan/bi: Use builder for IADD -> IADDC opt

  • pan/bi: Use builder for atomic lowering in scheduler

  • pan/bi: Reduce memory of scheduler access array

  • pan/bi: Dynamically allocate source/dests

  • pan/bi: Don’t write registers in optimizer tests

  • pan/bi: Add bi_after_block_logical helper

  • pan/bi: Lift bi_predecessor_index helper

  • pan/bi: Add phi nodes

  • pan/bi: Validate phi ordering

  • pan/bi: Don’t lower FAU for phis

  • pan/bi: Remove bogus assert lowering branches

  • pan/bi: Don’t optimize if without else

  • pan/bi: Don’t reorder phis in pre-RA scheduling

  • pan/bi: Validate before&after pre-RA sched

  • pan/bi: Inline DCE into bi_lower_vector

  • pan/bi: Translate phis from NIR

  • pan/bi: Add SSA-based liveness pass

  • pan/bi: Add brainless out-of-SSA pass

  • pan/bi: Reduce some moves when going out-of-SSA

  • pan/bi: Preserve SSA form from NIR

  • pan/bi: Clean up after converting to SSA

  • pan/bi: Clear reg in squeeze_index

  • pan/bi: Don’t use bi_temp_reg

  • pan/bi: Assume SSA in copyprop

  • pan/bi: Assume SSA in mod prop

  • pan/bi: Assume SSA in CSE

  • pan/bi: Assume non-null sources in constant folding

  • pan/bi: Assume SSA in minor passes

  • pan/bi: Assume SSA when scheduling for pressure

  • pan/bi: Assume SSA when translating NIR

  • pan/bi: Assume SSA for helper invocation analysis

  • pan/bi: Move non-SSA liveness into RA

  • pan/bi: Remove NIR registers from the IR

  • pan/bi: Get rid of bi_get_node

  • pan/bi: Inline node_to_index

  • pan/bi: Remove bi_max_temp

  • pan/bi: Simplify bi_get_index prototype

  • pan/bi: Add and use bi_foreach_ssa_src macro

  • pan/bi: Strengenth assert in the validator

  • pan/bi: Remove assert(bi_is_ssa(dest))

  • pan/bi: Add and use bi_replace_src helper

  • pan/bi: Add and use bi_num_successors helper

  • agx: Fix tib access in internal shaders

  • agx: Fix float copyprop of neg(neg) case

  • agx: Add more unit tests for float copyprop

  • agx: Don’t hardcode uniform enums

  • agx: Defeature indirect vbufs

  • agx: Plumb through nir_op_txf

  • asahi: Fix Indexed Draw command

  • asahi: Split up unk 2b

  • asahi: Note some more unknowns in the XML

  • asahi: Make ctx->zs a pointer

  • asahi: Export agx_blitter_save

  • asahi: Handle empty fragment shaders

  • asahi: Use util_blitter_clear

  • asahi: Trim garbage at end of set shader

  • asahi: Relax assert in decoder

  • asahi: Label batch flush reasons

  • asahi: Fix depth for cube maps

  • asahi: Fix nonmipmapped array textures

  • asahi: Fix “stride” for tiled textures

  • asahi: Identify and use first level field of texture

  • asahi: Correct SET_SHADER_EXTENDED disambig bit

  • asahi: Add 1D and 1D Array enums

  • asahi: Handle out-of-bounds clear_stencil

  • asahi: Fix depth/stencil buffers

  • asahi: Identify stencil test enable

  • asahi: Split RASTERIZER into constituent words

  • asahi: Identify object type field via PowerVR

  • asahi: Don’t use lower_wpos_pntc

  • asahi: Match PPP data structures with PowerVR

  • asahi: Hoist constant PPP state to start of batch

  • asahi: Dirty track everything

  • asahi: Make BO list growable

  • asahi: Annotate VDM/CDM commands as per PVR

  • asahi: Express VDM commands according to PowerVR

  • asahi: Handle Stream Link VDM commands

  • asahi: Allocate new cmdbufs if out of space

  • docs/envvars: Document Asahi variables

  • pan/decode: Fix job cycle detection

  • nir/lower_blend: Avoid emitting unnecessary fsats

  • panfrost: Respect buffer offset for OpenCL

  • panfrost: Honour cso->req_local_mem

  • nir: Add nir_intrinsic_texture_base_agx sysval

  • agx,asahi: Implement nir_intrinsic_load_texture_base_agx

  • agx: Make p_combine take a dynamic src count

  • agx: Implement texture offsets and comparators

  • agx: Implement txd

  • agx: Implement load_global(_constant)

  • agx: Lower txs to a descriptor crawl

  • agx: Don’t use nir_find_variable_with_driver_location

  • asahi: Don’t crash on <4 channel render targets

  • asahi: Handle blending with MRT

  • u_transfer_helper: Handle Z24X8 for drivers that don’t use the interleaved transfer_map

  • u_transfer_helper: Pack Z24S8 to Z24-in-Z32F and S8

  • asahi: Assert cache line alignment on Z/S buffers

  • asahi: Identify ZLS Control word from PowerVR

  • asahi: Identify CDM block types

  • asahi: Decode CDM commands separate from VDM

  • asahi: Shuffle IOGPU structs

  • asahi: Identify IOGPU compute header

  • asahi: Decode IOGPU compute header

  • asahi: Assert that u_transfer_helper is well-behaved

  • asahi: Use the internal format internally

  • asahi: Identify spill buffer histogram

  • asahi: Simplify IOGPU attachment packing

  • asahi: Identify shared memory fields

  • asahi: Consolidate magic numbers for USC controls

  • asahi/genxml: Overflow up to words when packing

  • asahi: Overhaul USC control packing

  • asahi: Identify pixel stride

  • asahi: Identify shared memory layouts

  • panfrost: Evict the BO cache when allocation fails

  • rusticl: Build Panfrost

  • panfrost: Adapt emit_shared_memory for indirect dispatch

  • agx: Convert and clamp array indices in NIR

  • panfrost: Default pipe->clear_texture impl

  • panfrost: Allow compiling MESA_SHADER_KERNEL

  • panfrost: Upload default sampler for txf

  • panfrost: Bump PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS

  • panfrost: Advertise PIPE_CAP_INT64

  • panfrost: Honour flush-to-zero controls on Valhall

  • panfrost: Assume launch_grid parameters always change

  • pan/va: Fix missing swizzle on CLZ.v2u16

  • pan/bi: Unit test swizzle lowering

  • pan/bi: Lower some 8-bit swizzles

  • pan/bi: Test some 8-bit swizzle lowering

  • pan/bi: Lower swizzles for 8-bit shifts

  • pan/bi: Strip negate when lowering swizzles

  • pan/va: Pack IADD.sat bit

  • pan/va: Fix v4s8 form of R2 opcodes

  • pan/bi: Handle uhadd, urhadd opcodes

  • pan/va: Pack .rhadd bit

  • pan/bi: Add HADD.v4s8.rhadd packing test cases

  • pan/va: Add 8-bit integer max assembler case

  • pan/bi: Lower 8-bit min/max to bcsel+comparison

  • pan/bi: Lower f2i8, f2u8

  • pan/bi: Remove bogus assert for pack_32_2x16

  • pan/bi: Allow selecting from an 8-bit vec8

  • pan/bi: Handle swizzles in unpack_64_2x32_split_{x,y}

  • pan/bi: Lower <32-bit bit_count

  • pan/bi: Lower fisnormal

  • pan/bi: Scalarize phis before the opt loop

  • pan/bi: Call nir_lower_64bit_phis

  • pan/bi: Use .auto for image stores

  • pan/bi: Fix 1D array indexing on Valhall

  • pan/bi: Stub out scoped_barrier

  • pan/bi: Implement unpack_64_2x32

  • agx: Fix bfi_mask packing

  • agx: Emit fewer combines for intrinsics

  • agx: Use 16-bit immediates

  • agx: Validate immediates

  • agx: Test fsat+f2f16 together

  • agx: Ensure that the optimizer sees legitimate SSA

  • agx: Pass mask into ld/st_tile instructions

  • agx: Account for mask when writing registers

  • agx: Remove load_kernel_input path

  • panfrost: Remove load_kernel_input path

  • nir/lower_system_values: Fix cs_local_index_to_id with variable workgroups

  • asahi: Eliminate “Pixel Format” type from GenXML

  • asahi/genxml: Defeature uint/float

  • panfrost,asahi: Remove unused prepare macro

  • panfrost,asahi: Remove unused function

  • asahi,panfrost: Remove exact attribute

  • asahi: Use a header more like Intel’s GenXML

  • asahi: Remove no-direct-packing

  • agx: Add iterators for phi/non-phi instructions

  • agx: Set PIPE_SHADER_CAP_INDIRECT_CONST_ADDR

  • agx: Emit smaller combines for nir_op_vec2/3

  • agx: Don’t prefix pseudo-ops

  • agx: Improve printing of immediate sources

  • agx: Switch to dynamic allocation of srcs/dests

  • agx: Dynamically size split instruction

  • agx: Rename “combine” to “collect”

  • agx: Emit trap at pack-time, not during isel

  • agx: Print instructions as “dest = src”

  • agx: Print agx_dim appropriately

  • agx: Preload vertex/instance ID only at start

  • agx: Write to r0l with a “nesting” instruction

  • agx: Introduce ra_ctx data structure

  • agx: Pass in max regs as a paramter to RA

  • agx: Reserve live-in regs at the start of block

  • panfrost/ci: Disable t720 jobs

  • nir: Be smarter fusing ffma

  • mesa,gallium: Revert “Make point coord origin a CAP”

  • panfrost/ci: Remove stale fail

  • pan/mdg: Lower PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK on Midgard

  • pan/mdg: Limit work registers for large workgroups

  • pan/mdg: Fix 16-bit alignment with spiller

  • nir: Fix nir_fmax_abs_vec_comp

  • nir: Usher nir_normalize_cubemap_coords into 2022

  • mesa: Fix multiple matrix pops in a row

  • nir/lower_io: Set interpolated_input dest_type

  • u_transfer_helper: Handle Z24S8 with z24_in_z32f but no interleaving

  • asahi: Lower point sprites in driver

  • gallium: Default to PIPE_CAP_MIXED_COLORBUFFER_FORMATS

  • panfrost: Remove NIR_SERIALIZED support

  • asahi: Hold a reference to BOs in a batch

  • nir/opt_preamble: Move load_texture_base_agx

  • agx: Remove command line compiler

  • asahi: Remove AGX_FAKE_DEVICE environment variable

  • asahi: Precompile for shader-db

  • asahi: Route shader-db stats to debug callback

  • asahi: Identify “Uniform high” USC word

  • asahi: Identify more shader-related fields

  • asahi: Remove “padding” field

  • asahi: Make agx_varyings a union

  • asahi: Use USC_UNIFORM_HIGH

  • asahi: Rename LOD clamps tests to fit other packing

  • asahi: Don’t use unnecessary test fixture

  • asahi: Add group tests

  • asahi: Support preamble shaders

  • agx: Be less sloppy about high uniforms

  • agx: Check that we don’t push too much

  • agx: Make push_count public

  • agx: Handle multiple functions

  • agx: Align preamble shaders

  • agx: Add uniform_store instruction

  • agx: Allow larger indices for ld/st

  • agx: Strengthen assert for packing ld/st instructions

  • agx: Implement scalar load/store_preamble

  • agx: Handle uniforms passed to COLLECT

  • agx: Restrict copyprop of uniforms

  • agx: Handle 64-bit moves

  • agx: Avoid reading high uniforms from device_load

  • agx: Report GPRs to the driver

  • asahi: Set uniform counts accurately

  • asahi: Set GPR count accurately

  • agx: Add agx_nir_opt_preamble pass

  • agx: Use agx_nir_opt_preamble

  • panfrost: Don’t use lower_wpos_pntc on Midgard

  • panfrost: Use proper formats for pntc varying

  • etnaviv: Use correct idiv lowering

  • nir/lower_idiv: Remove imprecise_32bit_lowering

  • nir/lower_idiv: Inline convert_instr_precise

  • panfrost: Zero polygon list for fragment-only

  • panfrost: Don’t allow VS side effects on midgard

  • pan/bi: Clean up sysval handling a bit

  • pan/mdg: Fix 64-bit address arithmetic

  • panfrost: Use compute-based XFB on Midgard

  • panfrost: Avoid a XFB special case

  • panfrost: Lower MAX_BLOCK_SIZE on Midgard

  • pan/mdg: Don’t schedule across memory barrier

  • panfrost,asahi: Support ARB_buffer_storage

  • gallium: Stub support for Asahi + DRM

  • gallium: Only use Asahi’s software path on macOS

  • panfrost/ci: Disable trace-based testing

  • panfrost: Enable rendering to 16-bit and 32-bit

  • panfrost: Add lots of perf_debug annotations

  • asahi: Identify counts for compute kernels

  • softpipe: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT

  • i915g: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT

  • etnaviv: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT

  • gallium: Default to PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT

  • nir/opt_algebraic: Fuse c - a * b to FMA

  • pan/bi: Don’t lower outputs for compute

  • panfrost: Don’t use nir_variable in the compilers

  • pan/mdg: Disassemble the .a32 bit

  • pan/mdg: Don’t pair ST_VARY.a32 with other instrs

  • pan/mdg: Use .u32 for flat shading

  • pan/mdg: Use bifrost_nir_lower_store_component

  • panfrost: Don’t allocate space for empty varyings

  • panfrost: Don’t use nir_variable to link varyings

  • panfrost: Delete set_global_resources

  • panfrost: Move small compute functions to pan_context.c

  • panfrost: Remove bogus assert

  • panfrost: Consolidate all shader compiling code

  • panfrost: Merge pan_assemble.c into pan_shader.c

  • panfrost: Remove unused req_input_mem copy

  • panfrost: Rename structs to panfrost_(un)compiled_shader

  • panfrost: Remove uncompiled_shader->active_variant

  • panfrost: Use u_dynarray for variants

  • panfrost: Make fixed_varying_mask a fragment-only key

  • panfrost: Precompile transform feedback program

  • panfrost: Precompile shaders

  • panfrost: Implement a disk cache

  • docs/new_features: Add Panfrost disk cache

  • panfrost: Don’t copy resources if replaced

  • panfrost: Replace resource shadowing flush

  • panfrost: Fix build with Perfetto (again)

  • panfrost: Copy resources when necessary

  • panfrost: Require 64-byte alignment on imports

  • panfrost: Fix reference counting with batch->resources

  • panfrost: Use PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY

  • pan/mdg: Fix out-of-order execution

  • panfrost: Revert “Require 64-byte alignment on imports”

Andri Yngvason (1):

  • gallium/vl: Add opaque rgb pixel formats

Anton Bambura (1):

  • panfrost: Enable Mali-T620

António Monteiro (2):

  • freedreno: get timestamp from os_time_get_nano instead of os_time_get

  • gallium/util: remove network class

Axel Davy (6):

  • frontend/nine: Skip invalid swvp calls

  • frontend/nine: Fix buffer tracking out of bounds

  • frontend/nine: Fix ATOC handling

  • frontend/nine: Fix cso restore bug

  • frontend/nine: Fix shader multi-use crash

  • frontend/nine: Fix ff position_t fallback when w = 0

Bas Nieuwenhuizen (56):

  • vulkan/wsi: Take max extent into consideration for modifier selection.

  • radv: Remove redundant radv_QueuePresentKHR.

  • radv: Add binding code for 3d sparse images.

  • radv: Add 3d tile shapes for sparse binding.

  • radv: Expose 3d sparse images.

  • amd/common: Don’t rely on DCN support checks with modifiers.

  • amd/common: Disable DCC retile modifiers on RDNA1

  • radv: Don’t flatten bottom AS exit if statement.

  • radv: Store top of stack in a register.

  • Revert “radv/rt: use derefs for the traversal stack”

  • radv: Use constant for ray traversal exit condition.

  • radv: Use nested ifs for pushing child nodes in traversal loop.

  • radv: Add scratch stack to reduce LDS stack in RT traversal.

  • ac/surface: Fix some warnings.

  • radv: Hardcode root node id.

  • radv: Translate the BVH copy shader to glsl from nir_builder.

  • radv: Remove aabb bounds from instance nodes.

  • radv: Use proper matrices for instance nodes.

  • radv: Use GLSL matrices for instance transforms in BVH.

  • radv: Use deterministic order for dumping acceleration stuctures.

  • radv: Properly initialize all memory in RRA dumps.

  • radv: Do an early check of distance in triangle culling.

  • vulkan/wsi/x11: Fix double free of modifiers.

  • radv: Clean up unused fields in BVH IR.

  • radv: Add a field for the offset of the bvh in the blas.

  • radv: Simplify buffer copy address generation.

  • radv: Start the BVH after the header.

  • radv: Generate parent links in BVH.

  • radv: Only emit parents from parents that actually end up in the tree.

  • radv: Split global & local bvh node variable.

  • radv: Add traversal backtracking with a short stack.

  • radv: Properly annotate all the invalid node usage.

  • radv: Implement pipeline-wide skiptriangles/skipaabbs.

  • radv: Consider inactive internal nodes never in the tree.

  • radv: Constify entry_size.

  • radv: Use a VkPipelineCache handle for meta shaders.

  • radv: Rework modification detection of the meta cache.

  • radv: Mark dEQP-VK.ray_query.misc.dynamic_indexing as crashing in CI.

  • aco: Pre-split result of bvh64_intersect_ray_amd.

  • radv: Improve gfx11 clear colors for DCC.

  • radv: Use correct primgrp size for gfx11.

  • radv: Add BVH IR header.

  • radv: Make the number of internal nodes be written on the GPU.

  • radv: Add PLOC shader

  • radv: Use PLOC for BVH building

  • radv: Speculatively tune RT pipelines for GFX11.

  • radv: Use correct types for loading the rings with LLVM.

  • radv: Handle GSVS ring intrinsic correctly with LLVM.

  • radv: Handle attribute ring intrinsic correctly with LLVM.

  • radv: Fix compute scratch buffer emission.

  • radv: Make the compute scratch waves per SE as well.

  • radv: Fix custom build id with C90 compilation.

  • radv: Use correct init order for ETC2 image views

  • radv: Fix sampler types in ETC2 decode.

  • vulkan: Remove asserts that weren’t valid for RADV ETC2 emulation.

  • radv: reserve space for the scissor in vkCmdBeginRendering.

Benjamin Tissoires (1):

  • CI: convert to use the new S3 server instead of the legacy minio

Boris Brezillon (1):

  • ci/panvk: Skip dEQP-VK.api.object_management.max_concurrent.query_pool

Brian Paul (113):

  • st_pbo/compute: fix memset() warning

  • lavapipe: s/u_foreach_bit/u_foreach_bit64/ in handle_pipeline_access()

  • llvmpipe: further bump LP_MAX_TGSI_SHADER_IMAGES to 64

  • llvmpipe: always pass non-zero writemask to assign_reg()

  • util: allow GALLIUM_LOG_FILE=stdout

  • gallivm: move lp_build_nir_aos_context declaration, etc

  • gallivm: change texture/sampler_index params to unsigned

  • llvmpipe: asst. formatting, clean-ups in lp_state_fs.c

  • gallivm: asst. clean-ups in lp_bld_sample_soa.c

  • gallivm: fix nir AOS swizzling issues

  • lavapipe: remove continue statements in emit_state() to be more consistent

  • lavapipe: zero-init sampler objects

  • cso: asst. clean-ups in cso_hash.[ch]

  • cso: use util_bitcount

  • cso: asst. clean-ups in cso_cache.[ch]

  • cso: asst. clean-ups in cso_context.[ch]

  • draw: asst. clean-ups in draw_context.[ch]

  • draw: asst. clean-ups in draw_vs_llvm.c

  • draw: asst. clean-ups in draw_vs_variant.c

  • draw: asst. clean-ups in draw_vs.[ch]

  • draw: remove goto in llvm_pipeline_generic()

  • draw: remove unused draw_has_llvm()

  • draw: asst. clean-ups in draw_pipe.h

  • draw: asst. clean-ups in draw_pt_fetch.c

  • draw: asst. clean-ups in draw_pt_post_vs.c

  • draw: asst. clean-ups in draw_pipe_cull.c

  • draw: asst. clean-ups in draw_pipe_clip.c

  • draw: asst. clean-ups in draw_pipe_flatshade.c

  • draw: asst. clean-ups in draw_pipe_offset.c

  • draw: asst. clean-ups in draw_pipe_pstipple.c

  • draw: asst. clean-ups in draw_pipe_twoside.c

  • draw: asst. clean-ups in draw_pipe_unfilled.c

  • draw: asst. clean-ups in draw_pipe_user_cull.c

  • draw: asst. clean-ups in draw_pipe_util.c

  • draw: asst. clean-ups in draw_pipe_wide_line.c

  • draw: asst. clean-ups in draw_pipe_wide_point.c

  • draw: asst. clean-ups in draw_vertex.[ch]

  • draw: asst. clean-ups in draw_pt_so_emit.c

  • draw: asst. clean-ups in draw_pipe_aapoint.c

  • draw: asst. clean-ups in draw_llvm.c

  • draw: asst. clean-ups in draw_cliptest_tmp.h

  • draw: asst. clean-ups in draw_gs.[ch]

  • draw: asst. clean-ups in draw_prim_assembler.[ch]

  • draw: asst. clean-ups in draw_pipe.c

  • draw: asst. clean-ups in draw_pt_vsplit_tmp.h

  • draw: asst. clean-ups in draw_split_tmp.h

  • draw: asst. clean-ups in draw_pt.c

  • draw: clean-up count assignment in draw_pt_arrays()

  • draw: asst. clean-ups in draw_private.h

  • draw: asst. clean-ups in draw_pt_fetch_shade_pipeline_llvm.c

  • draw: replace double conditional expression with if/else

  • draw: make draw_geometry_shader_run() return void

  • draw: fix some const-correctness in draw_vbo()

  • draw: move vs_slot var in tgsi/llvm_fetch_gs_input()

  • draw: s/start_or_maxelt/start/ in llvm VS code

  • draw: fix vertex id offset bug

  • draw: fix base vertex bug

  • llvmpipe: asst. clean-ups in lp_rast.h

  • llvmpipe: asst. clean-ups in lp_rast_debug.c

  • llvmpipe: asst. clean-ups in lp_rast_priv.h

  • llvmpipe: asst. clean-ups in lp_rast_rect.c

  • llvmpipe: asst. clean-ups in lp_rast.c

  • llvmpipe: asst. clean-ups in lp_rast_linear.c

  • llvmpipe: asst. clean-ups in lp_rast_linear_fallback.c

  • gallium: whitespace fixes in p_context.h, p_screen.h

  • llvmpipe: asst. clean-ups in lp_context.[ch]

  • llvmpipe: asst. clean-ups in lp_surface.c

  • llvmpipe: asst. clean-ups in lp_screen.[ch]

  • llvmpipe: asst. clean-ups in lp_query.c

  • llvmpipe: asst. clean-ups in lp_setup.c

  • llvmpipe: asst. clean-ups in lp_setup_rect.c

  • llvmpipe: asst. clean-ups in lp_setup_vbuf.c

  • llvmpipe: asst. clean-ups in lp_setup_line.c

  • llvmpipe: asst. clean-ups in lp_setup_point.c

  • llvmpipe: remove gotos in do_rect_ccw()

  • llvmpipe: asst. clean-ups in lp_setup_tri.c

  • llvmpipe: asst. clean-ups in lp_bld_alpha.c

  • llvmpipe: asst. clean-ups in lp_bld_blend_aos.c

  • llvmpipe: asst. clean-ups in lp_bld_depth.c

  • llvmpipe: asst. clean-ups in lp_bld_interp.c

  • llvmpipe: asst. clean-ups in lp_debug.h

  • llvmpipe: asst. clean-ups in lp_draw_arrays.c

  • llvmpipe: asst. clean-ups in lp_fence.c

  • llvmpipe: asst. clean-ups in lp_flush.[ch]

  • llvmpipe: asst. clean-ups in lp_linear_interp.c

  • llvmpipe: asst. clean-ups in lp_linear_sampler.c

  • llvmpipe: asst. clean-ups in lp_scene.c

  • llvmpipe: asst. clean-ups in lp_scene.h

  • llvmpipe: asst. clean-ups in lp_state_sampler.c

  • llvmpipe: asst. clean-ups in lp_state_derived.c

  • llvmpipe: asst. clean-ups in lp_state_clip.c

  • llvmpipe: asst. clean-ups in lp_state_cs.c

  • llvmpipe: asst. clean-ups in lp_state_gs.c

  • llvmpipe: asst. clean-ups in lp_state_rasterizer.c

  • llvmpipe: asst. clean-ups in lp_state_so.c

  • llvmpipe: asst. clean-ups in lp_state_surface.c

  • llvmpipe: asst. clean-ups in lp_state_tess.c

  • llvmpipe: asst. clean-ups in lp_state_vertex.c

  • llvmpipe: asst. clean-ups in lp_test_blend.c

  • llvmpipe: asst. clean-ups in lp_test_conv.c

  • llvmpipe: asst. clean-ups in lp_test_format.c

  • llvmpipe: asst. clean-ups in lp_test_main.c

  • llvmpipe: asst. clean-ups in lp_tex_sample.c

  • llvmpipe: asst. clean-ups in lp_texture.[ch]

  • llvmpipe: improve some if/switch code in llvmpipe_get_shader_param()

  • frontend/dri: assorted clean-ups in dri-screen.c

  • frontends/dri: clean-ups in dri_util.c

  • glx: clean-ups in create_context.c

  • glx: clean-ups in drisw_glx.c

  • llvmpipe: s/uint/enum pipe_prim_type/ in lp_setup_context.h

  • llvmpipe: fix comment typo

  • llvmpipe: asst. clean-ups in lp_state_fs.c

  • llvmpipe: check rectangle vertices have equal W components

Caio Oliveira (38):

  • intel/compiler: Print more details when fs_visitor::validate() fails

  • intel/compiler: Call get_mesh_urb_handle one level up in call-stack

  • intel/compiler: Get URB handle in emit_task/mesh_intrinsic functions

  • intel/compiler: Make component() work for FIXED_GRF/ARF

  • intel/compiler: Remove INTEL_DEBUG=tcs8

  • intel/compiler: Rename 8_PATCH to MULTI_PATCH

  • intel/compiler: Use fs_reg helpers for TCS icp_handle selection

  • intel/compiler: Use fs_reg helpers for GS icp_handle selection

  • intel/compiler: Create fs_visitor::emit_tcs_barrier()

  • intel/compiler: Add helper for barrier message payload setup for gfx >= 125

  • intel/compiler: Use builder to allocate fs regs for TCS store output

  • intel/compiler: Make a type for Thread Payload and FS variant

  • intel/compiler: Use FS thread payload only for FS

  • intel/compiler: Create struct for TCS thread payload

  • intel/compiler: Store Patch URB output in TCS thread payload struct

  • intel/compiler: Store Primitive ID in TCS thread payload struct

  • intel/compiler: Store start of ICP handles in TCS thread payload struct

  • intel/compiler: Create and use struct for TES thread payload

  • intel/compiler: Create and use struct for VS thread payload

  • intel/compiler: Create and use struct for TASK and MESH thread payloads

  • intel/compiler: Create and use struct for GS thread payload

  • intel/compiler: Store start of ICP handles in GS thread payload struct

  • intel/compiler: Create and use struct for Bindless thread payload

  • intel/compiler: Export brw_get_subgroup_id_param_index()

  • intel/compiler: Create and use struct for CS thread payload

  • intel/compiler: Make thread_payload struct abstract

  • intel/compiler: Add a few more brw_ud* helpers

  • intel/compiler: Use brw_ud* helpers in thread payload code

  • nir/lower_task_shader: Don’t fail adding a launch when last instruction is a jump

  • spirv: Pass vtn_block into vtn_emit_branch()

  • spirv: Add workaround to ignore OpReturn after OpEmitMeshTasksEXT

  • spirv: Call vtn_emit_ret_store() only when handling return branch

  • spirv: Make a helper function to check glslang/shaderc

  • spirv: Enable OpEmitMeshTasksEXT workaround for Clay Shader Compiler

  • intel/compiler: Explicitly include build-id when linking intel_clc

  • nir: Don’t reorder volatile intrinsics

  • intel/compiler: Fix dynarray usage in intel_clc

  • intel/compiler: Fix missing tie-breaker in brw_nir_analyze_ubo_ranges() ordering code

Caleb Cornett (3):

  • wgl: Homogenize read framebuffer reference counting logic

  • wgl: Always release local references in stw_make_current_by_handles

  • wgl: Release the context before deleting it in wglDeleteContext

Chad Versace (43):

  • venus: Remove cryptic pointer arithmetic on present attachments

  • venus: Drop vn_present_src_attachment::acquire

  • venus: Track subpass properties

  • venus/pipeline: Refactor vn_fix_graphics_pipeline_create_info

  • venus/pipeline: Add pipeline state bools for ignore rules

  • venus/pipeline: Split ignore rules for pViewportState, pMultisampleState

  • venus/pipeline: Fix ignore rule for pDepthStencilState

  • venus/pipeline: Fix ignore rule for pColorBlendState

  • venus/pipeline: Ignore pViewportState::pViewports

  • venus/pipeline: Ignore pViewportState::pScissors

  • venus/pipeline: Ignore basePipelineHandle

  • venus/pipeline: Fix ignore rules for VK_KHR_dynamic_rendering

  • venus/pipeline: Fix ignore rules for VK_EXT_extended_dynamic_state

  • venus: Dedupe pipeline handle creation

  • venus: Fix failure path on pipeline creation

  • venus: Enable VK_EXT_pipeline_creation_cache_control

  • venus: Sort passthrough extensions

  • vulkan: Make vk_copy_struct_guts() public

  • venus: Simplify vn_GetPhysicalDeviceFeatures2

  • venus: Simplify vn_GetPhysicalDeviceProperties2

  • venus: Enable VK_KHR_shader_integer_dot_product

  • venus: Enable VK_KHR_shader_non_semantic_info

  • venus: Enable VK_KHR_shader_terminate_invocation

  • venus: Enable VK_KHR_zero_initialize_workgroup_memory

  • venus: Enable VK_EXT_subgroup_size_control

  • venus: Enable VK_EXT_texel_buffer_alignment

  • venus: Enable VK_EXT_ycbcr_2plane_444_formats

  • venus: Enable VK_KHR_format_feature_flags2

  • venus: Enable VK_EXT_private_data

  • venus: Enable VK_EXT_tooling_info

  • venus: Document VK_EXT_texture_compression_astc_hdr support

  • venus: Enable VK_EXT_pipeline_creation_feedback

  • venus: Rename some feature/property structs

  • venus: Refactor VN_ADD_TO_PNEXT

  • venus: Add macros VN_SET_CORE_*

  • venus: Fix features/properties for unavailable extensions

  • venus: Use VkPhysicalDeviceVulkan13{Features,Properties}

  • venus/queue: Rename some local vars

  • venus: Change signature of vn_get_fence_feedback_cmd

  • venus: Add vn_queue_wait_idle_before_present()

  • venus: Refactor vn_command_buffer_builder temp storage

  • venus: Enable VK_KHR_synchronization2

  • venus: Enable Vulkan 1.3

Charmaine Lee (6):

  • svga: fix mksstats build

  • svga: fix SetConstantBufferOffset command opcode

  • svga: compare graphics shader stages against COMPUTE

  • mesa/st: fix reference to nir->info after nir_to_tgsi

  • svga: support TGSI_SEMANTIC_TEXCOORD in swtnl draw context

  • svga: fix invalid component access of domain location

Chia-I Wu (83):

  • vulkan: sort ALLOWED_ANDROID_VERSION by api levels

  • vulkan: fix ALLOWED_ANDROID_VERSION for api level 26

  • vulkan: fix ALLOWED_ANDROID_VERSION up to api level 29

  • vulkan: extend ALLOWED_ANDROID_VERSION up to api level 31

  • turnip: add tu_common.h as the common header

  • turnip: remove includes that are already in tu_common.h

  • turnip: add tu_drm.h

  • turnip: add tu_suballoc.h

  • turnip: update tu_cs.h

  • turnip: add tu_query.h

  • turnip: add tu_image.h

  • turnip: add tu_formats.h

  • turnip: update tu_descriptor_set.h

  • turnip: add tu_shader.h

  • turnip: add tu_pipeline.h

  • turnip: add tu_clear_blit.h

  • turnip: add tu_dynamic_rendering.h

  • turnip: add tu_lrz.h

  • turnip: add tu_pass.h

  • turnip: add tu_wsi.h

  • turnip: update tu_autotune.h

  • turnip: add tu_device.h

  • turnip: add tu_cmd_buffer.h

  • turnip: add tu_android.h

  • turnip: update tu_util.h

  • turnip: move away from tu_private.h

  • turnip: remove tu_private.h

  • turnip: remove headers from libtu_files

  • turnip: use SPDX-License-Identifier

  • vulkan: disallow VK_KHR_performance_query on android

  • turnip: fix a use-after-free in autotune

  • turnip: remove unused member in tu_submission_data

  • turnip: handle fence wrapping in autotune

  • freedreno/pps: improve interaction with turnip

  • turnip: lower the queue priority to 1

  • turnip: pCreateInfo->pPoolSizes[i] is wordy

  • turnip: trim down host size of tu_descriptor_pool

  • turnip: trim down bo size of tu_descriptor_pool

  • turnip: improve perfetto sync_timestamp

  • turnip: fix a missing trace_end_gmem_clear

  • turnip: move trace_start_gmem_store before cond exec

  • turnip: fix gem_store tracepoint

  • turnip: tidy up tracepoint header includes

  • util/u_trace: include the generated header first

  • util/u_trace: add PERFETTO HeaderScope

  • turnip: add tu_clone_trace_range helper

  • turnip: convert tu_perfetto_state to a stack

  • turnip: clean up tu_perfetto.h

  • turnip: rename some tracing stages

  • turnip: add cmd_buffer tracepoint

  • turnip: improve tracing of secondary cmd buffers

  • ir3: fix predicate splitting in scheduler

  • util/perf: move u_perfetto to here

  • util/perf: add cpu_trace.h

  • util/perf: fix multiple tracepoints in a scope

  • util/perfetto: add a simple C wrapper for track events

  • util/perf: support and prefer perfetto for cpu trace

  • venus: use MESA_TRACE_*

  • pps: enable track_event in system.cfg

  • docs: update perfetto with the latest status

  • vulkan/wsi: add cpu tracepoints to swapchain functions

  • vulkan/wsi: add cpu tracepoints for internal waits

  • turnip: add some cpu tracepionts

  • freedreno: get cpu timestamp again after FD_TIMESTAMP

  • util/perf: ignore ut->enabled for iterators

  • util/perf: remove u_trace::enabled

  • util/perf: add u_trace_instrument

  • util/perf: simplify u_trace_instrument

  • util/perf: use ALWAYS_INLINE for tracepoints

  • turnip: reduce MAX_STORAGE_BUFFER_RANGE

  • vulkan: update ALLOWED_ANDROID_VERSION for api level 33

  • subprojects: uprev perfetto to v29.0

  • turnip: fix error handling for tu_queue_init

  • turnip: add tu_physical_device::submitqueue_priority_count

  • turnip: add support for VK_KHR_global_priority

  • turnip: use vk_buffer

  • turnip: use vk_descriptor_set_layout

  • vulkan: update comments to device enumeration callbacks

  • turnip: fix kgsl tu_enumerate_devices return code

  • turnip: advertise VkExternalFenceProperties correctly

  • venus: fix VkImageFormatListCreateInfo for AHB

  • freedreno/pps: use 64-bit reads when possible

  • freedreno/pps: loop countables by references

Christian Gmeiner (18):

  • lima/ci: There is no need to redefine HWCI_TEST_SCRIPT

  • lima/ci: Make use of .lava-piglit

  • isaspec: Move isa_decode(..) declaration

  • ci: include etnaviv support in ARM64 container

  • ci: switch to mkbootimg.py

  • ci/bare-metal: introduce BM_MKBOOT_PARAMS

  • ci/etnaviv: add GC7000 support

  • etnaviv: Remove possibility to force MSAA

  • etnaviv: rs: Color resolve works

  • etnaviv: rs: Directly call etna_try_rs_blit(..)

  • etnaviv: rs: msaa: Set cache mode for SMALL_MSAA

  • etnaviv: Update headers from rnndb

  • etnaviv: blt: Add color resolve support

  • etnaviv: blt: Directly call etna_try_blt_blit(..)

  • Revert “etnaviv: completely turn off MSAA”

  • etnaviv: Support negative float inline immediates

  • etnaviv: nir: lower extract byte/word

  • etnaviv: Hide MSAA support behind debug flag

Christophe (2):

  • zink: add profile documentation

  • Zink: add Zink profiles file

Connor Abbott (49):

  • tu: Decouple vertex input state from shader

  • tu: Implement VK_EXT_vertex_input_dynamic_state

  • tu: Fix sysmem depth attachment clear flushing

  • ir3/spill: Fix extracting from a vector at the end of a block

  • nir: Free instructions more often

  • tu/lrz: Fix multiple subpass case with secondaries

  • tu/lrz: Fix multiple depth attachment case with secondaries

  • tu: Fix descriptor set size bounds

  • tu: Don’t preload variable-count descriptors

  • tu: Initial implementation of VK_EXT_inline_uniform_block

  • tu: Also set SP_FS_MRT_REG for unused attachments

  • tu: Fix case where vertex input is set but not vertex buffers

  • tu: Remove unused need_indirect_descriptor_sets

  • tu: Group pipeline state based on VkPipeline*StateCreateInfo

  • tu: Rename RB_MSAA_CNTL to RB_BLIT_GMEM_MSAA_CNTL

  • tu: Always set RB_BLIT_GMEM_MSAA_CNTL when clearing GMEM

  • tu: Make MSAA emission always dynamic

  • tu: Split out primtype calculation for tess

  • ir3: Don’t use msaa key for a6xx+

  • tu: Nuke tu_pipeline_cache

  • tu: Don’t use layer_zero/view_zero in shader key

  • tu, ir3: Move multi_pos_output to ir3_shader_variant

  • tu: Don’t use output state to compute render components

  • tu, ir3: Determine dual-src blend from shader for FS outputs

  • tu: Emit *_OUTPUT_CNTL1 as part of blend state

  • tu: Move no_earlyz computation to blend/msaa state

  • tu: Split up prim order computation

  • tu: Use vk_pipeline_shader_stage_to_nir

  • tu: Abstract driver-specific const state

  • tu: Initial implementation of VK_EXT_graphics_pipeline_library

  • tu: Fix maxPerStageDescriptorUpdateAfterBindInputAttachments

  • tu: Set textures_used for input attachments correctly

  • ir3/analyze_ubo_ranges: Account for reserved consts

  • Revert “freedreno,ir3: rename Z_CLAMP_ENABLE to Z_CLIP_DISABLE”

  • freedreno/a6xx, tu: GRAS_CL_CNTL::UNK5 is Z_CLAMP_ENABLE

  • tu: Fix setting RB_DEPTH_CNTL::Z_CLAMP_ENABLE

  • ir3: Delete outputs from fixup_regfootprint()

  • ir3: Move fixup_regfootprint() to ir3_collect_info()

  • ir3/analyze_ubo_ranges: Account for reserved consts better

  • ir3: Add missing cat5 encoding to asm parser

  • tu: Fix param_stride placement

  • tu: DS primitive stride does not use patch control points

  • tu: Implement extendedDynamicState2PatchControlPoints

  • freedreno: Add LABEL flush

  • tu: Add compute shader instrlen workaround

  • tu: tu: Clear patchControlPoints dirty state with static patchControlPoints

  • tu: Use right enum for compute active_shader_stages

  • tu: Fix binding NULL descriptor sets

  • ir3: Don’t save/restore disasm string pointer

Constantine Shablya (3):

  • nir: add a pass to remove non-uniform access qualifier when the operands are uniform

  • radv: use nir_opt_uniform_access

  • anv: use nir_opt_uniform_access

Corentin Noël (9):

  • virgl/ci: Update virglrenderer

  • ci: disable the freedreno farm.

  • virgl/ci: Update virglrenderer

  • gallivm: avoid the use of an uninitialized value

  • virgl: Add TEXTURE_SHADOW_LOD capability support

  • virgl: Add nir_lower_tex pass

  • mesa/main: do not copy the exact size of the string

  • gallium/hud: use snprintf(…, “%s”, …) instead of strncpy

  • ci: Remove Wno-error=stringop-truncation from debian-arm64-asan

Damian Korczowski (1):

  • d3d12: Fix placed footprint of subresources

Daniel Schürmann (20):

  • nir/opt_algebraic: a & ~a -> 0

  • aco: use std::vector::reserve() more often

  • aco/live_var_analysis: implement faster merging of live_out sets for some cases

  • aco/optimizer: disallow can_eliminate_and_exec() with s_not

  • aco/optimizer: do can_eliminate_and_exec() optimization later

  • aco/optimizer: optimize s_and(exec, s_and(x, y)) more aggressively

  • aco/optimizer: change inverse_comparison in-place

  • radv/rt: create separate radv_rt_pipeline struct

  • radv/rt: inline radv_rt_pipeline_create_() helper into radv_rt_pipeline_create()

  • aco: simplify operands_offset calculation in create_instruction()

  • aco: implement custom memory resource

  • aco: use monotonic_buffer_resource for instructions

  • aco: implement allocator_traits for monotonic_allocator<T>

  • aco/opt_value_numbering: use monotonic_allocator for unordered_map

  • aco/spill: Fix spilling of Phi operands

  • aco/ra: only rename fixed Operands if the copy-location matches

  • aco: change thread_local memory resource to pointer

  • nir: add AMD RT traversal intrinsics

  • radv/rt: create traversal shader independent from main shader

  • radv/rt: overwrite hit args with undef in case of a miss

Daniel Stone (4):

  • ci: Use mold for x86-64 and AArch64 builds

  • CI: Collabora farm down for maintenance

  • CI: Re-enable Collabora devices

  • Revert “panfrost/ci: Disable t720 jobs”

Danilo Krummrich (10):

  • nv50/ir/nir: add conversion ops for bit width < 32

  • nv50/ir/nir: convert to 32 bit for all OP_SET opcodes

  • nv50/ir/nir: avoid 8/16 bit dest regs for OP_MOV

  • nv50/ir: add isUnsignedIntType() and isIntType() helpers

  • nv50/ir/nir: convert 8/16 bit src to 32 bit for {i,u}2f64

  • nv50/ir/nir: always round towards zero for f2i/f2u

  • nv50/ir: add intermediate conversion for f2{i,u}{8,16}

  • nv50/ir: split and cvt 64bit integers for {i,u}2{i,u}{8,16}

  • nv50/ir: handle S8/S16 integers converting to S64

  • nv50/ir: handle U8/U16 integers converting to U64

Danylo Piliaiev (26):

  • tu: Flush depth on depth img transition from undef layout

  • tu: Disable LRZ write when alpha-to-coverage is enabled

  • freedreno: Disable LRZ write when alpha-to-coverage is enabled

  • tu: Assert that if draw state is enabled it has valid iova

  • tu: Switch to userspace iova allocations if kernel supports it

  • tu: Enable bufferDeviceAddressCaptureReplay

  • tu: Disable userspace iova allocations

  • tu: Implement VK_EXT_attachment_feedback_loop_layout

  • freedreno: PC_SO_STREAM_CNTL_STREAM_ENABLE has per-stream enable bits

  • tu: Fix streamout with tess_use_shared

  • tu: Update HS_WAVE_INPUT_SIZE formula

  • util/u_trace: Add locking for ctx_list

  • freedreno: Name more *_DBG_ECO_CNTL regs

  • freedreno: Add all variable magic regs to device-info tables

  • tu: Use newly obtained magic reg values

  • tu: Trivially expose VK_EXT_rasterization_order_attachment_access

  • ir3: Prevent reordering movmsk with kill

  • turnip: implement VK_EXT_multi_draw

  • turnip: Implement VK_EXT_mutable_descriptor_type

  • tu: Expose Vulkan 1.3

  • tu: Do not DCE unused output vars used for transform feedback

  • tu: Lazily init VSC to fix dynamic rendering in secondary cmdbufs

  • tu: Reset whether there is DS resolve for dynamic subpass

  • tu: Fix the size of patch control points state

  • freedreno: Add ‘replay’ tool which allows to replay cmdstreams

  • freedreno/fdl: Increase alignment for UBWC images

Dave Airlie (85):

  • gallivm: fix printf hook for cached shaders.

  • llvmpipe: add shader clock support

  • lavapipe: enable shader clock

  • draw: fix up jit type creation for gs/tcs/tes

  • llvmpipe/gallivm/draw: introduce a buffer type.

  • zink: add defines for the shader stage templates.

  • virgl: abstract virgl shader stages from pipe shader stages.

  • svga: compare shader type against compute not tess eval.

  • gallium/tgsi: reorder pipe shader type defines.

  • gallium/iris/crocus: collapse a bunch of conversion functions.

  • gallium: fixup some inconsistent uses of enum pipe_shader_type.

  • gallium: use gl shader types as the basis for the gallium ones

  • gallivm/nir/st: lower image derefs in advance.

  • lavapipe: lower images to non-derefs in vulkan side

  • lavapipe: scan shader for info before lowering images.

  • llvmpipe/ci: update ci results for clover.

  • draw: don’t touch info values that aren’t valid.

  • nir_to_tgsi_info: drop const_buffers_declared

  • crocus: sync performance monitor code with iris.

  • vulkan: update rest of the headers to v1.3.225

  • gallivm: drop unused parameter to lp_build_sample_aos

  • gallivm/sample: remove unused base parameter from dynamic callbacks.

  • gallivm: don’t indirect image/sampler destroy.

  • llvmpipe: finish rendering before flushing frontbuffer resources.

  • radv: move to using common record_result.

  • turnip: use common command record result.

  • panvk: use common command buffer record result.

  • dozen: move to use common command buffer result code.

  • lavapipe: fix 3d depth stencil image clearing.

  • gallivm: add atomic 32-bit float support

  • llvmpipe: export GL_NV_shader_atomic_float

  • lavapipe: export VK_KHR_shader_atomic_float

  • docs: add new llvmpipe/lavapipe atomic float extensions

  • lavapipe: use slow clear path if conditional rendering.

  • llvmpipe: handle different blocksizes for sampler/image views

  • lavapipe: take layers into account around render surface creation.

  • lavapipe: handle view mask layer count properly for begin rendering.

  • llvmpipe: memset empty images in the key

  • llvmpipe: bind sampler views/images properly.

  • gallivm: handle llvm coroutines for llvm > 15

  • gallivm: fix buffer_type for LLVM 15

  • lavapipe: add fmin/fmax to image lowering.

  • gallivm/nir: fix fmin/fmax translation

  • gallivm/nir: bitcast when non-float ptr type.

  • llvmpipe/fs: start passing explicit context pointer type.

  • llvmpipe/fs: convert thread data ptr to opaque ptr friendly apis

  • llvmpipe/fs: convert linear context to opaque pointers friendly

  • llvmpipe/cs: convert cs context to opaque friendly api

  • llvmpipe/cs: convert cs thread data to opaque friendly api

  • llvmpipe/fs: fix invocations access for opaque ptrs.

  • llvmpipe/setup: move setup code to explicit pointers.

  • llvmpipe/cs: move compute code to explicit pointer types

  • gallivm/struct: add opaque ptr friendly pointer accessors.

  • llvmpipe/fs: add mask_type for mask_store accesses.

  • llvmpipe/fs: pass explicit mask_type into interp code.

  • llvmpipe/fs: port depth code to opaque pointer api

  • llvmpipe/fs: add sample position type to the interp interface

  • llvmpipe/fs: pass mask type to alpha to coverage handler

  • llvmpipe/fs: use explicit api in viewport code.

  • llvmpipe/fs: handle explicit types around blending and c/zs bufs calcs

  • llvmpipe/fs: cleanup some remaining mask handling and reuse types

  • llvmpipe/fs: convert outputs handling to explicit api

  • gallivm/nir: move to explicit pointer interfaces.

  • gallivm/nir: fixup atomic path for explicit pointers.

  • gallivm/sample: move border color load to explicit pointers

  • gallivm/llvmpipe: hand sample position type in for loading.

  • llvmpipe/fs/linear: port to explicit pointers.

  • draw: fix gs/tes explicit pointer handling

  • draw: handle primid for tess being a different pointer type

  • gallivm/tgsi: port tgsi to explicit types.

  • gallium/tgsi: handle temps/outputs array.

  • vulkan: update beta and video headers to 1.3.230

  • llvmpipe/tests: port to new pointer interfaces.

  • gallivm/llvmpipe: add opaque pointers support to sampler

  • draw/llvmpipe: move texture/sampler/image member load to opaque.

  • draw/llvmpipe: add way to return pointer types to generic code.

  • gallivm/sample: use retrieved types to do opaque pointer loads.

  • gallivm: remove legacy pointer_get apis

  • gallivm/sample: move some first_level/last_level calcs out

  • gallivm/nir: drop some unused struct members.

  • gallivm/sample: refactor multisample offset calcs code.

  • glsl/types: fix dword slots calc for float16 matricies.

  • clover/llvm: add kernel arg info for opaque pointers

  • nir/lower_bool_to_int32: add support for lowering functions.

  • gallivm: add coro malloc hooks earlier and always.

David Heidelberg (71):

  • ci: compress LAVA rootfs with zstd instead of gzip

  • ci: replace gzip usage with zstd where posible

  • ci/bin: ignore Gitlab GQL cache

  • ci: Turn off the entire Lima farm (devices report out-of-space)

  • ci: move DXVK instalation outside of x86_test-vk

  • ci: make shellcheck happy on dxvk script

  • ci: separate wine setup into own script

  • ci: Windows runner is experiencing DNS issues; disable Microsoft farm

  • ci: prepare piglit-traces for WINE and DXVK

  • ci/lavapipe: implement traces

  • docs/ci: show how to run traces locally

  • ci/lavapipe: wine flakes, switch to manual for now

  • ci: use apt-get in x86_test-vk instead of apt

  • ci: do not install i386 sub-architecture in VK images

  • ci: traces: update freedreno and broadcom to brotli compressed traces

  • ci: GraphQL was already implemented in ci_run_n_monitor.py

  • ci: implement stress testing jobs in ci_run_n_monitor.py

  • ci: fix leftover tag in image-tags.yml

  • ci: rename debian-gallium to debian-build-testing

  • ci: move lava-test into debian-build-testing

  • ci: make shellcheck happy about .gitlab-ci/container/ directory

  • ci: use shellcheck for .gitlab-ci/container/ directory

  • ci: drop last bits of wine32

  • ci: bump cross compilation to LLVM 13 where possible

  • ci: uprev piglit 2022-08-30

  • ci: set venus on lavapipe to manual due to flakes

  • ci: print env as other setups do

  • ci/lava: print set-job-env-vars.sh as other setups do

  • ci/traces: do not keep a cache, which will be wiped a few steps later

  • ci/test: collapse printing env

  • ci/lava: collapse printing env

  • ci/freedreno: convert traces to new YAML format

  • ci/virgl: convert traces to new YAML format

  • ci/llvmpipe: convert traces to new YAML format

  • ci/lavapipe: convert traces to new YAML format

  • ci/broadcom: convert traces to new YAML format

  • ci/panfrost: convert traces to new YAML format

  • ci/radeonsi: convert traces to new YAML format

  • ci/intel: convert traces to new YAML format

  • ci/i915: convert traces to new YAML format

  • ci/crocus: convert traces to new YAML format

  • ci: check traces.yml files with yamllint

  • ci: performance traces: make use of no-perf label

  • ci: export whole results/ directory for all traces jobs

  • ci: split ci_run_n_monitor into script and shared parts

  • ci: introduce update_traces_checksum.py

  • ci: uprev piglit 2022-09-08

  • ci: use xargs instead of find -exec

  • ci: add jq utility

  • ci/traces: remove first line with YAML version to prevent failure

  • ci/radeonsi: drop glmark2 terrain trace

  • ci/panfrost: drop glmark2 terrain trace

  • ci/intel: drop glmark2 terrain trace

  • ci/lava: add wine and apitrace into amd64 rootfs container

  • ci/lava: prepare wineprefix for GL and DXVK

  • ci/dxvk: fix DXVK 64-bit only wine setup

  • ci: also handle default wine rootfs (for testing)

  • ci/traces: prevent showing wine instalation dialog

  • ci/radeonsi: add traces for radeonsi Zork

  • ci/amd: move radeonsi in amd directory

  • ci: uprev DXVK to 1.10.3

  • ci/traces: Blender demo (Cube Diorama) flakes on Intel APL

  • ci/freedreno: add Guilherme Gallo into restricted traces access list

  • ci/panfrost: deduplicate gitlab-ci.yml

  • ci/panfrost: enable piglit-gl on g52 again and deparalelize

  • ci/panfrost: Humus Portal trace got fixed, update checksum

  • ci/panfrost: re-enable traces on t760

  • ci/linker: update mold to 1.6 and enable on s390x

  • ci/zink: rename zink job to zink-lvp to better describe it

  • ci/freedreno: disable antichambers trace

  • ci/update_traces_checksum.py: check if checksum is in the array, not it’s value

David Riley (1):

  • drm-shim: Allow drm-shim to work with glibc fortify.

Dawn Han (11):

  • Update venus-protocol to add extension `VK_VALVE_mutable_descriptor_type`

  • Increase enum type in vn_descriptor_set.

  • Update bitset when init descriptor layout.

  • Track bitset when create descriptor pool

  • Enable .VALVE_mutable_descriptor_type in physical_device

  • venus: support the promoted VK_EXT_mutable_descriptor_type

  • venus: Update mutable descriptor struct type

  • venus: extend lifetime of push descriptor set layout

  • venus: extend VkPipelineLayout lifetime for batched VkCmdPushConstants()

  • venus: implement vkCmdPushDescriptorSetWithTemplateKHR

  • venus: enable VK_KHR_push_descriptor

Diogo Ivo (1):

  • nouveau: treat DRM_FORMAT_INVALID as implicit modifier

Dmitry Baryshkov (1):

  • freedreno/registers: update hdmi registers to add more 8x74 regs

Dmitry Osipenko (11):

  • util/disk_cache: Add option to disable compression

  • util/disk_cache: Enable testing of uncompressed caches

  • util/disk_cache: Append to disk_cache_load_cache_index() with _foz

  • util/disk_cache: Move struct cache_entry_file_data to the disk_cache_os.h

  • util/disk_cache: Make disk_cache_os.h usable by C++ code

  • util/disk_cache: Add new mesa-db cache type

  • virgl: Fix unmapping of blob resources

  • llvmpipe: Align persistent mappings to page size

  • ci: Bump crosvm version

  • ci: Update virgl-iris-traces checksums

  • ci/virgl: Enable virgl-iris-traces

Dylan Baker (47):

  • docs: reset new features

  • docs: add release notes for 22.1.5

  • docs: Add sha256 sum for 22.1.5

  • docs: add release notes for 22.1.4

  • docs: Add sha256 sum for 22.1.4

  • docs: update calendar and link releases notes for 22.1.4

  • docs: update calendar and link releases notes for 22.1.5

  • docs: update calendar for 22.2.0-rc1

  • docs: add release notes for 22.2.0

  • docs: Add sha256 sum for 22.2.0

  • docs: update calendar and link releases notes for 22.2.0

  • docs: Add calendar entries for 22.2 release.

  • intel/genxml: use a single pattern for res

  • intel/genxml: use a set for lookups

  • intel/genxml: don’t use parens with python assert statement

  • intel/genxml: add type annotations to gen_sort_tags.py

  • intel/genxml: use `a not in {x, y}` instead of `a != x or a != y`

  • intel/genxml: remove unused variable in gen_sort_tags.py

  • intel/genxml: don’t overwrite the input of gen_sort_tags in place

  • intel/genxml: add ‘nonzero’ to gen_sort_tags

  • intel/genxml: add a validation mode to gen_sort_tags

  • intel/genxml: run gen_sort_tags on all of the xml

  • meson: run genxml sort tests

  • docs: add release notes for 22.2.1

  • docs: Add sha256 sum for 22.2.1

  • docs: update calendar and link releases notes for 22.2.1

  • intel/genxml: write a space before the ‘/>` closing tag

  • intel/genxml: re-process with space before `/>`

  • intel/genxml: remove newlines between xml islands

  • intel/genxml: re-process with extra whitespace removed

  • intel/genxml: use ElementTree.write and .indent

  • intel/genxml: reprocess xml with elementree output

  • intel/genxml: split the processing code up

  • intel/genxml: use a main() function

  • intel/genxml: use Path.replace instead of unlink and rename

  • docs: add release notes for 22.2.2

  • docs: Add sha256 sum for 22.2.2

  • docs: update calendar and link releases notes for 22.2.2

  • docs: Extend calendar entries for 22.2 by 2 releases.

  • util/indicies: move common static functions to private header

  • util/indicies: use itertools.product instead of deeply nested loops

  • util/indicies: write a file with u_indicies_gen.py

  • util/indicies: simplify some of u_indicies_gen.py

  • util/indicies: use itertools.product in u_unfilled_gen.py

  • util/indicies: convert u_unfilled_gen.py to write a file

  • util/glsl2spirv: fix type error in argument handling

  • util/glsl2spirv: fix appending extra flags

Ella Stanforth (2):

  • util: fix missing fcntl.h on musl

  • vulkan: wsi: fix musl build

Emma Anholt (108):

  • ci/bare-metal: Re-open serial and everything after test phase timeout.

  • zink: Take the tiling path for resources with modifiers.

  • zink: Replace the “optimal_tiling” flag with a “linear” flag instead.

  • ci/zink: Re-enable a630 zink-on-turnip traces job using gbm as the backend.

  • ci/swrast: Add some flakes I’ve noticed in the IRC channel.

  • ci: Add testing of the khr-single tests.

  • ci: Upgrade deqp-runner to 0.15.0.

  • zink: Make sure that we keep the existing ici pNext chain on inserts.

  • tu: Move the vkCreateImage format list checks to helper functions.

  • tu: Treat viewFormatCount==0 as no format list.

  • tu: Use the format list to decide whether we can do UBWC with MUTABLE.

  • ci/tu+zink: Re-enable the traces that were asserting about UBWC compatibility.

  • ir3: Suppress disasm of internal shaders unless IR3_SHADER_DEBUG=internal.

  • tu: Only emit as many bindless regs as we have seen descriptor sets.

  • tu: Only emit as many VPC interp/repl regs as will be referenced.

  • tu: Only emit FS output regs for as many MRTs as we have (but at least 1).

  • tu: Emit only as many VBs as we’ve ever seen bound on the command buffer.

  • ci/tu: Add another cwe_after_bind fail that appeared in the reshuffle.

  • ci: Move ‘never’ rules includes above “on_success” rules includes.

  • ci: disable the freedreno farm.

  • freedreno/regs: Add a bit of documentation of what SKIP_IB2 does.

  • turnip: Fix enabling of IB2 skipping.

  • nir/lower_mediump: Lower FS outputs to 16-bit when the value was upconverted.

  • nir_to_tgsi: Add support for TG4 with explicit offsets.

  • nir_to_tgsi: Add support for 64-bit fsign/isign.

  • nir_to_tgsi: Add support for demote, is_helper_invocation, and subgroup ops.

  • nir: Make nir_lower_discard_if() handle demotes and terminates, too.

  • nir_to_tgsi: Use nir_lower_discard_if for demote_if.

  • nir_to_tgsi: Add support for bindless textures and images.

  • turnip: Make sure bandwidth config per pixel starts from 0.

  • freedreno/ir3: Move chip-specific nir compiler options to C code.

  • freedreno/ir3: Switch to NIR for a3xx/a4xx’s vertex id lowering.

  • gallium,glsl: Delete PIPE_CAP_VERTEXID_NOBASE and lower_vertex_id.

  • nir: Add a pass to lower mediump temps and shared mem.

  • spirv: Mark phis as mediump instead of directly lowering them to 16 bit.

  • turnip: Enable lowering of mediump temps/CS shared to 16-bit.

  • turnip: Treating non-d/s-write pipelines as not having d/s feedback loops.

  • mesa: Remove PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED/lower_cs_derived.

  • zink: Don’t upload shader immediate arrays through UBO 0.

  • zink: Don’t lower indirect derefs of temp arrays.

  • Revert “ci: disable the freedreno farm.”

  • ci: Add support for Jetson TK1.

  • nouveau: Fix compiler warnings about silly address checks in ir_print.

  • ci/turnip: Add missing a618 full-run bypass fails.

  • turnip: Only emit descriptor loads for active stages in the pipeline.

  • freedreno/ir3: Consistently lower mediump inputs to 16-bit (when we can).

  • nir/lower_mediump_vars: Don’t lower mediump shared vars with atomic access.

  • mesa: Lower mediump temps and CS shared when the driver supports FP16+INT16.

  • turnip: Add some missing LRZ disable debug.

  • turnip: Ignore dynamic color write enables past our number of attachments.

  • turnip: Don’t look at RB.Z_READ_ENABLE for setting LRZ.Z_TEST_ENABLE.

  • turnip: Skip rather than invalidate LRZ on gl_FragDepth writes.

  • turnip: Ignore pDescriptorCounts[] for non-variable-count layouts.

  • turnip: Keep a host copy of push descriptor sets.

  • ci/turnip: Use all 9 a618 runners at once for VK testing.

  • ci/turnip: Bump the full-run a618 runner count to 3.

  • ci/turnip: Re-enable the compressed cubemap tests.

  • ci/turnip: Allow running spirv_ids_abuse in full VK runs.

  • ci/turnip: Drop a couple of spillall skips.

  • ci/turnip: Move some 15-second-ish test skips to pre-merge skips.

  • ci/nouveau: Drop BM_POE_TIMEOUT.

  • ci/nouveau: Rearrange job setup variables.

  • ci/nouveau: fix up Jetson Nano

  • ci/nouveau: Update gm20b xfails.

  • ci: Update kernel to drm-next-2022-08-12-1

  • turnip: Fix leak of autotune fence BOs.

  • turnip: Add TU_DEBUG=bos to print stats of BOs live at submit time.

  • turnip: Fix the “written stencil is unmodified” check.

  • turnip: Use the simplified stencil write flags for the LRZ-allowed check.

  • ci/zink+turnip: Add a manual full run of the dEQP CTS.

  • turnip: Fix busy-waiting on syncobjs with OS_TIMEOUT_INFINITE.

  • util/dag: Move the callback function pointer to the state.

  • util/dag: Add a validation function.

  • freedreno/ir3: Validate our scheduling DAGs after construction.

  • nir/nir_opt_copy_prop_vars: Don’t leak dynarray memory during the pass.

  • nir/vars_to_ssa: Always do OOB load/store removal.

  • glsl: Remove lower_output_reads.

  • glsl: Remove do_set_program_inouts.

  • glsl: Remove opt_array_splitting.

  • glsl: remove opt_structure_splitting.

  • glsl: Remove lower_vec_index_to_swizzle.

  • ci/iris: Update iris traces checksums.

  • turnip: Don’t use the dynamic color write enable during non-dynamic.

  • ci/zink: Clear stale xfails for turnip.

  • zink: Skip border color clamping for compressed formats.

  • zink: Enable ASTC texture format translation.

  • zink: Map ETC1 to ETC2 to avoid uncompressing in the frontend.

  • ci/zink: Add some more flakes for turnip.

  • zink: Fix RelaxedPrecision decoration of texture samples.

  • zink: Decorate mediump outputs as RelaxedPrecision.

  • turnip: Add a perf_debug for feedback-related performance traps.

  • turnip: Move the ubwc_possible check before mutable formats.

  • turnip: Add perf_debug for UBWC being disabled due to mutable formats.

  • turnip: Add perf debug for more UBWC-disable cases that we could support.

  • zink: Fix dummy CB path decision for VK_EXT_cwe presence.

  • turnip: Be sure we blit depth, not stencil, for Z32FS8 -> Z32F resolves.

  • nir/opt_phi_precision: Fix missing swizzles when narrowing phi srcs.

  • turnip: Enable LRZ testing (not writing) in the presence of discards.

  • ci/freedreno: Update CivV trace expectation.

  • ci/freedreno: Update known flakes/timeouts.

  • turnip: Fix reservation for indirect compute’s IR3_DP_SUBGROUP_ID_SHIFT.

  • zink: No need to use a 2-sample dummy image for bindless without null descs.

  • zink: Lazily allocate the dummy surfaces.

  • zink: Enable mesa/st frontend shader caching.

  • rusticl: Fix the invalid memory migration flags check.

  • iris: Disable GLSL lower_const_arrays_to_uniforms.

  • gallium: update docs about PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF.

  • ir3/ra: Make sure we don’t pick a preferred reg overflowing the file.

Eric Engestrom (56):

  • bin/gen_release_notes.py: bump advertised vulkan version to 1.3

  • pvr: fix memleak in error paths

  • vk/device-select-layer: fix .sType of VkPhysicalDeviceGroupProperties

  • docs/features: add missing extensions supported by anv

  • docs/features: add missing extensions supported by lavapipe

  • docs/features: add missing extensions supported by radv

  • docs/features: add missing extensions supported by turnip

  • docs/features: add missing extensions supported by venus

  • docs/features: start tracking extensions supported by dozen

  • docs/features: start tracking extensions supported by panvk

  • docs/features: start tracking extensions supported by powervr

  • docs/features: drop unsupported VK_KHR_display & VK_KHR_get_display_properties2 for lavapipe

  • ci: rename GitHub CI workflow from `ci` to `macos` to be a bit more explicit about what it covers

  • meson: drop duplicate `lib` in lib name

  • wsi/x11: fix memleak in wsi_x11_connection_create()

  • aco: drop unused variable

  • anv: convert assert into unreachable to avoid fallthrough error

  • meson: replace manual compiler flags with meson arguments

  • vc4: introduce VC4_DBG() macro to make VC4_DEBUG checks consistent

  • v3d: introduce V3D_DBG() macro to make V3D_DEBUG checks consistent

  • wayland: avoid writing interface names as free-form strings

  • vc4: drop dead qir_POW() helper

  • v3dv: implement VK_EXT_shader_module_identifier

  • docs: move rusticl readme into docs/

  • broadcom: fix dependencies in static_library() calls

  • docs: add release notes for 22.1.6

  • docs: update calendar and link releases notes for 22.1.6

  • docs: add release notes for 22.1.7

  • docs: update calendar and link releases notes for 22.1.7

  • ci: unexport local variable (and fix formatting)

  • ci: bump mold to 1.5

  • docs/release-calendar: add 22.3 schedule

  • v3dv: drop error overwrite

  • vc4: don’t lower uadd_carry

  • vc4: don’t use imprecise_32bit_lowering for idiv lowering

  • vc4: pre-compile shaders to make up for the lack of draw calls in shader-db

  • vc4: use PIPE_MASK_RGBA name instead of its value 0xf

  • vc4: send shaderdb output through KHR_debug

  • vc4: mark piglit copypixels-(draw-)sync as flaky

  • VERSION: bump to 22.3.0-rc1

  • .pick_status.json: Update to 1174f376096ed6ceebb0fb2810456f1501a68df7

  • zink: add missing build_id linker args

  • vk/runtime: drop incorrect UNUSED annotation

  • v3dv: avoid freeing already-freed memory

  • VERSION: bump for 22.3.0-rc2

  • .pick_status.json: Update to 9bd11f65238ce101bf846f5528f9088630e983f7

  • ci: avoid triggering vc4 & v3d tests on v3dv-only MRs

  • VERSION: bump for 22.3.0-rc3

  • .pick_status.json: Update to f2e535e4fed5bdc13e11a443316a4b77cd5eb81a

  • v3d(v): account for debug flags when using the cache

  • .pick_status.json: Mark 56bd81ee21cb42e4a5afa2939514b570a1283754 as denominated

  • VERSION: bump for 22.3.0-rc4

  • .pick_status.json: Update to 22be0d09a005b4b955a46b65a919cfd786d6814f

  • .pick_status.json: Mark 470fbb35efe1935242b346427ec0fa22b40fff2b as denominated

  • commit_in_branch.py: add support for checking staging branches

  • docs: add release notes for 22.3.0

Erico Nunes (1):

  • ci: enable lima farm

Erik Faye-Lund (226):

  • docs: fixup link to virgl docs

  • zink: add have_D32_SFLOAT_S8_UINT boolean

  • zink: do not use VK_FORMAT_D32_SFLOAT_S8_UINT without checking

  • zink: remove needless check

  • glsl/tests: do not perform eol-conversion on windows

  • zink: type_main -> type_void_func

  • zink: add spirv_builder_function_call

  • zink: wrap discard in a function

  • zink: fix conditions for draw-parameters

  • zink: fixup indent in caps-check

  • mesa/main: simplify implmementation of _mesa_is_format_etc2

  • mesa/main: simplify implementation of _mesa_is_format_astc_2d

  • mesa/st: simplify st_compressed_format_fallback

  • mesa/st: avoid double-mapping if both images are the same

  • mesa/st: do not use memcpy when using compressed fallback

  • mesa/st: add context-flag for bptc-support

  • mesa: add format-helper for bptc

  • mesa: add _mesa_unpack_bptc-function

  • mesa/st: implement fallback for bptc

  • mesa/st: enable bptc extension with fallback

  • zink: allow X32 -> A32

  • mesa/main: remove always-true define

  • mesa/main: add fp16-versions of bptc decompression functions

  • mesa: fall-back to fp16 for bptc-textures

  • gallium/u_transfer_helper: clean up boolean flags

  • gallium/u_transfer_helper: add in-place interleave flag

  • zink: use full transfer-helper api

  • gallium/u_transfer_helper: hide deinterleave helpers

  • mesa/st: also override mip filter for integer textures

  • mesa/st: always force integer filtering to nearest

  • mesa/st: force nearest-filtering for fp32 textures

  • zink: request forcing of fp32-samplers to nearest when needed

  • mesa/st: do not blit when using compressed fallback

  • zink: clamp miplodbias when creating sampler

  • zink: add ntv support for demote

  • zink: add spirv_builder support for is_helper_invocation

  • zink: add ntv support for is_helper_invocation

  • zink: expose demote when supported

  • zink: lower discard/demote depending on derivatives

  • Revert “Revert “ci: set venus on lavapipe to manual due to flakes””

  • mesa/st: use _mesa_generate_mipmap for fallback-formats

  • mesa/st: do not fallback to srgba formats for dxt

  • util: allow unpacking less than a block from dxt

  • mesa/st: add context-flags for s3tc

  • mesa: add format-helpers for s3tc

  • mesa/main: add _mesa_unpack_s3tc

  • mesa/st: implement fallback for s3tc

  • mesa/st: enable s3tc extensions with fallback

  • v3d: do not pretend to fake rgtc-support

  • vc4: respect z-offset in tiled blits

  • vc4: do not attempt to do deep tiled blits

  • docs/zink: remove bptc from required formats for gl4.2

  • docs/zink: document rgtc requirement

  • mesa/st: add context-flag for rgtc

  • mesa: add format-helper for rgtc

  • util/format: fix broken indentation

  • util/format: allow unpacking less than a block from rgtc

  • util/format: implement rgtc -> r8 / r8g8 unpack

  • mesa/main: add _mesa_unpack_rgtc

  • mesa/st: implement fallback for rgtc

  • mesa/st: do not fall back to uncompressed for rgtc

  • mesa/st: enable rgtc extension with fallback

  • panfrost: do not fake rgtc-support

  • docs: update staus of mark GL_ARB_texture_compression_bptc

  • lima: don’t store width in resource-level

  • lima: do not align width/height for non-shared resources

  • mesa/st: add context-flag for latc

  • mesa: add format-helper for latc

  • mesa/main: add support for latc in _mesa_unpack_rgtc

  • mesa/st: implement fallback for latc

  • mesa/st: do not fall back to uncompressed for latc

  • mesa/st: enable latc extensions with fallback

  • freedreno: do not fake rgtc-support

  • u_transfer_helper: rip out fake_rgtc code

  • mesa/st: always use normalized coords for samplers

  • mesa/st: always use normalized coords for samplers

  • mesa/st: always use normalized coords for samplers

  • zink: assert on unnormalized texcoords

  • docs: add an amber article

  • zink: emulate latc formats with rgtc

  • zink: fix luminance clears

  • zink: fixup indent

  • zink: refactor swizzle-clamping code

  • zink: fix luminance/luminance-alpha emulation

  • zink: correct emulation of luminance-alpha formats

  • ci/crocus: update ci results

  • mesa/main: fix broken indent

  • mesa/main: don’t copy signed rgtc via float

  • docs: fixup broken rst syntax

  • gallium/u_threaded_context: remove stale comment

  • gallium: normalized_coords -> unnormalized_coords

  • zink: fix broken pool-alloc consolidation

  • zink: fixup dynarray-type

  • zink: use util_dynarray_clear

  • mesa/st: rip out point-sprite cap

  • mesa/main: remove driver-cap for ARB_point_sprite

  • mesa/st: move static asserts out of translate_prim

  • mesa/st: remove translate_mode

  • docs: correct spelling of “implemented”

  • docs: correct spelling of “attempts”

  • docs: correct spelling of “bug fixes”

  • docs: correct spelling of “specified”

  • docs: correct spelling of “hierarchical”

  • docs: correct spelling of “implementation”

  • docs: correct spelling of “to”

  • docs: correct spelling of “Khronos”

  • docs: correct spelling of “choosing”

  • docs: correct spelling of “subtly”

  • docs: correct spelling of “Raspbian”

  • docs: correct spelling of “shareable”

  • docs: correct spelling of “simplification”

  • docs: correct spelling of “synced”

  • docs: correct spelling of “maximum”

  • docs: correct spelling of “hierarchy”

  • docs: correct spelling of “commutativity”

  • docs: correct spelling of “compression”

  • docs: correct spelling of “laid”

  • docs: correct spelling of “average”

  • docs: correct spelling of “addition”

  • docs: correct spelling of “explicitly”

  • docs: correct spelling of “rasterizer”

  • docs: fractionary -> fractional

  • docs: ie. -> i.e.

  • docs: correct spelling of “correctly”

  • docs: correct spelling of “traveling”

  • docs: correct spelling of “freedreno”

  • zink: rework primitive rasterization type logic

  • zink: reuse rast_prim for line-rasterization check

  • docs: correct spelling of “addition”

  • docs: correct spelling of “passes”

  • docs: correct spelling of “irrespective”

  • docs: correct spelling of “semantic”

  • docs: correct spelling of “specifies”

  • docs: correct spelling of “Gouraud”

  • docs: correct spelling of “Copr”

  • docs: spell out “build directory”

  • docs: spell out “SHA256 checksum”

  • docs: spell out “environment variable”

  • docs: spell out “distribution”

  • docs: use the official spelling of SHA-1

  • docs: eg. -> e.g.

  • docs: XOR’d -> XORed

  • docs: consistently upper-case VC4, V3D etc

  • docs: consistently spell DRI in all-caps

  • docs: consistently spell ANV in allcaps

  • docs: consistently spell URL in allcaps

  • docs: consistently spell OK in allcaps

  • docs: consistently use CMake

  • docs: consistently spell API all-caps

  • docs: consistently spell VirGL in camel-case

  • docs: consistently spell Haswell in camel-case

  • docs: use consistent casing for dEQP

  • docs: ip -> IP

  • docs: irc -> IRC

  • docs: xorg -> X.Org

  • docs: pci -> PCI

  • docs: cpu -> CPU

  • docs: gpu -> GPU

  • docs: rgb -> RGB

  • docs: perfetto -> Perfetto

  • docs: lavapipe -> Lavapipe

  • docs: freedreno -> Freedreno

  • docs: adreno -> Adreno

  • docs: radeon -> Radeon

  • docs: nouveau -> Nouveau

  • docs: llvmpipe -> LLVMpipe

  • docs: vulkan -> Vulkan

  • docs: lima -> Lima

  • docs: ppir -> PPIR

  • docs: autotools -> Autotools

  • docs: ArchLinux -> Arch Linux

  • docs: meson -> Meson

  • docs: Gitlab -> GitLab

  • docs: xyzw -> XYZW

  • docs: hw -> HW

  • docs: lava -> LAVA

  • docs: skqp -> SkQP

  • docs: servo -> Servo

  • docs: Linux fbdev -> Linux Framebuffer

  • docs: virtualisation -> virtualization

  • docs: dependant -> dependent

  • docs: healthcheck -> health check

  • docs: vmware -> VMware

  • docs: spell out “distribution”

  • docs: spell out “transform and lighting”

  • docs: de-duplicated -> deduplicated

  • docs: de-nominate -> denominate

  • docs: freedreno -> Freedreno

  • docs: llvmpipe -> LLVMpipe

  • docs: softpipe -> Softpipe

  • docs: panfrost -> Panfrost

  • docs: piglit -> Piglit

  • docs: ini -> INI

  • docs: swr -> OpenSWR

  • docs: yml -> YAML

  • docs: xml -> XML

  • docs: Adreno aXXX -> Adreno XXX

  • docs: remove non-existent directory

  • docs: do not mention classic swrast

  • docs: name correct driver

  • docs: clean up labels

  • docs: add missing link to mesa3d.org

  • docs: add links to usenet groups

  • docs: link to replacement forum

  • docs: Android.mk -> ndk-build

  • docs: gitlab -> GitLab

  • docs: nVidia -> NVIDIA

  • docs: spell ATI codenames in allcaps

  • docs: nfs -> NFS

  • docs: fixup rebase mistake

  • zink: correct depth-bias enable condition

  • zink: only set line-width if drawing lines

  • zink: consider polygon-mode for rast_prim

  • zink: do not read is_generated unless in tcs shader

  • zink: put union fields into structs named by the shader-stages

  • docs/zink: fix and cleanup rst syntax

  • docs: fixup broken link syntax

  • docs: do not mention EGL_MESA_drm_display

  • docs: remove stale envvar-reference

  • zink: fix json-errors in profile-file

  • zink: remove needless requirements

  • zink: fix incorrect requirements

  • zink: update textureCompressionBC requirement

  • docs/zink: add missing required device-feature

  • mesa: treat unsupported queries as dummies

  • d3d12: fix max-array-layers

Fabian Vogt (1):

  • gallivm: Fix LLVM optimization with the new pass manager

Feng Jiang (5):

  • virgl/vtest: fix memory overwrite problem in virgl_vtest_send_get_caps()

  • gallium: add key size to the structure pipe_picture_desc

  • vl: change vl_video_buffer_destroy() to non-static

  • gallium/util: add a new helper function pipe_buffer_size()

  • virgl: add support for hardware video acceleration

Filip Gawin (5):

  • r300: add list of deqp gles2 r400 failures

  • r300: add khr r400 failures

  • gallium: avoid using float based conditions in loops

  • r300: don’t use smooth line if not requested

  • r300: update r400 tests

Francisco Jerez (4):

  • intel/fs: Fix horiz_offset() to handle FIXED_GRFs with non-trivial 2D regions.

  • nir/lower_int64: Enable lowering of 64-bit float to 64-bit integer conversions.

  • nir/lower_int64: Implement lowering of 64-bit integer to 64-bit float conversions.

  • nir/lower_int64: Fix float16 to int64 conversions.

Frank Binns (13):

  • pvr: get free list min size from the runtime info

  • pvr: reset all command buffer state in pvr_cmd_buffer_reset()

  • pvr: Implement vkResetCommandBuffer

  • pvr: remove redundant TODO

  • pvr: remove image pointer from image view struct

  • pvr: set samplerAnisotropy to false

  • pvr: cube map tex state packing fixes

  • pvr: don’t setup attachment tex state for images with input attachment bit unset

  • pvr: finish render job sample count setup

  • pvr: add required pixel formats

  • pvr: remove implicit sync support

  • pvr: setup buffer and image format feature bits

  • CODEOWNERS: remove rajnesh-kanwal as an Imagination maintainer

Friedrich Vock (28):

  • amd/common: move ac_memory_ops_per_clock into ac_gpu_info.h

  • amd/common: Remove redundant code for determining memory ops per clock

  • radv/winsys: Return VK_ERROR_INVALID_EXTERNAL_HANDLE if buffer imports fail

  • radv: Generalize instance count in BVH states to leaf node count

  • radv: Add metadata to acceleration structures

  • radv: Add Radeon Raytracing Analyzer trace dumping utilities

  • radv: Add Radeon Raytracing Analyzer capturing layer

  • radv: Enable Radeon Raytracing Analyzer traces

  • docs: Add documentation about RADV RRA tracing

  • radv: Use radv_CmdUpdateBuffer instead of radv_update_buffer_cp for geometry info writes

  • radv: Free geometry infos in radv_CmdBuildAccelerationStructuresKHR

  • radv: Correct accel struct header size

  • radv: Rename internal node shader to lbvh_internal

  • radv: Split CmdBuildAccelerationStructuresKHR into different functions

  • radv: Add BVH IR types

  • radv: Add conversion shader for internal nodes

  • radv: Add conversion shader for leaf nodes

  • radv: Create pipelines for conversion meta shaders

  • radv: Build acceleration structures using BVH IR

  • radv: Rename emulated float helpers

  • radv: Use a struct for AABBs

  • radv: Add radv_indirect_unaligned_dispatch

  • radv/rt: Fix internal converter synchronization

  • radv/rt: Dispatch internal converter indirectly

  • radv/rt: Track number of inactive leaf nodes

  • radv: Add global sync utilities

  • radv: Add REF as a typename macro to .clang-format

  • radv: Use spirv1.5 instead of vulkan1.2

Georg Lehmann (40):

  • aco: Check that we don’t override exec_val operands during branching sequence optimization.

  • aco/assembler: Fix v_cmpx with SDWA.

  • aco: Fix optimizing branching sequence with s_and_saveexec.

  • aco/assembler: Fix v_cmpx pre GFX10.

  • aco: Use v_cmpx pre GFX10.

  • aco: Force tex operand to have the correct sub dword size before packing.

  • nir: Add nir_ssa_scalar_is_undef.

  • nir/fold_16bit_tex_image: Add an option to fold image sources.

  • aco: Implement storage image A16.

  • aco: Combine 16bit undef and constants instead of using s_pack.

  • radv: Fold 16bit image sources.

  • nir: Print selection control for nir_if.

  • nir/opt_algebraic: Optimize check for single bit.

  • nir/opt_algebraic: Optimize d3d9 pow with fmulz.

  • aco: Fix image instructions with lod when 2d_view_of_3d is enabled on GFX9.

  • ac/llvm: Fix image instructions with lod for 2d on GFX9.

  • aco: Use plain VOPC for vcmpx when possible.

  • nir/opt_algebraic: Optimize unpacking of upcasts to 64bit integers.

  • radv: Enable VK_EXT_load_store_op_none.

  • aco: Use v_fmaak/v_fmamk if two operands are the same literal.

  • aco: Unswizzle v_pk_fma_f16 literals to produce more v_pk_fmac_f16.

  • radv: Fix GLSL BDA struct alignment and use pointer arithmetic SIZEOF.

  • nir/opt_algebraic: Optimize more (a cmp b ? a : b) to min/max.

  • aco: Use s_pack_ll for s_bfe operand on GFX9+.

  • nir: Print nir_selection_control_divergent_always_taken.

  • nir/opt_algebraic: Mirror optimizations for find_msb_rev.

  • aco: Implement [ui]find_msb_rev.

  • ac/llvm: Implement [ui]find_msb_rev.

  • nir/opt_algebraic: Add an option to lower uclz.

  • radv,aco: Lower uclz in NIR.

  • nir/opt_algebraic: Optimize various find_msb_rev patterns.

  • nir: Fix ifind_msb_rev constant folding.

  • aco: fmaak/fmamk can’t use SDWA.

  • aco: Don’t use opsel for p_insert.

  • ac/llvm: Implement signed idot on GFX11.

  • aco: Implement signed idot instructions on GFX11.

  • radv: Use available dot product instructions on gfx11.

  • radeonsi: Use available dot product instructions on gfx11.

  • aco: Use opsel for the third operand.

  • aco: Use s_pack_ll_b32_b16 for scalar zero extend.

Gert Wollny (95):

  • radeonsi-raven/ci: Move spec@arb_timer_query@timestamp-get to flakes

  • llvmpipe: Double number of SSBOs

  • r600/sfn: Schedule shift instruction on R600 in t-slot

  • r600/sfn: Add GS thread fix just like the TGSI code path

  • r600/sfn: Sort FS inputs to make interpolated values come first

  • r600/sfn: Fix color outputs when color0 writes all

  • r600/sfn: Initialize out buffer when printing op

  • r600: Force NOPs when loading AR on R600 class hardware

  • r600/sfn: Handle R600 scratch read

  • r600: Don’t use SB with R600 style scratch reads

  • r600: Fix SCRATCH OP de-assembly

  • nir_lower_atomics_to_ssbo: Initialize deref struct

  • r600/sfn: Handle color0 writes all on R700 like on EG

  • r600/sfn: Don’t tag mem-ring and stream instructions as exports

  • r600/sfn: Don’t schedule GDS instructions early

  • r600/sfn: Don’t scan the whole block for ready instructions

  • r600/sfn: Use a heuristic to keep SSBO setup and store close

  • r600: Fix reporting TGSI IR support

  • r600/sfn: Use a low number for unused target register

  • virgl: Fix buffer overflow warning:

  • virgl: Fix ubsan warnings:

  • virgl: when reading back wait first, then do the transfer

  • virgl/ci: remove some flakes

  • r600/sfn: override register ID when it doesn’t matter

  • r600/sfn: ACK all image stores, also at end of loop

  • r600/sfn: more peephole optimization with conditionals

  • r600/sfn: Override VPM if access in helpers is requested

  • r600/sfn: Don’t scalarize fdd instructions

  • virgl: Add some formats that the CTS uses

  • mesa/glsl: Add support for NV_shader_noperspective_interpolation

  • r600: set nir option lower_cs_local_index_to_id

  • virgl: Report CONSTANT_BUFFER_SIZE according to GL_MAX_UNIFORM_BLOCK_SIZE

  • r600/sfn: Lower tex,txl,txb and txf to backend

  • r600/sfn: lower txd to backend in nir

  • r600/sfn: lower txf_ms in nir

  • r600/sfn: copy-propagate single source texture values

  • r600/sfn: print tex prepare instructions

  • r600/sfn: Don’t allocate un-used components in texture ops

  • r600/sfn: Add an easy access to get an instruction as ALU

  • r600/sfn: Don’t assert when setting one value

  • r600/sfn: Copy propagate into TEX source

  • r600/sfn: drop some unused code

  • r600/sfn: copy propagate register load chains

  • r600/sfn: VS inputs are effectively SSA

  • r600/sfn: Add a free-channel mask when testing whether a register can switch channel

  • r600/sfn: fix some channel pinning

  • r600/sfn: Handle shifts on Cayman

  • r600/sfn: only use 3 channels on Cayman for trans ops

  • r600/sfn: Make sure texture lowering is done in the right order

  • r600/sfn: lower tg4 to backend in NIR

  • r600: Add slot to ALU disassambly

  • r600: Make NIR the default shader IR

  • nir_lower_to_source_mods: Don’t sneek in an abs modifier from parent

  • r600/sfn: Only run 64 bit ops lowering passes when really needed

  • r600/sfn: Always start a new CF after a KILL instruction

  • r600/sfn: don’t propagate registers into conditional test

  • r600/sfn: Add peephole optimization for kill instructions

  • r600/sfn: Delete final lowered nir shader early

  • r600/sfn: Fix typo

  • r600/sfn: Use the correct allocator for loop lists

  • r600/sfn:explicitly initialize the memory pool

  • r600/sfn: assert on use of abs modifier in op3

  • r600/sfn: Unroll loops after doing some optimizations

  • r600/sfn: Always enforce LDS operation order

  • r600/sfn: Make sure all components are usable when lowering TF inputs

  • r600/sfn: run cleanup passes after late algebraic opt

  • nir: move fusing csel and comparisons to opt_late_algebraic

  • r600/sfn: Unify the handling of resource IDs in instruction

  • r600/sfn: Handle nir_op_seq and nir_op_sne

  • r600: Fix printing t-channel in diss-assambly

  • r600/sfn: Add test for channel changes in TEX source from opt

  • r600/sfn: Allow copy-prop of group dest into origin

  • r600/sfn: Trigger TEX CF based on max TEX CF size

  • r600/sfn: improve scheduling of tex sources

  • r600/sfn: Increase scheduling priority on uniform reads and non-ssa writes

  • r600/sfn: elimiate dead registers too

  • r600: Account for color and clipvertex when evaluating LDS space

  • r600/sfn: evaluate LDS location for color and clip-vertex too

  • r600/sfn: Add .clang-format file and apply style

  • r600: declare for counter locally and fix signed/unsigned warning

  • r600: Only count ALU registers that are not clause local

  • r600: Print MOVA_INT dest on Cayman

  • r600/sfn: Handle load_workgroup_size

  • r600/sfn: lower uniforms to UBOs

  • r600/sfn: remove load_uniform handling

  • etnaviv: Create MSAA surfaces with PE compatible tiling

  • nir/algeraic_opt: use double options too for lowering ftrunc@64

  • r600/sfn: Fix source modifiers for ffract64

  • r600/sfn: Fix f2u32 and remove backend lowring of f2u64 and f2i64

  • r600/sfn: Honor shader key w.r.t. atomic counter layout

  • r600/sfn: Fix location for reading cube array image dimensions

  • r600/sfn: sort FS color outputs before all other outputs

  • virgl: don’t a use staging when a resources created with the shared flag

  • virgl: Fix injection of double from const mov instruction

  • r600/sfn: always use four slots for Cayman trans ops

Giancarlo Devich (4):

  • mesa: Fix stack corruption for PIPE_QUERY_TIMESTAMP

  • d3d12: Add cache managers for separate buffer usage cases

  • gallium/pipe: Align allocation size in `pb_cache_manager_create_buffer`

  • d3d12: Don’t align already-aligned size in `d3d12_bufmgr_create_buffer`

Glenn Kennard (1):

  • nv30: Fix non-scissored clears after a scissor has been set

Guilherme Gallo (29):

  • ci/lava: Customise sections timeouts via envvars

  • ci/lava: Add timeout header info for LAVA GL Sections

  • ci/bin: Add utility to find jobs dependencies

  • ci/bin: Sort imports from ci_run_n_monitor.py

  • ci/bin: Make ci_run_n_monitor finds dependencies automatically

  • ci/bin: Add script to expand jobs manifest

  • ci/bin: Cache GQL queries

  • ci/bin: Print job needs DAG in ci_run_n_monitor

  • ci/skqp: Add an option to run all tests

  • ci/skqp: Show reports on crashes

  • ci/skqp: Fix paths in skqp-runner

  • ci/skqp: Fix Nima-Cpp fetching error

  • ci/skqp: Build list_gpu_unit_tests and list_gms

  • ci/skqp: Add support for commenting tests files

  • ci/skqp: Use SKQP_BIN_DIR instead of hardcoded /skqp dir

  • ci/skqp: Put generated tests files in artifacts

  • ci/skqp: Supress irrelevant shellcheck warnings

  • ci/skqp: Remove .baremetal-skqp-test in favor of .skqp-test

  • ci/skqp: Add gitlab sections for uncluttering

  • ci/freedreno: skqp: run with new tests files

  • ci/radeonsi: skqp: Add fail test files for raven

  • ci/radeonsi: Add zork jobs and rules

  • ci/bin: Fix requirements.txt

  • ci/bin: Remove whitespace from token files

  • ci: Fix kernel+rootfs.* jobs

  • ci: Update piglit with s3 support

  • ci: Update piglit-traces tests expectations

  • ci: Update ci-fairy in CI, rootfs and containers

  • freedreno/ci: Skip civilization-v/CivilizationV-trim trace

Hans-Kristian Arntzen (3):

  • vulkan: Update to 1.3.228 headers.

  • radv: Implement VK_EXT_mutable_descriptor_type.

  • vk/runtime: Fix narrowing of timeline signal and wait value to u32.

Iago Toral Quiroga (87):

  • broadcom/compiler: don’t use imprecise_32bit_lowering for idiv lowering

  • broadcom/compiler: use nir_opt_idiv_const

  • broadcom/compiler: simplify code emitted for centroid coordinates

  • nir/lower_alu: drop unnecessary iand on uadd_carry result

  • broadcom/compiler: track number of TMU operations in prog data

  • v3dv: move check_needs_load/store helpers to unversioned code

  • v3dv: track if a job is compatible with double-buffer mode

  • v3dv: fix tile state allocation

  • v3dv: add a v3dv_job_allocate_tile_state helper

  • v3dv: postpone tile state allocation for render pass jobs

  • v3dv: tell job_compute_frame_tiling whether we want to use double-buffer mode

  • v3dv: add a heuristic for double-buffer mode

  • v3dv: vkCmdClearAttachments no longer generates its own RCL

  • v3d,v3dv: lower texel buffer aligment requirements

  • v3dv: implement VK_EXT_texel_buffer_alignment

  • v3dv: add a helper to destoy pipeline layouts

  • v3dv: ref/unref pipeline layout objects

  • v3dv: set maxBufferSize property

  • v3dv: add a v3dv_image_init helper

  • v3dv: add a get_image_memory_requirements helper

  • v3dv: implement vkGetDeviceImageMemoryRequirementsKHR

  • v3dv: add a get_buffer_memory_requirements helper

  • v3dv: add a buffer_init helper

  • v3dv: implement vkGetDeviceBufferMemoryRequirementsKHR

  • v3dv: implement vkGetDeviceImageSparseMemoryRequirementsKHR

  • v3dv: expose VK_KHR_maintenance4

  • nir/lower_variable_initializers: implement non-scoped barrier path

  • v3dv: implement VK_KHR_zero_initialize_workgroup_memory

  • v3dv: also check GS stage on image access for binning barriers

  • v3dv: implement vkCmdPipelineBarrier2

  • v3dv: port remaining entry points to KHR_synchronization2

  • v3dv: use VkPipelineStageFlagBits2 when checking semaphore wait stage

  • v3dv: expose VK_KHR_synchronization2

  • v3dv: implement VK_KHR_workgroup_memory_explicit_layout

  • v3dv: switch to common code for command buffer lifecycles

  • v3dv: expose VK_EXT_tooling_info

  • v3dv: fix swap_rb and channel_reverse flags in image views

  • v3dv: expose VK_EXT_border_color_swizzle

  • v3dv: ref pipeline layout earlier during pipeline init

  • v3dv: implement VK_EXT_depth_clip_control

  • v3dv: expose VK_EXT_attachment_feeback_loop_layout

  • v3dv: fix variable type

  • v3dv: limit heap size to 4GB

  • broadcom/simulator: add a helper to get the amount of free heap memory

  • v3dv: implement VK_EXT_memory_budget

  • v3dv: expose VK_EXT_primitive_topology_list_restart

  • v3dv: don’t load an attachment for unaligned render area if we are not storing

  • v3dv: expose VK_EXT_load_store_op_none

  • v3dv: don’t return incompatible driver if GPU is not present

  • v3dv: fix program id for binning shaders

  • broadcom/compiler: detect unifa write from signal

  • broadcom/compiler: check signal writes to magic regs when updating scoreboard

  • v3dv: optimize ldunif load into unifa write

  • v3dv: fix VK_EXT_texel_buffer_alignment

  • broadcom/compiler: increase V3D_MAX_BUFFE_RANGE to 2^30 bytes

  • broadcom/compiler: fix robust buffer access

  • broadcom/compiler: handle shared stores with robust buffer access

  • broadcom/compiler: don’t apply robust buffer access to shared variables

  • broadcom/compiler: rename v3d_nir_lower_robust_buffer_access.c

  • broadcom/compiler: rename static helpers involved with robust buffer access

  • broadcom/compiler: add a lowering for robust image access

  • v3dv: expose VK_EXT_image_robustness

  • v3dv: use NIR_PASS with v3d_nir_lower_robust_image_access

  • v3dv: use enabled features from vk_device

  • broadcom/compiler: trivial code clean-up

  • vulkan/runtime: include robustness info when hashing a shader stage

  • v3dv: implement VK_EXT_pipeline_robustness

  • v3dv: drop layout refs for all allocated sets from a pool on destroy / reset

  • broadcom/compiler: handle vec2 load/store index

  • v3dv: refactor events

  • v3dv: re-enable sync_fd import/export

  • v3dv: return out of host memory if we fail to create event pipelines

  • v3dv: split event implementation to a separate file

  • v3dv: remove unnecessary check for NULL

  • v3dv: do a better job at cleaning up the device on init failure

  • v3dv: fix incorrect return type

  • v3dv: handle allocation failure during pipeline initialization

  • v3dv: do better cleanup on failure during pipeline cache operation

  • v3dv: increase limit for active event objects

  • v3dv: always check VK_ACCESS_2_MEMORY_READ_BIT for read accesses

  • v3dv: make the helper to emit pipeline barriers public to other files

  • v3dv: fix event synchronization

  • v3dv: vkCmdWaitEvents2 takes an array of VkDependencyInfo

  • v3dv: use vk_alloc instead of malloc

  • broadcom/compiler: avoid using ldvary sequence to hide latency of branching

  • v3dv: fix debug dump on BO free

  • v3dv: ignore imported BOs when tracking BO memory usage

Ian Romanick (8):

  • nir: spirv: Allow 32-bit version of nir_intrinsic_is_sparse_texels_resident

  • radeonsi: r600: d3d12: st: Use NIR lowering for tg4 offset arrays instead of GLSL lowering

  • glsl: Remove lower_offset_arrays pass

  • nir/comparison_pre: See through an inot to apply the optimization

  • intel/fs: Fix constant propagation into 32x16 integer multiplication

  • nir/range_analysis: Set higher default maximum for max_workgroup_count

  • nir/loop_analyze: Fix get_iteration for nir_op_ine

  • nir/loop_analyze: Fix get_iteration for nir_op_fneu

Igor Torrente (3):

  • vulkan: Add vk_clock_gettime and vk_time_max_deviation

  • radv: anv: Use the new vk_clock_gettime and vk_time_max_deviation functions

  • venus: Fix dEQP-VK.pipeline.timestamp.calibrated.host_domain_test failure

Ikshwaku Chauhan (1):

  • Revert “radeon: add EFC support to only VCN2.0 devices”

Illia Abernikhin (2):

  • utils: Move functions from debug.* to u_debug.*

  • utils: Merge util/debug.* into util/u_debug.* and remove util/debug.*

Illia Polishchuk (2):

  • mesa: skip extra state updates for clear calls

  • driconf/Intel: Add lower_depth_range_rate option workaround for Homerun Clash misrendering issue

Isaac Bosompem (1):

  • virgl: Set use_staging in resource_from_handle

Italo Nicola (6):

  • etnaviv: skip disk cache initialization on standalone compiler

  • etnaviv: fix standalone compiler to work without a tgsi backend

  • clc: add 32-bit target

  • rusticl: use 32-bit address format for 32-bit devices

  • rusticl: correctly check global argument size

  • rusticl: fix MemConstant invalid arg size check

Iván Briano (13):

  • anv: emit scissors when the pipeline changes

  • anv: pipelineStageCreationFeedbackCount is allowed to be 0

  • anv: populate rt shader groups if they were found in the cache

  • anv: Set meshShaderQueries for mesh shader ext features

  • intel/utrace: create the callback events for xfb trace points

  • anv/grl: Add a GRL file parser

  • anv: set READ/WRITE_WITHOUT_FORMAT for buffer views

  • vulkan_hasvk: set READ/WRITE_WITHOUT_FORMAT for buffer views

  • anv: compile_upload_rt_shader expects a valid pointer

  • anv: use DX rules for point rasterization

  • hasvk: use DX rules for point rasterization

  • anv: support VK_PIPELINE_CREATE_RAY_TRACING_SKIP_*

  • anv: enable rayTraversalPrimitiveCulling feature

James Park (2):

  • vulkan: Augment _WIN32 stub comparison

  • meson,amd: Remove Windows libelf wrap

James Zhu (4):

  • amd/common: some ASICs with gfx9 use compute rings for render

  • util/format: add util format y8_400_unorm

  • frontends/va: add support for yuv400 and yuv444

  • radeonsi/vcn: enable jpeg decode of yuv444 and yuv400

Jami Kettunen (1):

  • freedreno/ir3: Switch to NIR for a5xx’s vertex id lowering.

Jan Beich (1):

  • util: unify FreeBSD futex_wait signature with Linux/OpenBSD/Windows

Faith Ekstrand (115):

  • nir: Clean up and improve nir_dedup_inline_samplers

  • intel/fs_reg_allocate: Improve compressed instruction self-interference

  • intel/rt: Handle halts in any-hit shaders properly

  • intel/rt: Handle multiple exits in lower_shader_returns

  • genxml: Add BVH data structures

  • anv: Don’t require 32-bit addresses for scratch on Gen12.5+

  • vulkan,anv,dozen: Use VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT

  • radv: Use both aspects for depth/stencil blit destinations

  • radv: Use VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT for render loops

  • radv/meta: Respect render area for MSAA resolves

  • radv/meta: Fix a stack use-after-free with sample locations

  • radv/meta: Drop subpass_att from radv_fast_clear_color

  • radv/meta: Use Begin/EndRendering for resolves

  • radv/meta: s/dest/dst/ in a few functions

  • radv/meta: Use Begin/EndRendering for clears

  • radv: Drop set/restore_subpass

  • radv/meta: Drop redundant depth_view_can_fast_clear

  • radv: Add a image_transition helper for separate depth/stencil layouts

  • radv: Don’t assume layout == stencilLayout for stencil-only

  • util,intel: Pull the bit packing helpers from genxml to a common header

  • broadcom: Use util/bitpack_helpers.h

  • util: Add util_bitpack_[su]fixed_clamp helpers

  • asahi: Use util/bitpack_helpers.h

  • panfrost: Use util/bitpack_helpers.h

  • anv: Use nir_intrinsic_load_layer_id for ViewId in fragment shaders

  • anv: Decouple primitive replication check from the fragment shader

  • anv: Stop looking at the pipeline in multiview lowering

  • nir: Track per-view outputs in shader_info

  • intel/compiler: Store the number of position slots in the VUE map

  • anv: Drop anv_pipeline::use_primitive_replication

  • pvr: Only destroy the physcial device if it exists

  • vulkan/cmd_buffer: add record_state to the common command buffer.

  • vulkan/cmd_queue: Drop vk_cmd_queue::error

  • vulkan: Add a concept of recycling an object

  • vulkan: Re-order arguments to vk_command_pool_init

  • vulkan: Re-order arguments to vk_command_buffer_init

  • vulkan: Add a vk_command_buffer_ops struct

  • vulkan: Add a common vkResetCommandBuffer() implementation

  • vulkan: Add a common vkAllocateCommandBuffers() implementation

  • vulkan: Recycle command buffers in vk_command_pool

  • radv: Move to the common command pool framework

  • tu: Move to the common command pool framework

  • lvp: Move to the common command pool framework

  • vulkan,docs: Add documentation Vulkan command pools

  • vulkan: Dirty VP_VIEWPORTS/SCISSORS when copying viewports/scissors

  • radv: Set the window scissor to the render area, not framebuffer

  • radv: Only copy the render area from VRS to HTILE

  • radv: Leave image layouts alone when doing HW MSAA resolves

  • radv: Switch to dynamic rendering only

  • rusticl: Call nir_scale_fdiv

  • vulkan/runtime: Add a comon vk_descriptor_update_template

  • anv: Switch to the common descriptor update template struct

  • vulkan/runtime: Compact descriptor update templates

  • panvk: Fix buffer views

  • spirv: Don’t use libclc for wait_group_events

  • nir: Add a helper for finding a function by name

  • nir/load_libclc: Don’t add generic variants that already exist

  • vulkan: Record more enabled robustness features

  • vulkan: Add a helper for gathering pipeline robustness

  • iris: Use a larger alignment for buffer allocations

  • iris: Fix more BO alignments

  • iris: Handle resource offsets in buffer copies

  • iris: Stop looking at textures_used for samplers

  • iris: Split max #defines for textures/samplers/images

  • iris: Support up to 64 images

  • iris: Support up to 128 textures

  • intel/fs: Always use integer types for indirect MOVs

  • intel/fs: SEL_EXEC uses the integer pipe for 64-bit stuff

  • intel/mi_builder: add a way to reserve a register

  • intel/mi_builder: Add a helper for incrementing reference counts

  • anv/formats: Advertise ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT

  • anv: Add an anv_address_map helper

  • anv: Implement VK_KHR_pipeline_library

  • anv: Set up the memory-backed FIFO buffer

  • anv: Add extern “C” guards

  • anv: Add support for compiling OpenCL-style kernels

  • anv: Add support for OpenCL-style kernel dispatch

  • anv: Import GRL

  • anv/grl: Build OpenCL kernels

  • anv/grl: Add a helper for dispatching our pre-built kernels

  • intel/grl: Parse GRL files and generate C

  • anv: Build BVHs on the GPU with GRL

  • anv: Advertise ray-tracing on DG2

  • intel/devinfo: DG2 supports ray-tracing

  • vulkan/wsi: Support configuring swapchain images as part of swapchain init

  • vulkan/wsi/x11: Configure images via params passed to wsi_swapchain_init()

  • vulkan/wsi/wayland: Configure images via params passed to wsi_swapchain_init()

  • vulkan/wsi/display: Configure images via params passed to wsi_swapchain_init()

  • vulkan/wsi/win32: Configure images via params passed to wsi_swapchain_init()

  • vulkan/wsi: Always configure images in wsi_swapchain_init()

  • vulkan/wsi: Don’t expose as many image configure helpers

  • vulkan/wsi: Add a typedef for memory type select callbacks

  • vulkan/wsi: Add a supports_scanout flag

  • vulkan: Use altlen when available for array lengths

  • vulkan: Rename viewport_state::negative_one_to_one

  • vulkan: Add a dynamic state for vp.depth_clip_negative_one_to_one

  • vulkan: Add more dynamic rasterizer state

  • vulkan: Add dynamic state for tessellation domain origin

  • vulkan: Add more dynamic multisample states

  • vulkan: Add more dynamic color blend states

  • vulkan,lavapipe: Use a tri-state enum for depth clip enable

  • iris: Set SamplerCount in shader packets

  • nir: Reformat a comment

  • nir: Use nir_shader_instructions_pass in nir_lower_readonly_images_to_tex

  • nir: Misc. style fixes to nir_lower_readonly_images_to_tex

  • nir: Unconditionally call nir_trim_vector in nir_lower_readonly_images_to_tex

  • nir/types: Add some asserts to glsl_get_struct_field()

  • nouveau/codegen: Support bindless texture queries

  • intel/lower_mem_access_bit_sizes: Compute alignments automatically

  • intel: Don’t cross DWORD boundaries with byte scratch load/store

  • vulkan: Handle VK_SUBPASS_EXTERNAL at the end of a subpass

  • vulkan: Unconditionally add barriers for missing external subpass deps

  • vulkan: Add state for extraPrimitiveOverestimationSize

  • vulkan: Add a common implementation of CmdSetSampleLocationsEnableEXT

  • vulkan: Add a dummy vk_common_CmdSetColorBlendAdvancedEXT()

Jeremy Rand (1):

  • llvmpipe: bump LP_MAX_THREADS to 32

Jesse Natalie (82):

  • ci/windows: Re-enable Windows runners

  • dzn: Disable extensions that require multi-view

  • dzn: Use D3D12 constants instead of naked numbers for device limits

  • ci/windows: Disable Windows builds while the runner is offline again

  • ci/windows: Windows runner is back online

  • ci/windows: Install Graphics-Tools package on the base image

  • egl/wgl: Don’t require a native display to support window surfaces

  • egl/wgl: Implement QuerySurface

  • wgl: Split pbuffer creation into two functions

  • egl/wgl: Implement PBuffer surfaces

  • egl/wgl: Set YInvert attribute to always true

  • egl/wgl: Implement bind/release texture buffer

  • wgl: Allow per-framebuffer swap interval overrides

  • egl/wgl: Support eglSwapInterval

  • egl/wgl: Support eglWaitClient

  • egl/wgl: Support eglWaitNative

  • egl,wgl: Support eglCreateImageKHR

  • wgl: Pass smapi explicitly to context creation

  • wgl: Pass smapi explicitly to framebuffer creation

  • egl/wgl: Use a per-display st_manager

  • egl/wgl: Hook up image validate/get in smapi

  • egl/wgl: Support EGL_MESA_query_driver

  • egl/wgl: Support sync objects

  • wgl: Use pfi instead of iPixelFormat more often

  • egl/wgl: Delete unused variables/code

  • egl/wgl: Fix some awkward sizeof formatting

  • meson: Don’t include glsl compiler if flex/bison aren’t found

  • microsoft/compiler: Discard shouldn’t be marked readnone

  • dxil_nir_lower_int_cubemaps: When not lowering samplers, don’t touch sampler types

  • microsoft/compiler: Fix PSV struct when numthreads is 0

  • microsoft/clc: Handle a null clc logger

  • gallium/windows: Delete OpenGLOn12.dll target

  • meson: Add an option to specify the WGL gallium megadriver filename

  • mesa: Expose GL_NV_ES1_1_compatibility

  • microsoft/compiler: Always emit a shader at the max-supported shader model

  • microsoft/compiler: Support up to shader model 6.5

  • microsoft/compiler: Add struct and function defs for SM6.6 handle funcs

  • microsoft/compiler: Add dynamic create handle helper

  • microsoft/compiler: Add getters for res bind/props structs

  • microsoft/compiler: Delete double-assignment of sampler metadata field

  • microsoft/compiler: Pass lower_bound, upper_bound, space to createhandle

  • microsoft/compiler: Handle SM6.6 handles

  • microsoft/compiler: SM6.6 is supported

  • microsoft/compiler: Support SM6.7

  • d3d12: Get max supported shader model

  • dzn: Get max supported shader model

  • u_atomic: Add a helper for pointer compare-exchange

  • d3d12: Change displayable format logic

  • ci/windows: Update build container image with all deps so wraps can be disabled

  • deps: Update DirectX-Headers req to 1.606.4

  • d3d12: Move some things from screen late-init to early-init

  • d3d12: Store the d3d12 module reference on the screen

  • d3d12: Support device factories in addition to global device creation

  • d3d12: Attempt to use the Agility SDK

  • d3d12: Use ID3D12DeviceConfiguration for root signature serialization

  • d3d12: Release sharing contract in flush_frontbuffer

  • dzn: Store the d3d12 module reference on the instance

  • dzn: Support device factories in addition to global device creation

  • dzn: Use architecture props to return correct device type

  • dzn: Attempt to use the Agility SDK

  • dzn: Use ID3D12DeviceConfiguration for root signature serialization

  • ci/windows: Update vk-gl-cts to pick up new zlib dependency

  • d3d12: Don’t put permanently-resident resources in the residency bo list

  • d3d12: Don’t multiply cube array sizes by 6

  • d3d12: Set PIPE_CAP_MAX_TEXTURE_UPLOAD_MEMORY_BUDGET

  • dzn: Set factory flags before creating device

  • d3d12: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT

  • include: Add WGL version of GL interop extensions

  • mesa, dri2: Move interop helpers from dri2 to state tracker

  • include: Add a flush interop method

  • mesa: Make fence_sync not static

  • mesa/st: Split interop object lookup from export

  • mesa/st: Implement the new flush method

  • dri: Implement the new flush method

  • glx: Implement the new flush method

  • egl/dri2: Implement the new flush method

  • wgl: Implement interop methods

  • egl/wgl: Implement interop methods

  • include: Add driver data to v2 of mesa_glinterop_device_info

  • gallium: Add screen methods for driver-private data on interop interface

  • mesa/st: Query driver for interop data

  • d3d12: Hook up driver-private interop data

Jessica Clarke (1):

  • panfrost/blend: Fix invalid const values leading to NIR validation errors

Joan Bruguera (1):

  • nv50/ir/nir: ignore sampler for TXF/TXQ ops.

John Brooks (5):

  • radv: Add get_addrlib function to radv_radeon_winsys

  • vulkan: Introduce vk_format_is_block_compressed function

  • radv: Only apply mipmap view adjustments to block compressed images

  • radv: Fix corrupted mipmap copies on GFX9+

  • radv: Fix mipmap views on GFX10+

Jonathan (3):

  • gallium/u_threaded: buffer subdata merging (v2)

  • gallium/u_threaded: Prepare for buffer sharedness tracking

  • gallium/u_threaded: buffer sharedness tracking

Jonathan Gray (2):

  • iris: check i915 features after hw gen

  • util: include sys/time.h for timespec functions

Jordan Justen (15):

  • iris: Drop extra file-descriptor dup in iris_drm_screen_create()

  • intel/pci_ids: Update ADL-S strings

  • intel/pci_ids: Add 0x468b ADL-S PCI-id

  • intel/pci_ids: Update ATS-M device names

  • intel/pci_ids: Update DG2 device names

  • intel/pci_ids: Add dg2 0x5698 pci-id

  • intel/pci_ids: Drop non-upstream dg2 pci-ids

  • intel/compiler: Use builder to allocate fs regs for gs control data bits

  • intel/devinfo: Add MTL platforms enums and intel_device_info_is_mtl()

  • intel/l3: Use L3 full-way allocation setting for gfx12.5 (DG2, MTL)

  • anv/meson: Use anv_flags and anv_cpp_flags in genX compiles

  • meson: Deprecate vulkan-rt-drivers intel

  • meson: Define with_intel_vk_rt based on with_intel_clc

  • intel/compiler: Broadcast lower code should check 64-bit int support

  • ci/d3d12: Update quick_shader results with 24 fixes from !19128

Jose Maria Casanova Crespo (4):

  • CI: Igalia farm is down

  • Revert “CI: Igalia farm is down”

  • vc4: consolidate shader-db output

  • v3d: Minor fixes on sand8 blit based on sand30 modifications

Joshua Ashton (2):

  • radv: Remove workarounds for D3D9 feedback loops

  • freedreno: Disable 8bpp_ubwc on a6xx gen2

José Fonseca (1):

  • util: Add macro util_get_cpu_caps in u_cpu_detect.c for avoid accidentally call it in u_cpu_detect.c

José Roberto de Souza (34):

  • intel: Simply intel_gem_create_context_engines()

  • anv: Remove duplicated memset() in physical device creation

  • anv: Remove anv_app_info

  • anv: Free vmas in case device creation fails in pthread_mutex_init(&device->mutex

  • anv: Do not duplicate intel_device_info memory in each logical device

  • anv: Only wait for queue sync if execbuf was properly executed

  • anv: Do not copy garbage to batch_bo

  • anv: Nuke anv_execbuf_init()

  • anv: Group all context operations during device creation

  • anv: Nuke dead code

  • anv: Return earlier in anv_gem_get_tiling() when not supported

  • intel/compiler/fs: Fix compilation of shaders with SHADER_OPCODE_SHUFFLE of float64 type

  • intel/compiler/fs: Use DF to load constants when has_64bit_int is not supported

  • vulkan_hasvk: Nuke dead code around I915_ENGINE_CLASS_COMPUTE

  • anv: Nuke cmd_parser_version

  • intel/dev: Adjust prefetch_size values for MTL engines

  • intel: Share code to read render timestamp

  • intel: Make engine related functions and types not i915 dependent

  • intel/dev: Split i915 specific parts of intel_get_device_info_from_fd()

  • anv: Move fetch of i915 physical device parameters

  • anv: Split i915 specific parts of anv_queue_submit_simple_batch()

  • anv: Use Vulkan types for priority as much as possible

  • anv: Split the debug part of anv_queue_exec_locked()

  • intel: Convert missing i915 engine types to intel

  • intel: Convert i915 engine type to intel in tools/ common/ and ds/

  • intel: Add and use intel_engines_class_to_string()

  • hasvk: Nuke code around local memory

  • hasvk: Fix build around intel_measure_state_changed() call

  • iris: Fix enablement of protected contexts

  • intel/perf: Use intel_device_info functions to compute subslice and eu totals

  • iris: Nuke pci_id from iris_screen

  • iris: Drop duplicated errno handling in iris_bo_wait()

  • iris: Do not export iris_bo_wait()

  • iris: Set priority for replaced engine context

Juan A. Suarez Romero (3):

  • vc4/simulator: use i915/amd ioctls for BO

  • vc4: properly restore vc4 debug option

  • vc4: store tex sampler in proper register

Julia Tatz (1):

  • zink: Advertise PIPE_CAP_NATIVE_FENCE_FD

Juston Li (6):

  • venus: Enable VK_EXT_texture_compression_astc_hdr

  • venus: sync venus protocol headers for VK_EXT_primitive_topology_list_restart

  • venus: add support for VK_EXT_primitive_topology_list_restart

  • venus: sync to latest venus protocol headers

  • venus: add support for VK_EXT_multi_draw

  • venus: use buffer cache for vkGetDeviceBufferMemoryRequirements

Kai Wasserbäch (22):

  • chore(deps): clover: raise the minimum LLVM version to 11.0.0

  • fix(FTBFS): meson: raise C++ standard to C++17

  • chore(docs): rusticl: improve list of build dependencies

  • fix: util/format: unused variable ‘desc’ [-Wunused-variable]

  • fix: nir: unused variable ‘else_block’ [-Wunused-variable]

  • fix: ac/llvm: unused variable ‘offset’ [-Wunused-variable]

  • fix: mesa: unused variable ‘ret’ [-Wunused-variable]

  • fix: mesa/st: variable ‘texobj’ set but not used [-Wunused-but-set-variable]

  • fix: mesa/st: unused variable ‘src’ [-Wunused-variable]

  • fix: gallivm: variable ‘type_kind’ set but not used [-Wunused-but-set-variable]

  • fix: r600/sb: unused variable ‘repdep2’ [-Wunused-variable]

  • fix: r600/sb: unused variable ‘fop’ [-Wunused-variable]

  • fix: r600/sb: unused variable ‘r’ [-Wunused-variable]

  • fix: r600/sfn: variable ‘opinfo’ set but not used [-Wunused-but-set-variable]

  • fix: r600/sb: warning: unused variable ‘{b,nl}’ [-Wunused-variable]

  • fix: r600/sfn: unused variable ‘splitpos’ [-Wunused-variable]

  • fix: r600/sfn: unused variable ‘{splitpos,param}’ [-Wunused-variable]

  • fix: r600/sfn: variable ‘fail’ set but not used [-Wunused-but-set-variable]

  • fix: r600/sfn: unused variable ‘spi_sid’ [-Wunused-variable]

  • fix: iris: unused variable ‘devinfo’ [-Wunused-variable]

  • fix: zink: unused variable ‘intr’ [-Wunused-variable]

  • fix: frontends/va: unused variable ‘max_pipe_hevc_slices’ [-Wunused-variable]

Karmjit Mahil (30):

  • pvr: Fix bo mapping on alloc with PVR_BO_ALLOC_FLAG_CPU_ACCESS.

  • pvr: Compete pvr_calc_fscommon_size_and_tiles_in_flight().

  • pvr: Fix calculation in rogue_max_compute_shared_registers().

  • pvr: Change indentation from tab to spaces for xml files.

  • pvr: Set descriptor dirty flag based on other flags.

  • pvr: Finish setting up job resolve info.

  • pvr: Remove unimplemented push descriptor code.

  • pvr: Add depth_bias_array handling on dbenable.

  • pvr: Add clear program in pvr_device.

  • pvr: Add static clear control stream templates in pvr_device.

  • pvr: Add static clear VDM state in pvr_device.

  • pvr: Add graphics pipeline barrier handling.

  • Revert “pvr: Make pvr_cmd_pack() macro clearly internal”

  • pvr: Implement clear ppp state emission from template.

  • pvr: Add mid fragment pipeline barrier if needed.

  • pvr: Handle VK_CULL_MODE_FRONT_AND_BACK.

  • pvr: Emit cs words for load op on vkCmdBeginRenderPass().

  • pvr: Add basic skeleton for event sub cmd.

  • pvr: Remove struct pvr_emit_state and emit header directly.

  • pvr: Add csb helpers macros to write into raw buffer.

  • pvr: Make control stream word writing stricter.

  • pvr: Complete pvr_emit_ppp_state().

  • pvr: Add assert for texturestate being 0 in when emitting ppp state.

  • pvr: Add EMIT_MASK in pvr_emit_ppp_state().

  • pvr: Fix possible seg fault on csb copy.

  • pvr: Fix overflow before widen warning for rgn headers size calculation.

  • pvr: Handle pipeline barrier vk_sync.

  • pvr: Remove outdated comments.

  • pvr: Add PBE accum format size in bytes.

  • pvr: Change pvr_get_hw_clear_color() to pack based on accum formats.

Karol Herbst (189):

  • printf: extract clovers printf impl

  • printf: add some unit tests

  • nir: serialize printf metadata for CL kernels

  • nir/lower_images: extract from clover

  • nir: extract the clc inline sampler dedup pass from clc

  • microsoft/clc: drop inline sampler reordering

  • clc: undefine spirv defs to work around LLVMs headers

  • vtn: silence warning about linkage

  • gallium: mark the input data as const in pipe_grid_info

  • util/memstream: insert null terminator on windows

  • ci: update fails list

  • ci: bumping all tags to make sure we don’t have hidden fails

  • nvc0: limit max global and alloc size

  • ci: update CI to reflect clovers LLVM version bump

  • nv50: fix code heap after pipe_shader_enum change

  • nouveau: use the contexts pushbuf and client where possible

  • nouveau/mm: make code thread safe

  • nouveau/buffer: simplify uses of nouveau_fence_work

  • nouveau/fence: rework nouveau_fence_emit so we can call it on emitted fences

  • nouveau: move nouveau_context initialization to common code

  • nouveau: wrap nouveau_bo_map

  • nouveau: wrap nouveau_bo_wait

  • nouveau: wrap all nouveau_pushbuf_space calls

  • nouveau: wrap nouveau_pushbuf_validate

  • nouveau: wrap nouveau_pushbuf_refn

  • nouveau: use PUSH_KICK instead of nouveau_pushbuf_kick

  • nouveau/fence: make the fence struct part of the fence API

  • nv50: remove nouveau_fence_signalled prior nouveau_fence_wait

  • nv50: remove nv50_bufctx_fence call in vbo_kick_notify

  • nouveau/fence: per context fence

  • nouveau: per context client and pushbuf

  • nouveau: make fencing race free

  • nvc0: make state handling race free

  • nv50: race free state tracking

  • nv50/ir: fix OP_UNION resolving when used for vector values

  • nv50: properly flush the TSC cache on 3D

  • rusticl: added

  • rusticl: finish implementing clBuildProgram

  • rusticl/util: add static_assert macro

  • rusticl: implement clFinish and clFlush

  • rusticl: implement clEnqueueReadBuffer

  • rusticl/mem: support ops on subbuffers

  • rusticl/kernel: basic implementation

  • rusticl: nir bindings

  • rusticl: translate spirv to nir and first steps to kernel arg handling

  • rusticl/kernel: more clGetKernelWorkGroupInfo props

  • rusticl/kernel: clGetKernelWorkGroupInfo allows a NULL device

  • rusticl/mem: use helper context for COPY_HOST_PTR buffers

  • rusticl/event: wrong but non crashing impl of clWaitForEvents

  • rusticl: hack for CL 3.0

  • rusticl/mesa: add fencing support

  • rusticl/event: proper eventing support

  • rusticl/kernel: implement clCreateKernelsInProgram

  • rusticl/kernel: implement clEnqueueTask

  • rusticl/program: undefine __IMAGE_SUPPORT__ if images are unsupported

  • rusticl/queue: fix clReleaseCommandQueue

  • rusticl/mem: implement clCopyBuffer

  • rusticl/mem: implement clFillBuffer

  • rusticl/event: implement marker and barrier

  • rusticl/mem: add clEnqueueMigrateMemObjects stub

  • rusticl/program: support compiling libraries

  • rusticl: implement clUnloadPlatformCompiler

  • rusticl/api: add param to query which contains application provided values

  • rusticl/program: implement clCreateProgramWithBinary

  • rusticl/event: add fake impl of clGetEventProfilingInfo

  • rusticl/kernel: implement CL_KERNEL_COMPILE_WORK_GROUP_SIZE

  • rusticl/mem: finish clEnqueueMigrateMemObjects

  • rusticl/kernel: run driver requested lowering passes

  • rusticl/kernel: add support for offsets

  • rusticl/kernel: add missing preprocessor definitions

  • rusticl: advertize CL 1.1 and CL 1.2 extensions

  • rusticl/context: implement clSetContextDestructorCallback

  • rusticl/kernel: implement clCloneKernel

  • rusticl/device: set required double fp config values

  • rusticl/device: advertize atomic caps

  • rusticl: claim support for generic pointers

  • rusticl/program: add il stubs

  • rusticl: add svm func stubs

  • rusticl/icd: add more func pointers

  • rusticl/kernel: report SIMD width as work group sizes

  • rusticl/kernel: sweep nir to reduce peak memory usage

  • rusticl/device: expose cles_khr_int64 for compatible embedded devices

  • rusticl/mem implement the memory *WithProperties API

  • rusticl/pipe: add clGetPipeInfo stub end return CL_INVALID_MEM_OBJECT

  • rusticl/program: add stubs for program ctors and dtors

  • rusticl/kernel: add stub for clGetKernelSubGroupInfo

  • rusticl/event: timeout wait on condvar to abort on reaped worker threads

  • rusticl: add support for printf

  • rusticl/spirv: add print method

  • rusticl/mesa: support mapping textures

  • rusticl/mem: support read/write/copy ops for images

  • rusticl/memory: rework mapping tracking

  • rusticl/mem: implement maping images

  • rusticl/mem: implement fill image

  • rusticl/mem: implement copy image

  • rusticl/mem: implement clCreateImage2D and 3D

  • rusticl/mem: implement copies between buffers and images

  • rusticl/mesa/context: un Arc the PipeContext

  • rusticl/mem: implement clCreateSamplerWithProperties

  • rusticl/kernel: support for images

  • rusticl/kernel: inline samplers

  • rusticl/kernel: lower memcpy

  • rusticl/device: add retain/release callbacks for luxmark v4

  • rusticl/device: implement cl_khr_3d_image_writes

  • rusticl/kernel: set CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE

  • rusticl/kernel: run some more opt passes

  • rusticl: get rid of a few clones

  • rusticl/memory: don’t map more than necessary for copy operations

  • rusticl/device: fix api consistency_device_and_host_timer test

  • rusticl/queue: implement missing CL 3.0 bits

  • rusticl/device: fix compiler features_macro

  • rusticl/mem: add user_ptr fallback shadow buffer

  • rusticl/mesa: make resource_from_user_memory an optinal feature

  • rusticl/kernel: implement image_format and image_order

  • rusticl/mem: fix IMAGE1D_BUFFER

  • rusticl/mem: only write pitch when required

  • rusticl: port to Rust 2018

  • rusticl: kernel caching

  • rusticl/kernel: prepare for nir caching

  • rusticl/kernel: cache the nir as well

  • rusticl: fix compiler features_macro

  • rusticl/kernel: optimize local size

  • rusticl: the CTS is a piece of shit

  • rusticl/kernel: implement CL_KERNEL_ATTRIBUTES

  • rusticl/program: some boilerplate code for SPIR-V support

  • rusticl/memory: kernel read_write images prep work

  • rusticl: disable fp64 support

  • rusticl/device: allow overwriting the device_type via env

  • rusticl/program: parse quoted paths in args

  • rusticl/kernel: fix local buffers

  • rusticl/device: report mesas version for CL_DRIVER_VERSION

  • rusticl/icd: implement clGetExtensionFunctionAddressForPlatform

  • rusticl/icd: add some way of debugging CL function calls

  • rusticl/kernel: use real references for arguments

  • rusticl: proper PIPE_MAP flags for internal maps

  • rusticl: call glsl_type_singleton_init_or_ref

  • rusticl/program: some more API validation

  • ci: rusticl with llvmpipe

  • rusticl: add README file

  • rusticl/device: print error when libclc fails to load

  • rusticl/mem: return errors for OOB accesses

  • rusticl/device: fix custom device detection

  • rusticl/mem: fix image OOB checks

  • rusticl/mem: align fill pattern buffer to 4 bytes

  • rusticl: limit global mem to 2GB

  • rusticl/kernel: assign locations before passing the nir to drivers

  • ac/llvm: support non 32 bit sized workgroup ids

  • ac/llvm: fix load_const for vectors with more than 4 elements

  • ac/llvm: fix load/store_shared for vectors with more than 4 elements

  • ac/llvm: fix load_ubo for vectors with more than 4 elements

  • radeonsi: stop vectorizing unpack_32_2x16_split

  • iris: use images_used instead of num_images

  • iris: speed up walking global bindings

  • iris: bump IRIS_MAX_GLOBAL_BINDINGS to 128

  • rusticl/kernel: preserve fp16 denorms to fix vload/vstore_half

  • rusticl: add support for coherent resources

  • rusticl/mesa: add bx() method to PipeTransfer

  • rusticl: rework resource mappings a little

  • rusticl: add helper ctx wrapper for coherent and direct mapping

  • rusticl/mem: rewrite the (un)mapping code

  • lp: claim being UMA

  • rusticl/mem: propper CL_MEM_ALLOC_HOST_PTR support

  • radeonsi: fail creating textures from user memory

  • nir/lower_cl_images: set binding

  • radeonsi: lower hadd and fisnormal

  • rusticl: remove blit code

  • rusticl: add RUSTICL_ENABLE to have a global way of enabling devices

  • docs: Add documentation for Rusticl’s env variables

  • ci/llvmpipe: update to new RUSTICL_ENABLE var

  • zink: handle more opcodes for CL

  • zink: handle f2f16_rtz

  • zink: fix spirv_builder_spec_const_uint

  • aux/trace: add set_global_binding

  • rusticl: force BIND_LINEAR on staging resources

  • rusticl/mem: can only map staging textures directly

  • rusticl: add small bitset impl

  • rusticl/nir: add reads_sysval wrapper

  • rusticl/kernel: lower system values before gathering info

  • rusticl/kernel: add work_dim lowering

  • zink: remove leftover work_dim lowering code

  • rusticl/kernel: fix more 32 bit problems

  • nir/algebraic: add 8 and 64 bit urol and uror lowering

  • nir/algebraic: support CL vector accessors

  • nir/algebraic: generalize vector_cmp lowering

  • nir/algebraic: add vec8/16 cmp lowering

  • iris: invalidate sysvals if grid dimension changes

  • glsl: fix buffer texture type

  • rusticl/device: put space at the end of CL_DEVICE_VERSION

  • nir/lower_int64: fix shift lowering

Kenneth Graunke (53):

  • intel/compiler: Use named NIR intrinsic const index accessors

  • iris: Pass devinfo to iris_resource_level_has_hiz()

  • iris: Enable HiZ for non-8x4 aligned miplevels on Icelake and later

  • iris: Always retain ISL_AUX_USAGE_HIZ_CCS_WT in texture aux usage

  • iris: Clean up iris_sample_with_depth_aux()

  • intel/compiler: Drop variable group size lowering

  • iris: Fix PIPE_CAP_UMA

  • iris: Use linear for exported resources if we can’t convey tiling

  • intel/compiler: Change dg2_plus check to devinfo->verx10 >= 125

  • iris: Delete unused iris_screen::aperture_bytes field

  • iris: Don’t print out XXX messages if resource creation fails

  • iris: Fall back if iris_map_copy_region can’t create a staging resource

  • iris: don’t create staging resources larger than half the aperture

  • crocus: Don’t print out XXX messages if resource creation fails

  • crocus: Fall back if iris_map_copy_region can’t create a staging resource

  • crocus: Fix memory leaks on iris_resource_create failure paths

  • anv: Fail to create a device on ver < 9

  • anv: Drop checks for version 8 or 9

  • anv: Delete image param support.

  • anv: Delete batch buffer growing code.

  • anv: Delete shader constants UBO from descriptor sets

  • anv/tests: Don’t use relocations in a test case

  • anv: Delete “back” allocation from state pool

  • anv: Delete relocation support from anv_block_pool

  • anv: Delete “back” allocation from anv_block_pool

  • anv: Drop state pool relocation munging

  • anv: Delete use_relocations flag

  • anv: Delete softpin checks

  • anv: Delete anv_reloc_list_add()

  • anv: Delete wrapper BOs for relocations

  • anv: Delete relocation support from batch submission

  • anv: Delete has_a64_buffer_access flag

  • anv: Delete has_bindless_images and has_bindless_samples flags

  • anv: Make a helper function for pinning a state pool’s BOs

  • anv: Drop offset from anv_reloc_list_append

  • anv: Inline write_reloc into the only remaining caller

  • anv: Remove anv_batch_emit_reloc and just open-code it

  • intel/compiler: Use subgroup invocation for ICP handle loads

  • iris: Ignore aux for copy_region source if there’s no unresolved color

  • intel/compiler: Use an existing URB write to end TCS threads when viable

  • st/mesa: Optionally call nir_vectorize_tess_levels()

  • intel/compiler: Vectorize gl_TessLevelInner/Outer[] writes

  • intel/genxml: Add XY_FAST_COLOR_BLT

  • blorp: Make blitter_supports_aux accessible from multiple files.

  • blorp: Implement blitter clears via XY_FAST_COLOR_BLT

  • blorp: Fix typo in blorp_xy_block_copy_blt

  • Revert “intel/compiler: Vectorize gl_TessLevelInner/Outer[] writes”

  • iris: Add miplevel parameters to iris_resource_texture_aux_usage

  • intel/compiler: Vectorize gl_TessLevelInner/Outer[] writes [v2]

  • iris: Use nir_intrinsic_load_global_constant for large constants

  • intel/compiler: Run nir_opt_large_constants before scalarizing consts

  • st/mesa: Let nir_opt_access() infer non-readable

  • nir: Drop infer_non_readable option for nir_opt_access()

Konrad Kleine (1):

  • Update docs/drivers/llvmpipe.rst

Konstantin Kharlamov (5):

  • loader/dri3: simplify check for reply

  • loader/dri3: remove a no-op free call

  • meson: remove source_root() call in nir compiler path

  • meson: remove source_root() call in main meson.build

  • .mailmap: change spelling for Constantine Kharlamov

Konstantin Seurer (63):

  • radv/nir_lower_abi: Use instructions_pass

  • radv: Move accel struct structs to bvh/bvh.h

  • radv: Move radv_acceleration_structure

  • radv: Remove acceleration structure host builds

  • radv: Always emulate fmin/fmax

  • radv: Remove accel_struct_build

  • radv: Remove unused push constant structs

  • radv: Add create_build_pipeline_spv helper

  • radv: Add the basics for GLSL bvh kerrnels

  • radv: Add a GLSL morton kernel implementation

  • radv: Switch to the GLSL morton implementation

  • radv: Add a GLSL internal kernel implementation

  • radv: Switch to the GLSL internal implementation

  • radv: Add a GLSL leaf kernel implementation

  • radv: Switch to the GLSL leaf implementation

  • lavapipe: Remove st_shader_stage_to_ptarget

  • radv: Fix stack size calculation with stage ids

  • radv: Inline bvh build headers

  • radv/ci: Remove host build related fails

  • lavapipe: Set ss_dirty in emit_state

  • radv: Advertise subgroup ops for rt stages

  • vulkan: Add common physical device management

  • radv: Use the common physical device enumeration

  • anv: Use the common physical device enumeration

  • turnip: Use the common physical device enumeration

  • lvp: Use the common physical device enumeration

  • panvk: Use the common physical device enumeration

  • v3dv: Use the common physical device enumeration

  • radv: Proper handling for inactive instance nodes

  • radv: Deduplicate push constant structs

  • radv/rra: Map accel struct VAs to handles

  • radv/rra: Remove redundant bounds validation

  • radv: Make the radv_buffer_get_va parameter const

  • radv/rra: Replace aliasing assert with a warning

  • radv: Explicitly store the VA of accel structs

  • radv: Cleanup radv_GetInstanceProcAddr

  • radv: Add a common traversal build helper

  • radv/rq: Use the common traversal helper

  • radv/rtpso: Use the common traversal helper

  • radv: Use scalar layout for BDA references

  • radv: Add and use AS and scratch layout structs

  • radv: Fix incorrect build info indexing

  • radv: Use cache_uuid for accel struct compatibility

  • radv: Remove main_loop_case_visited

  • radv/rra: Transcode nodes recursively

  • radv: Rename node_internal to node_box32

  • radv: Add radv_bvh_node_box16

  • radv: Use half floats for box16 coords

  • radv/rra: Handle box16 nodes

  • radv/rra: Calculate bvh size requirements recursively

  • radv: Remove create_accel_build_shader

  • radv/rra: Fix dumps in the case of aliasing

  • radv/rra: Validate before gathering bvh info

  • radv/rra: Add basic header validation

  • radv/rra: Continue dumping accel structs if validation fails

  • radv/rra: Use the accel struct type for header validation

  • radv/rt: Fix setting tmax for opaque AABBs

  • radv/rt: Load instance id and custom index on demand

  • radv/rt: Set vars.arg in the traversal shader

  • radv/rt: Restore prev barycentrics when rejecting hits

  • radv/rra: Fix copying accel structs that were not built yet

  • radv/ray_queries: Fix AABB handling

  • radv/rt: Check space before emitting descriptors

Kostiantyn Lazukin (1):

  • vulkan/cmd_queue: Do not generate unreachable vk_free_* calls.

Kuixi Ren (1):

  • radeonsi/vcn: Add ability to encode with ltr

Laurent Bigonville (1):

  • Try to fix FTBFS on kfreebsd architecture

Leandro Ribeiro (9):

  • vulkan/wsi/wayland: move some structs to beginning of code

  • vulkan/wsi/wayland: remove unnecessary spaces in struct fields

  • vulkan/wsi/wayland: introduce struct wsi_wl_surface

  • vulkan/wsi/wayland: take ownership of wsi_wl_surface when creating chain

  • vulkan/wsi/wayland: move wl_surface and wl_display from chain to struct wsi_wl_surface

  • vulkan/wsi/wayland: remove refcount from struct wsi_wl_display

  • vulkan/wsi/wayland: add default dma-buf feedback support

  • vulkan/wsi/wayland: add per-surface dma-buf feedback support

  • vulkan/wsi/wayland: avoid useless re-allocations when receiving per-surface dma-buf feedback

Leo Liu (2):

  • meson: add with_gallium_virgl to allow it as VA backend driver

  • frontends/va: fix build error for vaSyncBuffer with older VA

LingMan (10):

  • rusticl: Fix compilation if stdout and/or stderr aren’t symbols

  • rusticl/bindgen: Use `allowlist-*` instead of `whitelist-*` switches

  • docs/rusticl: Document minimum required bindgen version

  • rusticl/api: Use iterators in create_program_with_source

  • rusticl/api: Drop UTF-8 conversion of input source

  • rusticl/api: Fix creating a program if a nul byte is within the specified string length

  • rusticl/api: Factor pushing to the Vec out of the if

  • rusticl/api: Shrink unsafe block

  • rusticl/api: Don’t check the program source for nul bytes needlessly

  • rusticl/api: Interpret `lengths` as a slice of Option<NonZeroUsize>

Lionel Landwerlin (152):

  • anv: fixup PIPE_CONTROL restriction on gfx8

  • intel/ds: track untyped dataport flushes

  • intel/fs: store num of resume shaders in prog_data

  • intel/fs: fixup simd selection with shader calls

  • intel/compiler: document units of brw_ubo_range fields

  • intel/nir: specify synchronous value for tracing op

  • anv: don’t return incorrect error code for vkCreateDescriptorPool

  • intel/drm-shim: update shim to support DG2

  • anv: fix GetPipelineExecutableStatistics for ray tracing pipelines

  • anv: fixup assertions on lowered storage formats

  • anv: fix assert in memory budget code when extension is not supported

  • anv: prevent trying to mmap non host visible memory

  • anv: remove the LOCAL_MEM allocation bit

  • intel/fs: fix load_scratch intrinsic

  • intel/fs: fixup scratch load/store handling on Gfx12.5+

  • intel/fs: switch compute push constant loads to LSC

  • intel/fs: remove unused opcode

  • intel/fs: fixup SEND validation check on overlapping src0/src1

  • intel/fs: switch register allocation spilling to use LSC on Gfx12.5+

  • intel/fs: port block a64/surface messages to use LSC

  • intel/fs: bump max SIMD size for A64 atomics with LSC

  • intel: add a hasvk vulkan driver

  • hasvk: remove entrypoints for gfx9+

  • hasvk: stop advertising Vk 1.3 on non-softpin

  • hasvk: remove acceleration structure code

  • hasvk: remove ray tracing code

  • hasvk: remove mesh code

  • anv: silence fedora build warning

  • anv: remove support for gfx7/8

  • anv: remove unused gfx7 code

  • anv/tests: remove back allocation tests

  • anv/hasvk: tweak loading failure messages

  • anv: remove non present field in upstream spec

  • vulkan: fixup 1.3.226 update

  • anv: enable EXT_depth_clamp_zero_one

  • hasvk: expose VK_EXT_depth_clamp_zero_one

  • anv: add a new NO_LOCAL_MEM allocation flag

  • anv: don’t export flush_compute_state

  • anv: don’t export gfx state flushing helper

  • anv: combine flushes in Draw/DrawIndexed/DrawIndirectByteCountEXT

  • anv: add missing tracepoint

  • blorp: defined operations for debug purposes

  • intel/utrace: make blorp tracepoints more readable

  • anv: trace xfb queries

  • anv: clear descriptorsets if AllocateDescriptorSets fails

  • anv: add support for EXT_mutable_descriptor_type

  • anv: add missing wokraround for texture cache invalidate

  • intel/nir/rt: fixup generate hit

  • intel/nir/rt: spill/fill the entire ray query data

  • intel/nir/rt: remove ray query mem hit writes at initialization

  • intel/nir/rt: fix ray query proceed level

  • intel/nir/rt: change scratch check validation

  • intel/nir/rt: store ray query state in scratch

  • intel/fs: fixup a64 messages

  • intel/nir/rt: fixup alignment of memcpy iterations

  • ci: add python3-ply to debian/fedora images

  • ci: disable intel-clc on fedora

  • ci: build our own version of the LLVM SPIRV translator

  • ci/debian: don’t use libclc from the system

  • ci: bump llvm to 13 for some builders

  • ci: disable intel-clc on debian-vulkan

  • anv: remove HDC flush from invalidate bits

  • meson: bump required llvm-spirv version with intel-clc

  • intel/devinfo: Rename & implement num_dual_subslices

  • intel/rt: fix procedural primitive ID access

  • intel/nir: reuse rt helper

  • intel/fs: take a builder arg for resolve_source_modifiers()

  • intel/nir: fixup preserved metadata in rayquery lowering

  • intel/nir: fix potential invalid function impl ptr usage

  • intel/nir: disable assert on async stack id

  • intel/fs: disable split_array_vars on opencl kernels

  • genxml: add missing no duplicate anyhit flag

  • intel/mi_builder: allow half GP registers for dereferencing

  • anv: disable SIMD16 for RT shaders

  • anv: add new command buffer space allocation

  • anv: setup scratch space correctly for RT shaders

  • anv: bump client visible address heap to 32GiB

  • anv: use the right dispatch size for tracing shaders

  • anv: flag BO for write combine when CPU visible and potentially in lmem

  • iris: better error message with GuC loading failures

  • intel: add INTEL_DEBUG=capture-all to capture everything upon hang

  • pps: enable track_event in intel.cfg

  • anv: add grl build dependency on entrypoints

  • nir: fix NIR_DEBUG=validate_ssa_dominance

  • vulkan/runtime: don’t lookup the pipeline disk cache if disabled

  • anv: remove unused code

  • anv: comment out the Gfx8/9 VB cache key workaround for newer Gens

  • anv: limit calls into cmd_buffer_flush_dynamic_state

  • anv: optimize 3DSTATE_VF emission

  • anv: remove multiple push descriptors

  • isl: avoid gfx version switch cases on the hot path

  • anv: limit push constant reemission

  • anv: track descriptor set layout flags

  • anv: initialization pipeline layout to 0s

  • anv: add analysis for push descriptor uses and store it in shader cache

  • anv: reduce BT emissions & surface state writes with push descriptors

  • anv: add a layer for hitman3

  • nir/lower_shader_calls: rematerialize more trivial values

  • nir/lower_shader_calls: lower scratch access to format internally

  • nir/lower_shader_calls: avoid respilling values

  • nir/lower_shader_calls: rematerialize values in more complex cases

  • nir/lower_shader_calls: add NIR_PASS_V internally

  • nir/lower_shader_calls: cleanup shaders a bit more post split

  • nir/lower_shader_calls: add an option structure for future optimizations

  • nir/lower_shader_calls: add a pass to trim scratch values

  • nir/lower_shader_calls: add a pass to sort/pack values on the stack

  • nir/lower_shader_calls: move scratch loads closer to where they’re needed

  • nir/lower_shader_calls: run opt_cse after lower stack intrinsics

  • radv: tweak lower_shader_calls parameters

  • anv: enable localized loads for lower_shader_calls

  • anv: disable mesh in memcpy

  • anv: init major/minor before WSI

  • vulkan/wsi/wl: correctly find whether the compositor uses the same GPU

  • nir/divergence_analysis: add some missing RT intrinsics

  • nir/divergence_analysis: add missing desc_set_address_intel

  • intel/clc: assert when libclc shader is not found

  • drm-uapi: bump headers

  • isl: add new MOCS field for protected buffers

  • intel/common: add detection of protected context support

  • dri: rename PROTECTED_CONTENT in PROTECTED_SURFACE

  • gallium: rename PROTECTED_CONTENT cap into PROTECTED_SURFACE

  • egl: Add EGL_EXT_protected_content support

  • st/gallium: plumb protected context creation

  • iris: handle protected BO creation

  • iris: Emit protection & session ID on protected command buffers

  • iris: enable protected contexts

  • intel/fs: require UNDEFs register offsets to be aligned to REG_SIZE

  • intel/fs: make split_virtual_grfs deal with partial undefs

  • intel/fs: reduce liveness of variables in lowering passes

  • intel/fs: use fs implementation of dump_instructions

  • intel/compiler: don’t allocate compaction arrays on the stack

  • anv: remove shader fp64 inspection after parsing

  • anv: Reduce RHWO optimization (Wa_1508744258)

  • anv: fix missing VkPhysicalDeviceExtendedDynamicState3PropertiesEXT handling

  • anv: fixup invalid enum for nir environment

  • anv: split internal surface states from descriptors

  • anv: bump pool bucket max allocation size

  • anv: get rid of ilog2_round_up

  • intel/perf: allocate cleared counter infos

  • intel/perf: fix B/C counters accumulation in non query mode

  • nir/lower_explicit_io: fix metadata preserve

  • nir/lower_shader_calls: update metadata before validation

  • nir/lower_shader_calls: wrap only jumps rather than entire code blocks

  • Revert “nir/lower_shader_calls: put inserted instructions into a dummy block”

  • intel/fs: put scratch surface in the surface state heap

  • anv: fix 3d state initialization

  • anv: ensure CPS is initialized when KHR_fragment_shading_rate is disabled

  • anv: fixup context initialization on DG2

  • intel/fs: improve Wa_22013689345 workaround

  • blorp: support negative offsets in addresses

  • anv: generate correct addresses for state pool offsets

  • nir/divergence: add missing btd_shader_type_intel

Liviu Prodea (5):

  • d3d12/dzn/spirv2dxil: Require version library

  • Microsoft clc: strip lib prefix Otherwise OpenCLon12 ICD can’t load it

  • meson: Microsoft / maybe Intel CLC need the all-targets workaround just like clover

  • meson: Only draw with llvm depends on native directly Tests, softpipe or AMD drivers don’t depend on it directly

  • clc/clover: Link clang statically when shared-llvm is disabled

Lucas Stach (38):

  • etnaviv: properly check number of layers in surface creation

  • etnaviv: fix TS buffer allocation for 3D textures

  • etnaviv: allow 3D textures with TS in transfer

  • etnaviv: don’t expose array and 3D texture support on pre-halti GPUs

  • etnaviv: expose ARB_draw_instanced

  • etnaviv: mark instanced draw extensions as supported in docs/features.txt

  • etnaviv: move checking for MC2.0 for TS into screen init

  • etnaviv: use linear PE rendering only on properly aligned surfaces

  • etnaviv: add debug option to disable linear PE feature

  • etnaviv: fill alpha channel for DXT1_RGB textures

  • etnaviv: don’t use TS with multi-layer resources

  • etnaviv: texture-desc: sample 1D textures using 2D mode

  • etnaviv: texture-desc: drop superfluous condition

  • etnaviv: rewrite sampler TS check

  • etnaviv: slim down etna_shader_key

  • etnaviv: pass shader key by reference

  • etnaviv: properly reference flush_resources

  • etnaviv: move etna_layout_multiple into etnaviv_resource.c

  • etnaviv: assert valid layout in etna_layout_multiple

  • etnaviv: compute linear resource Y alignment in etna_layout_multiple

  • etnaviv: handle compressed texture formats in etna_layout_multiple

  • etnaviv: increase alignment for MSAA resources

  • etnaviv: rs: fix MSAA alignment adjustment

  • etnaviv: rs: try to find exact format match first

  • etnaviv: properly size TS buffer for MSAA resources

  • etnaviv: set LOGIC_OP_UNK24 for MSAA rendering on SMALL_MSAA GPUs

  • etnaviv: disable PE_COLOR_FORMAT_OVERWRITE with MSAA

  • etnaviv: blt: scale operations by MSAA mode

  • etnaviv: blt: try to find exact format match first

  • etnaviv: update headers from rnndb

  • etnaviv: fix late Z with MSAA active

  • etnaviv: fix shader register control with MSAA

  • etnaviv: switch to late Z when linear PE is used

  • etnaviv: fix tile status interaction with write mappings

  • etnaviv: always use RS align when GPU has TEXTURE_HALIGN feature

  • etnaviv: rs: fix blits with insufficient alignment for dual pipe operation

  • etnaviv: blt: use correct TS offset in clear operations

  • etnaviv: fix wrong surface TS clear size

Luis Felipe Strano Moraes (8):

  • anv: fix FTBFS on grl due to changes in clang 15

  • anv: reword info flag in intel_clc’s getopt to avoid clash

  • anv: add missing separator to help for intel_clc

  • anv: fixing typo on description of output flag for intel_clc

  • anv: added proper handling for input argument in intel_clc

  • anv: adding parsetab.py to the .gitignore for grl

  • meson: simplified meson for enabling ray-tracing on Intel

  • meson: only enable intel-clc for x86_64 builds

M Henning (1):

  • nv/nir: Set ssbo CacheMode from intrinsic access

Marcin Ślusarz (53):

  • intel/compiler: fix mesh urb write regression

  • nir/lower_task_shader: print shader after each step

  • intel/compiler: add support for non-zero base in [load|store]_shared intrins

  • Revert “nir/lower_task_shader: don’t use base index for shared memory intrinsics”

  • anv: disable task redistribution

  • spirv, compiler: add “bool nv” to shader_info.mesh

  • intel/compiler: implement EXT_mesh_shader

  • anv: check EXT_mesh_shader whenever NV_mesh_shader is checked

  • anv: replace VK_SHADER_STAGE_[TASK|MESH]_BIT_NV with VK_SHADER_STAGE_[TASK|MESH]_BIT_EXT

  • anv: implement EXT_mesh_shader

  • anv: implement draw calls for EXT_mesh_shader

  • anv: enable EXT_mesh_shader

  • anv: fix emission of primitive replication packet for mesh stage

  • nir: add uses_wide_subgroup_intrinsics to task/mesh shader_info

  • anv: add support for anv_assume_full_subgroups to task & mesh stages

  • anv: small cleanup of anv_graphics_pipeline_compile

  • nir, anv, hasvk, radv: pull uses_wide_subgroup_intrinsics into shader_info

  • intel/compiler: remove second shading rate lowering for mesh

  • intel/compiler: print shader after successful brw_nir_lower_shading_rate_output

  • intel/compiler: use nir_lower_task_shader pass

  • nir/lower_task_shader: lower small stores & loads to shared when requested

  • intel/compiler/task: use shared memory for small task payload loads & stores

  • intel/compiler: refactor brw_nir_lower_mem_access_bit_sizes

  • intel/compiler: add support for 8/16 bits task payload loads

  • radv: use nir_shader_instructions_pass in radv_nir_lower_ycbcr_textures

  • iris: remove invalid nir_metadata_preserve from iris_fix_edge_flags

  • crocus: remove invalid nir_metadata_preserve from crocus_fix_edge_flags

  • glsl: use nir_shader_instructions_pass in gl_nir_lower_atomics

  • glsl: use nir_shader_instructions_pass in gl_nir_lower_images

  • glsl: use nir_shader_instructions_pass in gl_nir_lower_samplers_as_deref

  • nir: use nir_shader_instructions_pass in nir_lower_alu

  • nir: use nir_shader_instructions_pass in nir_lower_bool_to_bitsize

  • nir: use nir_shader_instructions_pass in nir_lower_bool_to_float

  • nir: use nir_shader_instructions_pass in nir_lower_bool_to_int32

  • nir: use nir_shader_instructions_pass in nir_lower_64bit_phis

  • nir: use nir_shader_instructions_pass in nir_lower_clamp_color_outputs

  • nir: use nir_shader_instructions_pass in nir_lower_clip_disable

  • nir: use nir_shader_instructions_pass in nir_lower_clip_halfz

  • nir: use nir_shader_instructions_pass in nir_lower_drawpixels

  • nir: use nir_shader_instructions_pass in nir_lower_fb_read

  • nir: use nir_shader_instructions_pass in nir_lower_frexp

  • nir: use nir_metadata_none instead of its value

  • nir: use nir_shader_instructions_pass in nir_lower_interpolation

  • nir: use nir_shader_instructions_pass in nir_lower_samplers

  • nir: use nir_shader_instructions_pass in nir_split_var_copies

  • nir: use nir_shader_instructions_pass in nir_split_per_member_structs

  • intel/compiler: fix loading of draw_id from task & mesh payload

  • anv: add support for mesh shading in INTEL_MEASURE

  • intel/ds: add new category/stage for draw mesh events

  • anv: add mesh shading tracepoints

  • intel/genxml: fix width of 3DSTATE_TASK_CONTROL.MaximumNumberofThreadGroups

  • anv: set 3DSTATE_[MESH|TASK]_CONTROL.MaximumNumberofThreadGroups

  • anv: program 3DSTATE_MESH_DISTRIB with the recommended values

Marek Olšák (135):

  • nir: add nir_intrinsic_image_samples_identical

  • nir: add nir_intrinsic_image_descriptor_amd

  • nir: add nir_texop_descriptor_amd

  • nir: add shader_info::uses_resource_info_query for txs, levels, samples, etc.

  • ac/llvm: implement nir_intrinsic_image_deref_samples_identical

  • ac/llvm: implement nir_intrinsic_image_deref_descriptor_amd

  • ac/llvm: implement nir_texop_descriptor_amd

  • ac/nir: add ac_nir_lower_resinfo

  • radeonsi,radv: run ac_nir_lower_resinfo

  • ac/llvm: remove all resinfo code now that it’s lowered

  • radeonsi: implement a non-scaled compute blit+resolve and use it on gfx11

  • radeonsi: don’t assume that TC_ACTION_ENA invalidates L1 cache on gfx9

  • radeonsi/ci: update failing tests on navi21

  • radeonsi: fix a regression due to reordering PIPE_SHADER_*

  • ac/llvm: handle external textures in ac_nir_lower_resinfo

  • radeonsi: merge both fail paths in si_set_vb_descriptor

  • radeonsi: add vertex buffers into the BO list in set_vertex_buffers

  • radeonsi: remove vb_descriptors_gpu_list only used for debugging

  • radeonsi: remove temporary si_context::vb_descriptor_user_sgprs

  • radeonsi: use si_cp_dma_prefetch_inline for prefetching VBO descriptors

  • radeonsi: use do..while loops and other cosmetic changes in display list path

  • ttn: set the correct sampler declaration type in the presense of txs and lod

  • gallivm: fix TXQ crash with MSAA samplers

  • gallivm: initialize texture_unit_offset in emit_size_query

  • gallium/u_blitter: remove unused code for integer MSAA resolve

  • gallium/u_blitter: fix the has_txf support condition

  • gallium/u_blitter: treat Z scaling as scaled blits

  • gallium/u_blitter: clean up IMMs in util_make_fs_blit_msaa_gen

  • gallium/u_blitter: make nearest filtering emulation using TXF conformant

  • gallium/u_blitter: make the bilinear filter for MSAA resolving conformant

  • glthread: unbind framebuffers in glDeleteFramebuffers

  • glthread: call _mesa_glthread_DeleteBuffers unconditionally

  • glthread: track GL_READ_FRAMEBUFFER bindings too

  • glthread: track glBindFramebufferEXT, not just glBindFramebuffer

  • glthread: add missing code for GL_ARB_sparse_texture

  • util/xmlconfig: allow drivers to override option values

  • radeonsi: rename stop_exec_on_failure -> allow_context_lost

  • radeonsi: allow lost context with aux_contexts

  • winsys/amdgpu: terminate process on CS rejection when unrobust context is lost

  • winsys/amdgpu: flatten huge if and reorder code in amdgpu_cs_submit_ib

  • winsys/amdgpu: change num_rejected_cs to a bool flag

  • radeonsi/ci: make the running script easy to use

  • Revert “mesa: implement a display list / glBitmap texture atlas”

  • mesa: create glBitmap textures while creating display lists

  • st/mesa: fix potential use-after-free in draw_bitmap_quad

  • ci: update pass/fail results for spec@!opengl 1.0@gl-1.0-dlist-bitmap

  • winsys/amdgpu: use cached GTT for command buffers and don’t set the 32BIT flag

  • ci: disable the freedreno farm.

  • radeonsi/ci: add skips of tests not built on Linux

  • radeonsi: don’t pass num_patches via derived_tess_state, pass it via si_context

  • radeonsi: make the primitive type constant with tessellation

  • radeonsi: move *rs to its only use in si_draw

  • radeonsi: remove the prim_restart_tri_strips_only option

  • radeonsi: move fixing ngg_culling into si_update_shaders

  • radeonsi: unify the logic that sets rast_prim

  • radeonsi: precompute GS_OUT_PRIM in advance

  • radeonsi: set GS_STATE_OUTPRIM and PROVOKING_VTX_INDEX only when they change

  • radeonsi: cosmetic changes in si_emit_rasterizer_prim_state

  • radeonsi: remove 1 draw packet order codepath, keep the first one

  • radeonsi: move patch_vertices-related tessellation updates out of si_draw

  • radeonsi: move set_patch_vertices into si_state_shaders.cpp

  • ac/gpu_info: handle LPDDR4 and 5 in ac_memory_ops_per_clock

  • ac/surface: disallow 256KB swizzle modes on gfx11 APUs

  • radeonsi: set VS_OUT_MISC_SIDE_BUS_ENA=1 for clip distance exports on gfx10.3

  • mesa: fix glDrawRangeElementsBaseVertex should be compiled into display list

  • glthread: fix draws not compiled into a display list should generate an error

  • glthread: generate errors for glGet functions between glBegin/End

  • glthread: always sync for glShaderSource because invalid params can crash

  • glthread: fix glGetIntegerv(GL_CLIENT_ACTIVE_TEXTURE)

  • glthread: work around GL_INVALID_OPERATION with OpenGL ES 1.x draws

  • frontend/dri: make the backgroundCallable extension optional

  • frontend/dri: sync glthread when calling from the app side

  • radeonsi: simplify radeonsi_zerovram implementation

  • driconf: disable glthread for DeusEx:MD and F1 2015 due to a perf drop

  • radeonsi/ci: add glx@glx-swap-event_async to CI failures for glthread

  • radeonsi: don’t flush asynchronously for fence_server_signal

  • glthread: execute glSignalSemaphoreEXT synchronously

  • radeonsi: enable glthread by default

  • gallium/u_threaded: add an option for unsychronized create_fence_fd

  • mesa: replace ALLOC_PRIMS with persistently-allocated context arrays

  • mesa: remove _mesa_draw_gallium_fallback by adapting st_feedback_draw_vbo

  • mesa: remove unused code using _mesa_prim

  • mesa: clean up st_indirect_draw_vbo interface and callers

  • mesa: trivial simplifications in _mesa_reference_buffer_object_

  • mesa: inline _mesa_reference_buffer_object

  • mesa: inline _mesa_handle_bind_buffer_gen and correct things

  • mesa: restructure bind_buffer_object for better performance

  • mesa: remove unused gl_buffer_object::Data and Written

  • mesa: reorder and pack gl_buffer_object

  • vbo: don’t call _glapi_set_dispatch for GL_COMPILE_AND_EXECUTE loopback

  • mesa: don’t restore the dispatch at the end of glCallList

  • mesa: remove unused function _mesa_get_dispatch

  • mesa: initialize OutsideBeginEnd directly instead of through Exec

  • glapi: rename ‘vtxfmt’ to ‘beginend’ to make it clear

  • api_hw_select_init_h.py: simplify the code

  • mesa: remove deprecated comments

  • mesa: rename GL dispatch initialization functions to make the intent clear

  • glthread: use GLenum16 for enums, but clamp it to 0xffff to get correct errors

  • glthread: use 8-bit GLenum for prim modes where it results in better packing

  • glthread,hud: draw per-frame values and expose the number of batches per frame

  • glthread: skip glMultMatrixf if it’s identity

  • mesa: use memcmp instead of floating-point comparisons in glMultMatrixf

  • mesa: make glPopMatrix a no-op if the matrix hasn’t changed

  • radeonsi: rename si_create_multi_fence -> si_alloc_fence

  • winsys/amdgpu: fix (enable) preemption for chained IBs

  • radeonsi: fix max_dw computation for CS preambles

  • gl_marshal.py: remove/simplify parameters

  • gl_marshal.py: move the unmarshal table into a separately generated file

  • gl_marshal.py: rework how the marshal dispatch table is initialized

  • gl_marshal.py: remove the -O1 hack and manual SET_* inlining

  • gl_marshal.py: inline functions for readability

  • gl_marshal.py: simplify print_sync_call and rename to print_call

  • glthread: use a constant expression instead of cmd_size in custom functions

  • glthread: add more DrawArrays/Elements variants with fewer fields

  • glapi: remove EXT and ARB suffixes from Draw functions

  • glthread: demystify Draw function names

  • glthread: rewrite CallList merging and do it in the app thread

  • gallium/u_threaded: don’t call simplify_draw_info redundantly

  • gl_marshal.py: C style fixups

  • glthread: merge and collapse glBindBuffer calls that unbind and then bind

  • glthread remove the unused *last pointer from unmarshal functions

  • glthread: don’t sync for glIsEnabled(GL_BLEND, GL_LIGHTING, GL_POLYGON_STIPPLE)

  • cso: start without u_vbuf by default if it’s not always used

  • cso: constify some parameters to remove typecasts

  • cso: fix broken optimization for sampler state lookups

  • cso: don’t destroy CSOs that are saved

  • cso: inline more functions because some parameters like key_size are literals

  • cso: make memcmp and hash computation use a literal key size for blend state

  • driconf: add a workaround for a cursor issue with kwin_wayland

  • driconf: add a workaround for Cossacks 3

  • nir: add nir_intrinsic_optimization_barrier_vgpr_amd for LLVM

  • radeonsi: force the MSAA resolve shader to use 1 clause for MSAA loads

  • radeonsi/gfx11: fix compute scratch buffer - WAVES is always per SE

  • st/mesa: suppress async glthread flushing for GLX_EXT_texture_from_pixmap

  • st/vdpau: fix interop with GL

Marek Vasut (1):

  • etnaviv: Use old set of state registers for PE configuration on GC880

Mario Kleiner (1):

  • vulkan/wsi/display: Reset connector state in vkReleaseDisplay().

Mark Collins (8):

  • tu: Implement VK_EXT_non_seamless_cube_map

  • tu: Allocate private memory per-device instead of per-pipeline

  • tu: Clamp priority in DRM submitqueue creation

  • tu: Expose VK_EXT_tooling_info using common implementation

  • tu: Retain allocated CSes in tu_autotune_on_submit

  • tu: Optimize hash_renderpass_instance by removing XXH64_update

  • tu: Only write `A6XX_PC_PRIMITIVE_CNTL_0` if changed

  • tu: Clean up variable usage in `tu6_draw_common`

Mark Janes (6):

  • Revert “anv: Do not copy garbage to batch_bo”

  • anv: Track BOs that need a write-combined mapping

  • anv: Use WC mapped local memory for block pool BO

  • anv: Allocate buffers with write-combined local memory

  • anv: compile anv_acceleration_structure.c

  • anv: work around improper buffer usage in hitman3

Martin Krastev (1):

  • meson: add svga gallium driver to ‘auto’ group on arm/aarch64

Martin Roukala (né Peres) (20):

  • radv/ci: document a recent regression

  • radv/ci: move some tests from the vega10 fail to its flake list

  • radv/ci: add more tests to the flake list of vega10

  • radv/ci: skip host_write_transfer_src.1048576 on renoir

  • radv/ci: bump the console activity timeout of VanGogh to 3 minutes

  • radv/ci: uprev boot2container

  • radv/ci: disable the POLARIS10 jobs

  • radv/ci: disable kabini’s vkd3d job

  • radv/ci: run vkcts on the two steam decks in parallel

  • radv/ci: document an unstable test

  • radv/ci: move some tests from the renoir fail to its flake list

  • ci/b2c: add support for the new format of CI_RUNNER_TAGS

  • radv/ci: bump the job count on navi21

  • radv/ci: run two jobs in parallel to reduce the execution time

  • zink: update the RADV expectations

  • zink: mark a test as a flake in RADV expectations

  • zink/ci: mark another test as fixed after the frontend caching series

  • zink/ci: add another subtest to the list of known failures for radv

  • Revert “glx: Fix drawable refcounting for naked Windows”

  • Revert “glx/dri: Fix DRI drawable release at MakeCurrent time”

Matt Coster (3):

  • util: Include stddef.h in util/macros.h

  • pvr: Add pvr_csb_unpack().

  • pvr: Fix assignment to ISP back_a.sref

Matt Turner (4):

  • intel/tools: Also look for ‘batch’ tag

  • freedreno/ir3: Don’t use the broken idiv lowering

  • freedreno/ir3: Use nir_opt_idiv_const

  • intel/dev: Set display_ver = 13 on all ADL/RPL/DG2

Mauro Rossi (5):

  • util: glsl2spirv.py: ensure ‘#endif’ is printed in new line

  • hasvk: fix android build and reported API version

  • Android.mk: Fix gnu++14 related build failures

  • r600/sfn: allow building with clang 6 (Android 9)

  • AOSP: Add intel_hasvk vulkan library suffix

Max Kellermann (2):

  • gallium/u_threaded: add missing reference counts for draw_multi slots

  • gallium/u_threaded: fix offset calculation for draw_multi slots

Michael Skorokhodov (1):

  • egl: Return EGL_BAD_MATCH for invalid share_list

Michael Tang (3):

  • microsoft/compiler: Add dxil_logger type and parameter to nir_to_dxil

  • nir: add nir_instr_as_str

  • microsoft/compiler: Change calls to NIR_INSTR_UNSUPPORTED to log to dxil_logger instead

Michel Dänzer (6):

  • gallivm: Fix LLVMAtomicRMWBinOpFMax spelling

  • lavapipe: Fix float32_atomic_min_max spelling

  • winsys/amdgpu: Set RADEON_FLAG_32BIT again

  • radeonsi/ci: Test piglit quick_shader profile as well

  • Revert “egl/glx: add fallback for zink loading”

  • vulkan/wsi/wayland: Set num_modifier_lists = 0 if num_drm_modifiers == 0

Mihai Preda (21):

  • gallivm: LLVM-15 opaque pointers: disable LLVMGetElementType(ptr_type)

  • gallivm: drop unused “emit_load” in lp_llvm_buffer_member()

  • gallium: drop unused macros in draw_llvm.h

  • gallivm: fixes for LLVM-15 opaque pointers in lp_bld_nir_aos.c

  • gallivm: fixes for LLVM-15 opaque pointers in lp_bld_nir_soa.c

  • gallivm: fixes for LLVM-15 opaque pointers in lp_bld_jit_types.c

  • gallivm: fixes for LLVM-15 opaque pointers in lp_bld_format_s3tc.c

  • gallivm: fixes for LLVM-15 opaque pointers in lp_bld_struct.c

  • gallivm: fixes for LLVM-15 opaque pointers in lp_bld_format_soa.c

  • gallium/draw: fix LLVM opaque pointer warnings in store_clip()

  • gallium/draw: fix LLVM opaque pointer warnings in generate_clipmask()

  • gallium/draw: fix LLVM opaque pointer warnings in draw_gs_llvm_fetch_input()

  • gallium/draw: fix LLVM opaque pointer warnings in draw_gs_llvm_end_primitive()

  • gallium/draw: fix LLVM opaque pointer warnings in draw_gs_llvm_epilogue()

  • gallium/draw: fix LLVM opaque pointer warnings in draw_tcs_llvm_emit_fetch_input()

  • gallium/draw: fix LLVM opaque pointer warnings in draw_tcs_llvm_emit_fetch_output()

  • gallium/draw: fix LLVM opaque pointer warnings in draw_tcs_llvm_emit_store_output()

  • gallium/draw: fix LLVM opaque pointer warnings in store_aos()

  • gallivm: LLVM opaque pointer fixes in lp_bld_sample.c

  • gallivm: LLVM opaque pointers: add lp_build_array_get[_ptr]2 in lp_bld_struct.c

  • gallivm: LLVM opaque pointers: use lp_build_array_get_ptr2() in lp_bld_nir_soa.c

Mike Blumenkrantz (443):

  • zink: handle mutable swapchain images with dmabuf

  • zink: store VkFormatFeatureFlags on creation

  • zink: use stored format features for blit functionality

  • zink: use modifier feature flags during surface creation when necessary

  • zink: init cache_put program fence on program creation

  • zink: always set vertex dynamic states

  • zink: hook up pipeline_library extensions

  • zink: change zink_create_gfx_program signature

  • zink: break out program primtype->idx conversion function

  • zink: reorganize zink_gfx_pipeline_state a little

  • zink: set program pipeline array idx earlier in zink_get_gfx_pipeline

  • zink: add a graphics pipeline library implementation

  • tgsi_to_nir: fix clipdistance store writemask

  • tgsi_to_nir: handle compact arrays for clipdistance

  • zink: force flush clears on fb change if fb geometry changes

  • zink: force a new framebuffer for clear_depth_stencil if the clear region is big

  • zink: use maintenance4

  • zink: allow sw loading with D3D_ALWAYS_SOFTWARE for nine

  • zink: drop mode_changed check from linewidth/depthbias draw updates

  • zink: handle unscaled depth bias from nine

  • zink: handle !half_pixel_center

  • zink: fix return for PIPE_CAP_DEPTH_CLIP_DISABLE

  • zink: explicitly set nir cursor in rewrite_and_discard_read

  • zink: handle invalid gl_TexCoord reads

  • zink: rewrite all undefined shader reads as 0001 instead of undef

  • zink: export PIPE_CAP_MULTISAMPLE_Z_RESOLVE

  • zink: support PIPE_QUERY_TIMESTAMP_DISJOINT

  • nine: check return on resource_get_handle

  • zink: add u_queue.h to kopper header

  • zink: demote dmabuf tiling to linear if modifiers aren’t supported

  • zink: use modifier_aspect to check for modifier plane in zink_resource_get_param

  • zink: don’t add modifiers if EXT_image_drm_format_modifier isn’t present

  • zink: add all format modifiers when adding for dmabuf export

  • zink: don’t fixup sparse texops

  • zink: remove an old RGBA4 nvidia workaround

  • vulkan: Update the XML and headers to 1.3.224

  • radv: fix return type for meta resolve shaders

  • nir/validate: clamp unsized tex dests to 32bit

  • nir/validate: add some (light) validation for sampler type matching

  • radv: remove stupid conditional from draw path

  • radv: force inlining on another draw function

  • mesa: fix blending when using luminance/intensity emulation

  • mesa: require render target bind for A/L/I in format selection

  • mesa/st: add ignore_srgb_decode param to st_convert_sampler

  • mesa/st: plumb glsl130_or_later through sampler creation

  • mesa/st: use plumbed value for srgb_skip_decode in sampler conversion

  • gallium: convert PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE to enum

  • gallium: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_ALPHA_NOT_W

  • util/format: handle SRGB in util_format_luminance_to_red()

  • zink: stop modifying samplerview swizzle on base struct

  • zink: add some format functions for emulating alpha formats

  • zink: reject native blits for emulated alpha formats

  • zink: handle emulated alpha format clears

  • zink: support emulating alpha formats using new border color quirk

  • zink: add a driver workaround for broken L4A4 on nvidia

  • mesa: track format swizzles on teximage objects

  • mesa/st: use pre-calculated format swizzle for samplerviews

  • mesa: track gl_texture_object swizzle internally

  • mesa/st: use tracked samplerview swizzle values

  • mesa/st: simplify sampler border color swizzling

  • zink: remove cached descriptor mode

  • zink: remove checks for lazy descriptor mode + templates ext

  • zink: remove descriptor vtable

  • zink: delete a lot of descriptor code

  • zink: move lazy descriptor functions into zink_descriptors.c

  • zink: delete unused struct types

  • zink: move all types/enums into zink_types.h

  • zink: move lazy descriptor data types into zink_types.h

  • zink: delete some unused descriptor struct members

  • zink: remove descriptor dummy_set

  • zink: merge context descriptor data structs

  • zink: merge batch descriptor data structs

  • zink: merge context descriptor data onto context struct

  • zink: merge program descriptor data onto program struct

  • zink: merge batch descriptor data onto batch state

  • zink: reorder some descriptor structs

  • zink: rename _lazy descriptor stuff

  • zink: use statically sized array for descriptor allocation

  • zink: ZINK_SHADER_COUNT -> ZINK_GFX_SHADER_COUNT

  • zink: explicitly define ZINK_GFX_SHADER_COUNT

  • zink: PIPE_SHADER_TYPES -> MESA_SHADER_STAGES

  • zink: remove all pipe_shader_type usage

  • zink: delete zink_shader_stage()

  • zink: fix program cache comparisons

  • zink: require EXT_non_seamless_cube_map for GPL support

  • zink: (correctly) require extendedDynamicState2PatchControlPoints for GPL

  • zink: use a maybe more accurate wild guess for pcp-less gpl

  • zink: require VK_KHR_descriptor_update_template

  • zink: add an id member for zink_descriptor_pool_key

  • zink: use a dynarray instead of hash table for tracking pools

  • zink: use a single allocation for zink_descriptor_layout_key

  • zink: rework descriptor pool overflow

  • nir: add uses_bindless flag for shader_info

  • zink: bail out of dmabuf resource creation when srgb explosion is expected

  • zink: iterate over all modifiers and nuke the ones that aren’t supported

  • zink: try to reuse swapchain modifier for dmabuf export

  • ci: remove broken device-select-layer from build

  • vk/render_pass: don’t deref null resolve attachments

  • Revert “zink: try to reuse swapchain modifier for dmabuf export”

  • Revert “zink: add all format modifiers when adding for dmabuf export”

  • zink: deduplicate some program creation code

  • zink: deduplicate some program destroy code

  • zink: move gfx program update/creation into zink_program.c

  • zink: remove cpu conditional render hack

  • zink: add c++ guards to zink_pipeline.h

  • zink: move pipeline cache structs to zink_program.h

  • zink: move gfx pipeline recalc to c++

  • zink: move pipeline state comparison to c++ template

  • zink: use template to eliminate more instructions in pipeline state comparison

  • zink: remove some gfx pipeline state members

  • zink: fix shader key struct packing

  • zink: rework bit iteration in update_gfx_shader_modules to use for loop

  • zink: simplify shader key comparison by splitting out non-generated tcs

  • zink: plumb some screen info through gfx shader creation

  • zink: plumb screen info through shader key comparison

  • zink: split out nonseamless/inline shader module info calculation

  • zink: split out gfx shader module creation from cache searching

  • zink: split out first-time shader module creation

  • zink: use a list for free batch states

  • zink: add templates for pipeline stage comparison

  • zink: use stage comparison template to ignore vertices_per_patch

  • zink: cache dynamic render vs renderpass pipelines separately

  • zink: make program cache values more intelligible

  • zink: change u_foreach_bit to regular for loop in zink_gfx_program_update

  • zink: use dynarray instead of list for internal shader cache

  • zink: pass shader stage as param for gfx module update

  • zink: constify shader module variable

  • zink: make zink_bo.h compile in c++

  • zink: add more c++ guards to headers

  • zink: remove c++ guard from zink_resource.h

  • zink: move zink_batch_resource_usage_set to be static inline

  • zink: add is_buffer param to zink_batch_resource_usage_set

  • zink: use PIPE_CAP_RGB_OVERRIDE_DST_ALPHA_BLEND

  • zink: merge all the batch state sets onto the struct

  • zink: make batch internal api static again

  • zink: split resource tracking into two sets for buffer/texture

  • zink: track which stages in gfx programs are using inlined uniforms

  • zink: add gfx pipeline lookup shortcut

  • st_pbo/compute: handle download failures with fallback

  • st_pbo/compute: fix 1D_ARRAY offsets

  • st_pbo/compute: fix 1D coord dimension by pre-trimming vectors

  • st_pbo/compute: pre-clamp shader geometry to 16bit

  • st_pbo/compute: pre-clamp loaded geometry based on coord components

  • zink: handle nir_intrinsic_sparse_residency_code_and mechanics

  • zink: ignore nir_texop_lod for tex dest matching

  • vulkan: Update the XML and headers to 1.3.225

  • zink: support PIPE_CAP_FBFETCH_COHERENT

  • tu: fix invalid free on alloc failure

  • lavapipe: stop tracking descriptor image layout

  • lavapipe: use cso for compute samplers too

  • lavapipe: remove lvp_sampler::state

  • lavapipe: replace lvp_sampler internals with pipe_sampler_state

  • lavapipe: use pipe_sampler_state directly in descriptor info

  • lavapipe: delete lvp_buffer::offset

  • lavapipe: use gallium buffer descriptor types directly

  • lavapipe: apply VK_WHOLE_SIZE to bufferviews at creation

  • lavapipe: create gallium descriptor image/sampler view types for views

  • lavapipe: delete some code

  • zink: use screen param for zink_descriptor_program_deinit

  • zink: allow programs to solely manage descriptor deinit

  • zink: create compute programs from compute shaders directly

  • zink: initialize cache_get_thread unconditionally

  • zink: add use_local_size flag to compute programs

  • zink: don’t call util_queue_fence_init in zink_screen_get_pipeline_cache()

  • zink: add param to allow cache_get jobs to run directly

  • zink: add a pipeline shortcut for basic compute programs

  • zink: merge compute program hash table onto program struct

  • zink: don’t add compute base pipeline to hash table

  • zink: remove use_local_size from compute pipeline state

  • zink: stop zeroing local size if current compute doesn’t use it

  • zink: use different key comparison for local_size-using compute pipelines

  • zink: track whether shader has cube samplers

  • zink: move compute pipeline cache update to caller

  • zink: add a param to allow zink_screen_update_pipeline_cache to run directly

  • zink: move compute descriptor binds down in execution

  • zink: add precompilation for compute shaders

  • zink: add partial async shader compile support

  • zink: add locking for descriptor layout caches

  • zink: add a context pointer to zink_program struct

  • zink: init fbfetch/bindless ctx stuff on shader create

  • zink: generate sha1 for compute programs

  • zink: add function to check whether a shader has cube samplers

  • zink: defer all compute shader creation

  • zink: don’t emit entrypoints for function temp variables

  • zink: check the variable mode before taking samplemask path in ntv

  • zink: explicitly use unsigned types for bit shifts

  • zink: store VkImageViewUsageCreateInfo for surface creation

  • zink: only add srgb mutable for images with modifiers

  • zink: avoid needing mutable for z/s sampling

  • zink: don’t set MUTABLE by default

  • zink: don’t emit illegal interpolation

  • vulkan: initialize a variable

  • llvmpipe: don’t assume pipe_context is always available in flush_frontbuffer

  • mesa: add GLSL_SOURCE

  • zink: add spirv builder function for demote

  • zink: hook up demote extension

  • zink: fix sharedmem ops with bit_size!=32

  • zink: flag all assigned output slots as mapped

  • zink: add a ci skip for anv

  • mesa/st: split out builtin shader finish

  • st_pbo/compute: use split shader finish funcs

  • mesa/st: move compute pbo shutdown to compute pbo file

  • gallium: add pipe_screen::driver_thread_add_job

  • st_pbo/compute: use new shader interface to perform async shader creation

  • mesa/st: add specialized pbo download shaders

  • mesa/st: add MESA_COMPUTE_PBO env var

  • zink: implement async nir creation

  • lavapipe: VK_EXT_attachment_feedback_loop_layout

  • lavapipe: ARM/EXT_rasterization_order_attachment_access

  • docs: add more features

  • radv: avoid bottlenecking on sequential sparse buffer binds

  • zink: handle split acquire/present

  • zink: uncap ssbo size

  • zink: remove special-casing for 64bit runtime array emission

  • zink: always set var used by get_ssbo_size to the 32bit var

  • zink: simplify ntv shader descriptor emission

  • zink: emit Aliased decoration for aliased bo descriptors

  • zink: fix atomic ssbo indexing with non-32bit values

  • zink: handle 64bit float atomics

  • zink: export PIPE_CAP_IMAGE_ATOMIC_FLOAT_ADD

  • zink: export PIPE_CAP_SHADER_ATOMIC_INT64

  • zink: don’t add void clears if a full clear already exists

  • zink: split up get_clear_data()

  • zink: make void clears more robust

  • zink: rewrite clears on fb bind if only the format has changed

  • zink: add have_vulkan13 to device info

  • zink: add functions for using ‘2’ variants of pipeline barriers

  • zink: add screen interfaces for pipeline barriers

  • zink: use screen interfaces for pipeline barriers

  • zink: fix/relax resolve geometry check

  • zink: defer acquire semaphore destruction

  • zink: fix atomic ssbo fadd offsets

  • st/bitmap: use normalized coords in samplers with lowered rects

  • st/drawpixels: use normalized coords in samplers with lowered rects

  • zink: disable GPL when sample shading is in use

  • anv: force inline more pipe flush functions

  • ci: add a panfrost flake

  • ci: add nouveau flakes

  • egl/glx: add fallback for zink loading

  • zink: don’t call CmdBindVertexBuffers2EXT with no attributes

  • zink: don’t always set VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT with gpl

  • zink: clamp z/s formats to aspected format for border colors

  • zink: move color channel clamping to zink_format.c

  • zink: add border color clamping when customBorderColorWithoutFormat isn’t supported

  • zink: add srgb border color clamping

  • zink: add stencil border color clamping

  • zink: check format compatibility up front when creating framebuffer surface

  • zink: rework flush_frontbuffer to always flush

  • zink: defer more semaphore destruction

  • zink: rework batch tracking for resources

  • zink bump batch state limit a bit

  • zink: split out bind_sampler_states hook for drivers without EXT_non_seamless_cube_map

  • zink: remove batch tracking/usage from view types

  • zink: remove batch usage from sampler states

  • zink: delete more sw conditional render handling

  • zink: delete some descriptor caching cruft

  • glsl: fix gl_CullDistance xfb linking

  • zink: handle culldistance xfb outputs like clipdistance

  • zink: track a mask of gfx stages remaining in gfx programs

  • zink: track the owner context for gfx programs

  • zink: use screen params for program reference functions

  • zink: don’t try to delete programs from the cache if stages have been modified

  • zink: add locking for program caches

  • zink: use program’s context for cache deletion

  • zink: use screen param for zink_shader_free()

  • zink: PIPE_CAP_SHAREABLE_SHADERS

  • radv: ALWAYS_INLINE radv_after_draw

  • radv: ALWAYS_INLINE radv_flush_descriptors

  • radv: ALWAYS_INLINE radv_is_streamout_enabled()

  • radv: store pointer to sgprs for last vertex stage

  • radv: use direct access to last_vgt_api_stage_locs for sgpr emission

  • zink: add a bool flag for decomposed vertex elements

  • zink: check on init whether decomposed attrs are needed

  • zink: wrap zink_shader_key_base access for nonseamless cubemap use

  • zink: remove a bunch of casts from shader key inlines

  • zink: handle inline uniforms during first-time shader generation

  • zink: copy the non-dirty shader stages when updating gfx program

  • zink: move to AoS for gfx program shader modules

  • zink: ALWAYS_INLINE bind_gfx_stage

  • zink: add some padding to small shader keys for byte-alignment

  • zink: add ‘optimal_keys’ handling for shader keys

  • zink: use optimal_keys to massively reduce size of pipeline cache comparisons

  • zink: split dirty_shader_stages for gfx and compute

  • zink: simplify bit tracking in zink_gfx_program_update()

  • zink: be even more granular with optimal_key program updates

  • zink: unspaghettify some program update code

  • lavapipe: set writemask for compute shader buffers

  • lavapipe: propagate shader access info across libraries

  • zink: copy optimal key always

  • zink: add asserts to verify optimal key state

  • zink: fix some batch tracking leaks

  • zink: free vertex_state_cache on shutdown

  • zink: always unset var->data.explicit_xfb_buffer

  • zink: fix sparse queue creation

  • zink: fix handling for ssbos that are just runtime arrays

  • zink: name bo variables using bitsize

  • zink: avoid overflow when clamping bufferviews

  • zink: allow reordered clear_buffer calls

  • zink: remove color_write_missing driver workaround

  • zink: only emit runtime array for ssbos if present

  • mesa: set normalized_coords for bindless texture buffer samplers

  • zink: enable VK_ATTACHMENT_LOAD_OP_DONT_CARE for zs in renderpasses

  • zink: remove zink_context::new_swapchain

  • zink: rename fb_binds -> fb_bind_count

  • zink: reorder zink_resource a little

  • zink: add a mask of fb attachment idx for resources

  • zink: use feedback loop layout to correctly handle implicit feedback loops

  • zink: always set VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT sometimes

  • nir/opt_undef: add a pass to clean up 64bit undefs

  • zink: don’t flatten 64bit arrays during rewrite

  • zink: always run optimize_nir after lower_64bit_vars

  • zink: split up lower_64bit_vars pass

  • zink: also lower 64bit function temps

  • aux/trace: dump line_rectangular member of rasterizer state

  • aux/trace: dump depth_clamp for rasterizer state

  • zink: always unflag unordered_write when binding image descriptors

  • zink: set layouts before possibly reordering image copies

  • zink: move zink_screen_get_pipeline_cache() calls out to callers

  • zink: rework ZINK_PIPELINE_LIBRARY_FORCE into ZINK_DEBUG flag

  • zink: move create_pipeline_lib to zink_program.c

  • zink: hook up VK_EXT_depth_clamp_zero_one

  • zink: pass actual screen->threaded to zink_tc_context_unwrap()

  • vulkan: Update the XML and headers to 1.3.230

  • lavapipe: dynamic state3

  • zink: add a draw barrier when unbinding a sampler-bound fb surface

  • zink: replace mixed_zs with zs feedback loops

  • glthread: use signed vertex buffer offsets when available, don’t require them

  • glthread: handle DeleteBuffers(n=-1) gracefully

  • zink: fix/improve handling for multi-component bitfield ops

  • zink: export PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION

  • zink: export PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE

  • pipe-loader: fix zink driinfo header path

  • zink: enable glthread by default

  • zink: call flush_resource when presenting garbage

  • lavapipe: improve blend handling on pipeline binds

  • zink: use dynamic state3 rasterization states when available

  • zink: use more dynamic state3 when available

  • zink: add tgl ci skip

  • zink: don’t access prog->shaders array during pipeline compile

  • zink: compress zink_gfx_output_key members

  • zink: further compress zink_gfx_output_key lookups

  • zink: set VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT

  • zink: require optimal_keys for GPL

  • zink: add param to disable optimization when combining pipeline libraries

  • zink: move binding_map to hw_state part of vertex state

  • zink: reorder zink_destroy_gfx_program()

  • zink: don’t deref prog->shaders during pipeline construction

  • zink: use an extra pipeline state bit to track coherent fbfetch usage for gpl outputs

  • zink: reenable GPL

  • zink: define zink_pipeline_dynamic_state3 as zink_rasterizer_hw_state

  • zink: set depth clamp

  • remove xvmc

  • delete rbug

  • delete graw tests

  • vk/graphics_state: don’t set default sample locations if rast samples is dynamic

  • zink: allow creating full pipelines unoptimized

  • zink: gfx_pipeline_cache_entry -> zink_gfx_pipeline_cache_entry

  • zink: change zink_gfx_program::last_pipeline -> struct zink_gfx_pipeline_cache_entry

  • zink: implement async gfx precompile

  • zink: add ZINK_DEBUG=shaderdb

  • zink: move descriptor layout/pool stuff to screen object

  • zink: add a safety assert in descriptor updates

  • zink: add some bda handling

  • zink: handle global and scratch vars

  • zink: move descriptor function up in file

  • zink: handle oom better during descriptor updating

  • zink: fix pool overflow handling on batch reset

  • zink: rework/improve descriptor pool overflow handling on batch reset

  • zink: delete view objects when unsetting resource usage in batch reset

  • zink: prevent ballooning of view object memory

  • lavapipe: store compiler options to physical device

  • zink: check core feature for pipeline cache control

  • zink: don’t add other usage bits for transient images

  • zink: clamp line_stipple_factor to 1 if stipple is disabled

  • zink: unset rp_changed after initializing renderpass attachments

  • zink: disable fbfetch when flushing clears

  • glthread: fix buffer allocation size with non-signed buffer offset path

  • zink: enable tc cpu storage on some buffers

  • zink: clamp feedback loop layout to GENERAL if the ext isn’t supported

  • zink: delete some big struct members from zink_context

  • zink: reorder context init to handle COMPUTE_ONLY

  • zink: clamp shader bindings for compute descriptors

  • zink: add ci flake

  • zink: move spec constant emission to the types/consts block

  • zink: set default spec constant value to 1

  • zink: add docs for zink_batch.c

  • zink: delete/cleanup some descriptor #defines

  • zink: delete unused descriptor struct field

  • zink: start on some type docs

  • zink: fix duplicate VK_DYNAMIC_STATE_LINE_STIPPLE_EXT setting

  • zink: fix ds3 line stipple enable handling

  • driconf: add mesa_glthread=false for gfxbench

  • lavapipe: store binding offset for buffers

  • lavapipe: fix BufferDeviceAddress usage

  • zink: fix gpl compile optimization

  • zink: decrement ZINK_FBFETCH_BINDING

  • zink: don’t flag ubo0 as used in shaders with indirect ubo access

  • zink: allow direct memory mapping for any COHERENT+CACHED buffer

  • zink: allocate/place memory using memoryTypeIndex directly

  • zink: support multiple heaps per memory type

  • zink: delete unused zink descriptor mode

  • zink: rename some variables in descriptor code

  • zink: ZINK_DESCRIPTOR_TYPES -> ZINK_DESCRIPTOR_BASE_TYPES

  • zink: add more zink_descriptor_type enum values to improve readability

  • zink: delete unused descriptor function

  • zink: stop passing pointer to changed_sets to populate_sets()

  • zink: add some descriptor docs

  • zink: add some docs for c++ pipeline state functions

  • zink: simplify some program descriptor helpers

  • zink: split out uniform decriptor bindings in shader data

  • zink: flag push state changed in batch changed conditional

  • zink: rescope/simplify some push descriptor code

  • zink: elide a buffer samplerview update conditional

  • zink: handle broken resource mapping deadlocks

  • zink: simplify swapchain imageview handling

  • zink: delete stale comment for zink_surface

  • zink: simplify conditional for surface rebind no-ops

  • zink: use zink_resource_object::views to defer deferred storage view deletion

  • zink: delete unused zink_surface member

  • zink: add some breadcrumbs for VK_EXT_multisampled_render_to_single_sampled

  • zink: add docs for zink_surface

  • zink: match bitsizes in bo rewriting

  • zink: pass KERNEL shaders through successfully

  • zink: rework sampler emission

  • zink: pass image type to image emission

  • zink: add a nir pass for CL image typing and sampler tracking

  • zink: simplify image deref handling

  • zink: add some spirv builder handling for sampled image ops

  • zink: emit explicit samplers in ntv based on sampler_mask

  • zink: always take the compact descriptor size path with kernel shaders

  • zink: add handling on the vk side for discrete sampler descriptors

  • zink: add handling for CL-style discrete shader samplers

  • zink: rip out unused kernel push constant

  • zink: fix weird formatting

  • zink: don’t force attachment usage for images when unsupported

  • zink: always add MUTABLE with EXTENDED_USAGE for image creation

  • zink: don’t double-deref bindless texture arrays in shaders

  • util/tc: split out flush and deferred flush calls

  • util/tc: split out dsa and fs state cso handling

  • util/tc: implement renderpass tracking

  • zink: add a context flag to indicate when blitter is running

  • zink: use tc renderpass tracking to optimize renderpasses

  • zink: enable renderpass optimizing for turnip jobs

Ming Li (1):

  • docs: Add d3d10umd and lavapipe to the doc for the gallium frontends.

Mykhailo Skorokhodov (8):

  • util: Add glsl2spirv.py script

  • nir: Make lower_double_ops recognize SPIR-V mangling

  • nir: Add assert in nir_lower_doubles

  • glsl/meson: Add variable to export float64.glsl

  • anv/meson: Add float64_spv_h custom target

  • anv: Add softtp64 workaround

  • drirc: Add fp64_workaround_enabled option

  • drirc: Apply fp64_workaround_enabled to DOOM Eternal

Nanley Chery (8):

  • mesa/st: Set PIPE_MAP_DISCARD_RANGE in fallback_copy_image

  • mesa/st: Add and use st_texture_image_insert_transfer

  • mesa/st: Add and use st_texture_image_transfer::box

  • mesa/st: Don’t map compressed texture fallbacks for reads

  • mesa/st: Fix indentation in st_MapTextureImage

  • mesa/st: Drop st_texture_image_transfer::map

  • iris: Enable INTEL_MEASURE for compute dispatches on XeHP

  • iris: Reduce use of RHWO optimization (Wa_1508744258)

Nicholas Bishop (2):

  • crocus: Advertise PIPE_CAP_NATIVE_FENCE_FD

  • crocus: fix off-by-one error when clearing stale syncobjs

Oleksii Bozhenko (2):

  • vulkan/wsi: Pass wsi_image_create_info into anv_GetPhysicalDeviceImageFormatProperties2

  • anv: Allow aliasing with modifiers for WSI images

Omar Akkila (5):

  • ci: Merge common builds in debian test jobs

  • ci: Move crosvm to the base test image

  • ci: Build crosvm with opaque fd mapping support

  • ci: Enable virtio-experimental in testing

  • ci: Add vulkan dEQP tests for venus

Paul Gofman (1):

  • vbo/dlist: keep buffers used in loopback_vertex_list() mapped.

Pavel Ondračka (22):

  • r300: fix variables detection for paired ALU and TEX instructions in different branches

  • r300: allow constant swizzles with inline constant

  • r300: fix negate mask computation when merging movs

  • r300: check for identical saturate mode when merging MOVs

  • r300: run dataflow optimizations in separate loops

  • r300: generalize the merge_movs pass

  • r300: don’t merge w channel in fragment shaders

  • r300: merge MOVs into ADD using the 0 swizzle

  • r300: merge MOVs with MULs or ADDs in merge channels

  • r300: Set more shadow sampler lowering in precompiles.

  • r300: allow presubtract when both ADD sources are negative

  • r300: run copy propagate once more after merging channels

  • r300: merge together MOV and MAD instructions

  • r300: add special path for merging movs with the same source

  • r300: add some synchronization for KIL

  • r300: fix register rewrite when converting rbg instructions to alpha

  • r300: reduce CPU overhead in IF transformation pass

  • Revert “r300: be less agresive with copy propagate in loops”

  • r300: fix reader detection with breaks

  • r300: be more careful when pair merging with presubtract

  • r300: fix generation of invalid swizzles in regalloc

  • r300: respect buffer offset in r300_set_constant_buffer

Pedro J. Estébanez (5):

  • nir2dxil: Lower texture projections

  • nir2dxil: Use native helper lane intrinsic on SM >= 6.6

  • microsoft/spirv2dxil: Refactor to make SM and validator versions public

  • microsoft/spirv2dxil: Change `spirv_to_dxil()` to receive SM and validator versions

  • microsoft/spirv2dxil: Support pack_32_2x16 and pack_32_4x8

Pierre Moreau (11):

  • nv50,nvc0: Do not resize global residents if unnecessary

  • nv50: Rename fixups to relocs

  • nv50: Rename interps to fixups

  • nv50: Report actual VRAM size

  • nv50: Disallow allocating more than VRAM size

  • nv50: Mark RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY as unsupported

  • nv50/ir: Handle non-32-bit values when cst folding SPLIT

  • nv50/peephole: Disallow combining sub 4-byte ld/st for now

  • nv50/ra: Fix the offset computation for compounds

  • nv50/ir: Avoid generating splits of splits

  • nv50/nir: A group barrier is CTA-level not global-level

Pierre-Eric Pelloux-Prayer (72):

  • loader: don’t return empty string in loader_get_dri_config_device_id

  • loader: allow DRI_PRIME=vendor_id:device_id syntax

  • vulkan/device_select: print the dri_prime warning only if needed

  • vulkan/device_select: allow DRI_PRIME=vendor_id:device_id

  • docs: document DRI_PRIME

  • gallium/dri2: make protected buffer checks opt-in

  • amdgpu/bo: update uses_secure_bos when importing buffers

  • radeonsi: allocate BIND_RENDER_TARGET as tmz instead of SCANOUT

  • radeonsi: print radeon_bo_flag when AMD_DEBUG=vm is used

  • nir: add a nir_opt_if_options enum

  • radeonsi/tests: remove left-over debug print

  • radeonsi/tests: add testing of the khr-single tests

  • radeonsi/tests: update raven expected results

  • radeonsi/tests: update navi21 expected results

  • radeonsi/tests: cosmetic changes

  • radeonsi: prevent u_blitter recursion in si_update_ps_colorbuf0_slot

  • radeonsi: use LOAD_CONTEXT_REG_INDEX for VGT_STRMOUT_DRAW_OPAQUE

  • ac/llvm: add a return value to ac_nir_translate

  • radeonsi: deal with ac_nir_translate failures

  • radv: deal with ac_nir_translate failures

  • radeonsi: use nir_opt_large_constants earlier

  • radeonsi/sqtt: set stable pstate if possible

  • mesa: avoid reading back textures from VRAM

  • mesa: simplify _mesa_texstore_z24_s8 and s8_z24

  • mesa: remove fallback for GL_DEPTH_STENCIL

  • radeonsi: invalidate L2 when using dcc stores

  • egl/wayland: fix glthread crashes

  • winsys/amdgpu: init ‘r’ before using it

  • radeonsi/gfx11: don’t set VERTS_PER_SUBGRP to 0

  • tc: do a GPU->CPU copy to initialize cpu_storage

  • tc: don’t use CPU storage for glBufferData

  • ac/llvm: remove unused vars hash table

  • radeonsi: remove USE_LDS_SYMBOLS

  • radeonsi: use nir_lower_explicit_io to get rid of mem_shared deref

  • ac/llvm: drop visit_deref

  • ac/llvm: simplify get_memory_ptr

  • ac/llvm: add helpers to get pointer types of ac_arg

  • ac/llvm: remove LLVMBuildGEP usages

  • ac/llvm: add a ac_llvm_pointer type

  • ac/llvm: port functions to use ac_llvm_pointer

  • ac/llvm: switch ac_build_gep_ptr to LLVMBuildGEP2

  • ac/llvm: switch ac_build_pointer_add to LLVMBuildGEP2

  • ac/llvm: add type param to ac_build_load_invariant

  • ac/llvm: add xxxx2 functions to iteratively port to opaque pointers

  • ac/llvm: store lds as ac_llvm_pointer

  • ac/llvm: store constant_data and scratch as ac_llvm_pointer

  • ac/llvm: remove unneeded casts

  • radv/llvm: use ac_build_gep0_type to get args types

  • radeonsi: use ac_get_arg_pointee_type to get the right type

  • radeonsi: use LLVMBuildGEP2 in si_build_gep_i8_var

  • radeonsi: make ngg_gs_get_vertex_storage return a ac_llvm_pointer

  • radeonsi: port the remaining code to opaque pointers

  • ac/llvm: remove gep_2 and others temporary functions

  • radv/llvm: replace LLVMBuildLoad by LLVMBuildLoad2

  • ac/llvm: add ac_get_ptr_arg

  • ac/llvm: pass ac_llvm_ptr instead of separate type/ptr

  • Revert “ac: use LLVMContextSetOpaquePointers if available”

  • radeonsi: zero init using the correct components count

  • radeonsi/sqtt: notify sqtt when we skip a flush

  • radeonsi/sqtt: re-export shaders in a single bo

  • radeonsi/sqtt: allow to disable spm counters

  • radeonsi/tests: handle flakes file for all test suite

  • radeonsi/tests: simplify the script

  • radeonsi/tests: update expected results for navi21

  • radeonsi/tests: update expected results for navi10

  • radeonsi/tests: update expected results for polaris11

  • radeonsi: simplify si_prefetch_shaders

  • radeonsi/sqtt: simplify condition to determine if sqtt is on

  • radeonsi: store the shader gpu adress in si_shader

  • radeonsi: handle sqtt pipeline in shader prefetch

  • radeonsi/gfx11: enable sdma copy DRI_PRIME

  • radeonsi: update db_eqaa even if msaa is disabled

PixelyIon (1):

  • tu: Make KGSL wait IOCTLs interrupt-safe

Qiang Yu (62):

  • nir/lower_gs_intrinsics: fix primitive count for points

  • radeonsi: fix tcs_out_lds_offsets arg alignment

  • winsys/amdgpu: fix non-page-aligned sparse buffer creation

  • nir,ac/llvm: add nir_intrinsic_load_half_line_width_amd

  • nir,ac/llvm: add nir_intrinsic_load_viewport_xy_scale_and_offset

  • ac/nir/ngg,radv: use nir_load_viewport_xy_scale_and_offset

  • ac/nir/cull: support caller react when primitive is rejected

  • ac/nir/ngg: support line culling

  • ac/nir/ngg: fix and simplify gs store output lower

  • ac/nir/ngg: use same driver location for gs output

  • ac/nir/ngg: save and restore output bit size for gs

  • ac/nir/ngg: save and restore position output base for nogs

  • ac/nir/ngg: add gs culling

  • ac/nir/ngg: support component position store

  • ac/nir/ngg: support clipdist culling

  • ac/llvm: cast tes_u/v_replaced to float

  • radeonsi: implement nir_intrinsic_load_half_line_width_amd

  • radeonsi: implement nir_intrinsic_load_viewport_xy_scale_and_offset

  • radeonsi: implement cull nir intrinsics

  • ac/llvm: move culling replaced registers to abi

  • radeonsi: use replaced values when present

  • radeonsi: vs load input re-calculate vertex index after culling

  • radeonsi: add and implement load_user_clip_plane abi

  • nir: fix nir_xfb_info buffer_to_stream length

  • nir: add nir_intrinsic_load_num_vertices_per_primitive_amd

  • nir: add nir_intrinsic_load_streamout_buffer_amd

  • nir,ac/llvm: add nir_intrinsic_load_ordered_id_amd

  • nir: add nir_intrinsic_ordered_xfb_counter_add_amd

  • ac/llvm: implement nir_intrinsic_ordered_xfb_counter_add_amd

  • ac/nir/ngg: cleanup prim id to prepare for streamout

  • ac/nir/ngg: nogs support streamout

  • ac/nir/ngg: ngg_gs_load_out_vtx_primflag support stream

  • ac/nir/ngg: support multi stream per output slot for gs

  • ac/nir/ngg: support gs streamout

  • radeonsi: implement nir_intrinsic_load_num_vertices_per_primitive_amd

  • radeonsi: implement nir_intrinsic_load_streamout_buffer_amd

  • radeonsi: print out remove_streamout shader key

  • nir,ac/llvm,radv: add nir_intrinsic_load_provoking_vtx_in_prim_amd

  • ac/nir/ngg: use nir_load_provoking_vtx_in_prim_amd in ngg lower

  • radv: count gen_prims_queries_enabled

  • radv: split active_pipeline_gds_queries

  • nir,ac/nir/ngg,radv: split shader_query_enabled_amd

  • ac/nir/ngg,radv: use different counters for shader queries

  • nir,ac,radv: add primitive count add intrinsics

  • nir: add nir_load_prim_xfb_query_enabled_amd

  • ac/nir/ngg: add query param to ac_nir_lower_ngg_gs

  • ac/nir/ngg: add streamout emitted primitive query

  • radeonsi: implement llvm abi atomic_add_prim_count

  • radeonsi: implement nir shader query enabled intrinsics

  • ac/llvm: get back intrinsics used by NGG

  • ac/nir/ngg: support user edge flags for ngg lower

  • ac/nir/ngg: pass primitive_id_location as param for nogs lower

  • nir: add two amd ngg lds base load intrinsics

  • ac/nir/ngg,radv: move LDS layout calculation out of nir ngg lowering

  • ac/nir/ngg: allow passthrough with vs primitive id output

  • ac/nir/ngg: save and restore no_varying/no_sysval_output

  • ac/nir/ngg,ac/llvm,aco: save nogs ngg culling one lds dword

  • ac/nir/ngg: add one odd dword to nogs culling pervertex lds

  • ac/nir/ngg: fix nogs culling with nuw add

  • ac/nir/ngg: remove nuw for negative value add

  • ac/llvm: fix gfx11 fs input load for 16bit varying

  • ac/llvm: fix 16bit varying llvm compile error

Rajnesh Kanwal (48):

  • pvr: Implement vkResetDescriptorPool API.

  • pvr: Fix clang-format issue.

  • pvr: Implement vkGetPhysicalDeviceImageFormatProperties2 API.

  • pvr: Implement vkCmdDrawIndirect API.

  • pvr: Implement vkCmdDrawIndexedIndirect API.

  • pvr: Fix multiple file descriptor leaks.

  • pvr: Implement vkCreateEvent and vkDestroyEvent APIs.

  • pvr: Implement vkCmdSetEvent2 API.

  • pvr: Implement vkCmdResetEvent2 API.

  • pvr: Implement vkCmdWaitEvents2 API.

  • pvr: Implement vkSetEvent API.

  • pvr: Implement vkResetEvent API.

  • pvr: General reformatting and renaming some fields.

  • pvr: Replace pvr_renderpass_surface_initop with VkAttachmentLoadOp.

  • pvr: Add support for generating render pass hw setup data.

  • pvr: Use ~0 for masks instead of ~0U.

  • pvr: Add missing output register write in pvr_CreateRenderPass2.

  • pvr: Rename userpass_spawn to isp_userpass.

  • pvr: Add const to structs that are not supposed to be modified.

  • pvr: Add attachment resolve support.

  • pvr: Add support to create subpass load ops.

  • pvr: Pass load-op struct instead of idx to support subpass load-ops.

  • pvr: Implement vkCmdNextSubpass API.

  • pvr: implement vkcmddispatchindirect api.

  • pvr: Handle indirect buffer address in pvr_setup_descriptor_mappings.

  • pvr: Convert attachment indexes to unsigned.

  • pvr: Remove redundant instruction buffer check.

  • pvr: Remove redundant assignment error.instruction.

  • pvr: Remove framebuffer NULL check from pvr_CmdBeginRenderPass2.

  • pvr: Remove dead code from pvr_perform_start_of_render_clears.

  • pvr: Zero init pbe_cs_words to avoid passing on garbage.

  • pvr: Fix Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) errors.

  • pvr: Call VALGRIND_FREELIKE_BLOCK before unmapping to avoid use after free.

  • pvr: Add assert to check for non-NULL binding_desc.

  • pvr: Implement vkGetEventStatus API.

  • pvr: Add pvr_csb_emit_link function to support secondary buffer links.

  • pvr: Fix check in pvr_cmd_uses_deferred_cs_cmds.

  • pvr: Add support for PVR_CMD_STREAM_TYPE_GRAPHICS_DEFERRED stream.

  • pvr: Create deferred control stream for secondary command buffers.

  • pvr: Reserve space for vdm state for deferred secondary buffer.

  • pvr: Add support to copy a control stream to another control stream.

  • pvr: Implement vkCmdExecuteCommands API.

  • pvr: Update buffer type macro names for consistency.

  • pvr: Fix heap type of availability_buffer allocation.

  • pvr: Fix allocation size passed in pvr_cmd_buffer_alloc_mem.

  • pvr: Remove double error reporting.

  • pvr: Split pds compute shader create and upload code for reuse.

  • pvr: Add vulkan shader factory headers for Query and clear APIs.

Renato Pereyra (1):

  • venus: Increase vn_relax sleep time

Rhys Perry (117):

  • aco: fix LdsBranchVmemWARHazard with 2+ branch chains

  • aco: set has_VMEM,has_DS=false after a branch

  • aco: only add vscnt wait when visiting VMEM/DS

  • aco: improve VcmpxPermlaneHazard workaround

  • aco: fix hash statistic

  • docs/radv: advertise VK_KHR_global_priority

  • aco: fix consecutive exec writes when finding exec_copy instruction

  • aco: rename is_cmp to is_fp_cmp

  • aco: fix assembly of vopc_sdwa writing exec

  • aco: fix re-write of uses of exec_val’s lo/hi half

  • aco: test branch opcode if removing it in try_optimize_branching_sequence

  • aco: remove val_and_copy_adjacent

  • aco: improve vcc check for instructions between exec_val and exec_copy

  • aco: test for one and_savexec opcode in try_optimize_branching_sequence

  • aco: fix long-jump version of discard early exit

  • radv: remove claimed support for sRGB vertex buffer formats

  • radv: fix 16-bit support in radv_lower_vs_input

  • aco: fix 16-bit VS inputs

  • radv/llvm: fix packed VS inputs on GFX6/GFX10+

  • aco: don’t expand vec3 VS input load to vec4 on GFX6

  • aco: allow direct_fetch=true for vec4 VS input loads

  • nir/print: support nir_texop_descriptor_amd

  • aco: add SCC clobber in build_cube_select

  • nir/lower_tex: ignore width of cube textures

  • radv: enable ac_nir_lower_resinfo for ACO

  • aco: remove dead code for querying image size/samples/levels

  • util/ralloc: add HEADER_ALIGN macro

  • util: add freelist allocator with mark/sweep

  • nir/serialize: remove unused parameter from read_src()

  • Revert “nir: Drop the unused instr arg for src/dest copy functions.”

  • nir: adjust nir_src_copy signature to take a nir_instr *

  • nir: use a GC context for instructions

  • util/format,vulkan/format: update p_format for Vulkan vertex buffers

  • ac: add ac_vtx_format_info

  • radv: add radv_is_vertex_buffer_format_supported

  • radv,aco: use pipe_format for static vertex input state

  • radv,aco: use pipe_format for dynamic vertex input state

  • radv: remove radv_translate_vertex_format

  • radv: enable R8G8B8, B8G8R8 and R16G16B16 vertex formats

  • radv,aco: implement 64-bit vertex inputs

  • radv: enable 64-bit vertex formats

  • aco/ra: handle empty def_reg interval in get_regs_for_copies

  • aco/ra: remove bounds parameter from get_regs_for_copies()

  • aco/ra: rework fixed operands

  • nir/algebraic: optimize bits=umin(bits, 32-(offset&0x1f))

  • nir/algebraic: optimize fabs(bcsel(b, fneg(a), a))

  • radv: disable EXT_vertex_input_dynamic_state when using DGC

  • radv: shrink zero-initialization in vkCmdSetVertexInputEXT

  • radv: use nir_ubfe_imm

  • radv: remove unnecessary .align_mul=4

  • radv: fix dynamic RT stack size with VGPR spilling

  • aco: DCE ra_ctx::defs_done

  • aco: rename Interp_instruction to VINTRP_instruction

  • aco: add reg() helper to assembler

  • aco: fix assembly of MUBUF-to-LDS loads

  • aco: add GFX11 opcode numbers

  • aco/gfx11: don’t use more than 1 NSA dword

  • aco: update assembler for GFX11

  • aco: limit GFX11 to 128 VGPRs for now

  • aco: add LDSDIR instruction format

  • aco: add VINTERP instruction format

  • aco: omit read-only memory_sync_info when printing

  • aco/tests: add GFX11 assembly tests

  • aco: mostly implement FS input loads on GFX11

  • aco: fix VMEMtoScalarWriteHazard s_waitcnt mitigation

  • aco: improve VMEMtoScalarWriteHazard s_waitcnt mitigation

  • aco: use some helpers in GFX10 hazard workarounds

  • aco: improve printing of sgpr_null

  • aco: improve printing of s_waitcnt_depctr

  • aco: add VMEMtoScalarWriteHazard tests

  • aco/gfx11: swap ds_cmpst_* data operands

  • aco: improve wait_imm unpack

  • aco/gfx11: fix s_waitcnt printing

  • aco: update sendmsg enum from LLVM

  • aco/gfx11: deallocate VGPRs at the end of the shader

  • aco/gfx11: update form_hard_clauses

  • aco: limit hard clauses to 63 instructions

  • aco: fix assembler.gfx11.vinterp test

  • aco: add search_backwards helper

  • aco/gfx11: workaround VcmpxPermlaneHazard

  • aco/gfx11: workaround LdsDirectVALUHazard

  • aco/gfx11: workaround LdsDirectVMEMHazard

  • aco/gfx11: workaround VALUTransUseHazard

  • aco/gfx11: workaround VALUPartialForwardingHazard

  • aco/gfx11: workaround VALUMaskWriteHazard

  • aco: add ACO_DEBUG=force-waitdeps

  • nir/algebraic: optimize b<<a + c<<a

  • ac/llvm: fix mixing non-uniform/uniform sampler/texture descriptors

  • ac/llvm: ignore g16 if the image opcode doesn’t use derivatives

  • aco/gfx11: optimize LS/HS load_local_invocation_index

  • aco: swap v_perm_b32 operands

  • radv,nir: add intrinsics for streamout and GS copy shaders

  • ac/nir: add legacy streamout and GS copy shader helpers

  • ac/nir: micro-optimize boolean expression

  • ac/nir: add ac_nir_lower_ngg_options

  • aco: add storage_gds

  • aco: insert waitcnt before/after ds_ordered_count

  • nir,ac/nir,aco,radv: replace has_input_*_amd with more general intrinsics

  • aco: don’t split swizzled store_buffer_amd on GFX9+

  • ac/nir: lower gfx11 vertex parameter exports

  • radv/gfx11: don’t create fmask copy/expand pipelines

  • radv/gfx11: don’t create texop_samples_identical

  • radv,aco: don’t use lower_to_fragment_fetch_amd on GFX11+

  • aco: fix typo in branch lowering

  • aco/gfx11: perform FS input loads in WQM

  • aco/gfx11: fix FS input loads in quad-divergent control flow

  • radv/llvm: fix GS shaders on GFX8/9

  • docs: update new_features.txt for non-extension additions to RADV

  • radv: increase gfx1100/gfx1101 physical vgprs

  • ac/gpu_info: increase gfx1100/gfx1101 physical vgprs

  • aco/gfx11: increase gfx1100/gfx1101 physical vgprs

  • radeonsi: increase gfx1100/gfx1101 physical vgprs

  • nir/lower_bit_size: lower uadd_carry

  • radv: lower 8/16-bit uadd_carry/usub_borrow

  • radv: disable MRT compaction with dual-source blending

  • aco: ensure MRT0 is written with dual source blending

  • ac/nir: mask shift operands

Riteo (1):

  • vulkan/device_select_wayland: fix a memory leak with DRM device handling

Rob Clark (106):

  • gbm: Add USE_FRONT_RENDERING flag

  • freedreno: Disable UBWC for frontbuffer rendering

  • freedreno/drm: Fix potential bo cache vs export crash

  • freedreno/gmem: Fix col0 calc

  • freedreno: Drop fixed upper bound on # of tiles

  • freedreno/drm: Add FD_VA_SIZE param

  • freedreno: Cap reported video memory by VA size

  • freedreno/drm: Avoid lock in fd_pipe_del()

  • egl: atrace support

  • freedreno/drm/virtio: Add some atrace

  • util: Fix vs2019 build error

  • egl: Drop _eglSetFuncName() return

  • egl: Drop unused _EGL_FUNC_START() arg

  • egl: Remove redundant fxn param

  • egl: Convert to simple_mtx_t

  • egl: Add some locking asserts

  • egl/dri2: Indenting fix

  • egl/dri2: Error path cleanups

  • llvmpipe: Add some missing locking

  • freedreno: Extract helper to check for batch dependency

  • freedreno: Simplify add_dep logic

  • freedreno: Avoid deferred-flush dependency loops

  • Revert “ci: disable the freedreno farm.”

  • freedreno/a6xx: Random indent fixes

  • freedreno/drm: Let backend hint about upload vs map

  • freedreno/drm: Add offset param for fd_bo_upload()

  • freedreno: Add support for upload transfers

  • Revert “ci: disable the freedreno farm.”

  • egl/wgl: Make ref_count atomic

  • egl/dri2: Make ref_count atomic

  • egl/dri2: Add display lock

  • egl: Make RefCount atomic

  • egl: Introduce rwlock to protect eglTerminate()

  • egl: Relax locking

  • freedreno: Misc indent fix

  • freedreno: nr_rings -> nr_priorities

  • freedreno: Remap high/norm/low priorities

  • freedreno/virtio: Don’t upload if we have valid range

  • freedreno/drm/virtio: Don’t prefer upload for mapped buffers

  • freedreno/drm/virtio: Handle read after upload

  • freedreno: We really don’t need aligned vbo’s

  • freedreno: Update github wiki links

  • freedreno/ir3: GC unused macro

  • freedreno/drm: Inline fd_bo_get_iova()

  • freedreno/drm: Add fd_ringbuffer_attach_bo()

  • freedreno/a6xx: Drop “hardpin” support

  • freedreno/drm: Simplify emit_reloc_common

  • freedreno/a6xx: Skip IBO state when unused

  • freedreno/a6xx: Pre-calculate user const state size

  • freedreno: Drop unused arg

  • freedreno/a6xx: Move user const upload to bind

  • freedreno/a6xx: Simplify fd6_build_user_consts()

  • freedreno: Handle xfb invalidation

  • freedreno: Use TC cpu-storage to shadow buffers

  • freedreno/drm: Don’t call kernel with no ops

  • freedreno: Add perf-debug trace

  • isaspec: Fix out of date comment

  • gallium/u_threaded: Add some atrace/perfetto

  • gallium/u_threaded: Add optional call-id tracing

  • freedreno: Fix fence unref race

  • docs: Update freedreno features

  • mesa/st: ARB_vertex_attrib_64bit depend on glsl>=410

  • freedreno/a6xx: Remove unused param

  • freedreno/ir3: Fix clipvertex with GS+tess

  • freedreno/ir3: Lower all the 64b

  • freedreno/a6xx: Fix MAX_GEOMETRY_OUTPUT_VERTICES cap

  • freedreno/a6xx: Fix primitives-generated query

  • freedreno/a6xx: Update caps

  • freedreno/a6xx: Drop max_scissor tracking

  • Revert “egl: Factor some common terminate cleanup up to common code”

  • nir: Add helper to create passthrough TCS shader

  • radeonsi: Use nir passthrough TCS helper

  • freedreno: Dirty the TCS state if patch_vertices change

  • freedreno/ir3: Passthrough TCS support

  • freedreno: Add tess_state support

  • freedreno: Passthrough TCS support

  • v3d/ci: Add a flake

  • Revert “mesa/st: ARB_vertex_attrib_64bit depend on glsl>=410”

  • freedreno: Don’t advertise TGSI support for GS/tess

  • freedreno/a6xx: Move layer_zero handling to interp state

  • freedreno/ir3: Drop unused view_zero/layer_zero lowering

  • freedreno/a6xx: Fix buffer size clamping

  • freedreno/a6xx: Support AMD_vertex_shader_layer

  • freedreno: support multiple viewports

  • freedreno: Massage scissor state at bind time

  • freedreno: Move guardband calc to bind time

  • freedreno/a6xx: Support GL_ARB_viewport_array + gl43

  • freedreno/a6xx: Enable GL_ARB_texture_mirror_clamp_to_edge

  • freedreno: Enable GL_ARB_enhanced_layouts

  • freedreno/ci: Small bit of xfails cleanup

  • docs: Update features.txt

  • nir: Add way to create passthrough TCS without VS nir

  • freedreno: Add ARB_gl_spirv support

  • freedreno/a6xx: Use box to pass 2d clear params

  • freedreno/a6xx: Implement ARB_clear_texture

  • freedreno/a3xx+: Enable ARB_shader_texture_image_samples

  • freedreno/a3xx+: Enable ARB_derivative_control

  • freedreno/ir3: Unconditionally lower subgroup ops

  • freedreno/a6xx: Enable ARB_shader_group_vote

  • freedreno/a6xx: Fix occlusion queries

  • freedreno/a6xx: Remove unused field

  • freedreno/a5xx+a6xx: Add base class for query samples

  • freedreno/batch: Add a global epilogue

  • freedreno: Core ARB_query_buffer_object support

  • freedreno/a6xx: ARB_query_buffer_object support

  • freedreno/a6xx: Mark gl45 supported

Rohan Garg (3):

  • anv, iris: Disable pre fetching the binding table entries on DG2

  • intel/compiler: Support 16 bit float ops

  • anv: Enable 16 bit float ops on devices that have a LSC

Roland Scheidegger (4):

  • lavapipe: initialize index_bias to zero for non-indexed draws

  • gallivm: always do per-pixel LOD for cube maps

  • llvmpipe: fix front/back face system value in the fs

  • gallivm: remove dead cube map lod calculation code

Roman Gilg (2):

  • loader/dri3: Simplify buffer age query

  • loader/dri3: Add DRI performance option to wait for next buffer on swap

Roman Stratiienko (6):

  • v3dv: Enable sync_fd importing/exporting on Android

  • v3dv: Limit API version to v1.0 for Android

  • v3dv: Avoid swapchain_info handling on Android

  • lima: Ensure jobs initialized before calling lima_job_fini()

  • Android: Use libgbm_mesa name for SDK30+

  • meson: Enable system_has_kms_drm for android

Ruijing Dong (30):

  • frontends/va: improve enc quality interface change

  • radeonsi/vcn: add enc quality bits interface

  • radeonsi/vcn: dpb change for supporting pre-encoding

  • radeonsi/vcn: support encoding preset modes

  • radeonsi/vcn: support VBAQ modes

  • radeonsi/vcn: remove rate control double begin IBs

  • radeonsi/vcn: add AUD syntax to h264 encoding

  • frontend/va: remove some unnecessary code

  • frontends/va: change getEncParamPreset location

  • frontends/va: add max_frame_size into rate control

  • frontends/va: add HRD, filler data enable and etc

  • frontends/va: enable sao in hevc encoding

  • radeon/vcn: process invalid frame rate in encoding

  • radeonsi/vcn: support async

  • radeonsi/vce: using fixed value for vce 52

  • gallium/pipe/video: group avc encoder seq structure

  • radeonsi/vce: apply avc seq parameters

  • frontends/omx: apply avc seq parameters

  • frontends/va: apply avc seq parameters

  • radeonsi/vcn: use avc seq paramters

  • frontends/va: add aspect ratio and vui timing info

  • radeonsi/vcn: support aspect ratio and vui timing info

  • d3d12: Updating refactored fields in pipe_h264_enc_picture_desc

  • frontends/va: fix av1 decoding image distortion issue

  • gallium/pipe/video: add data struct for dbk in avc encoding.

  • frontends/va: add h264 dbk enc parameters

  • radeonsi/vcn: enable dbk in avc encoding

  • radeonsi/vcn: enable multi-slice encoding

  • frontends/va: fixed an av1 decoding image corruption issue.

  • frontends/va: fixed an av1 dec image corruption.

Ryan Houdek (1):

  • vulkan/wsi: Add dep_libudev to idep dependencies

Sagar Ghuge (5):

  • intel/isl: Setting L1 caching policy to Write-back mode

  • anv: Specify Untyped L1 cache policy for stateless accesses

  • iris: Specify Untyped L1 cache policy for stateless accesses

  • anv: Handle bits to flush data-port’s Untyped L1 data cache

  • iris: Handle new untyped dataport cache flush PIPE_CONTROL field

Sajeesh Sidharthan (1):

  • radeonsi/vcn: set current pic index correctly

Sami Kyöstilä (1):

  • intel/ds: Update to Perfetto API v28.0

Samuel Pitoiset (329):

  • vulkan: add support for VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT

  • radv: implement VK_EXT_attachment_feedback_loop_layout

  • radv: ignore out-of-order rasterization if stencil write mask is dynamic

  • radv: rework shaders ref counting

  • radv: use ref counting for VS prologs and PS epilogs

  • radv: remove RADV_META_SAVE_SAMPLE_LOCATIONS

  • radv: simplify saving/restoring all dynamic states

  • radv: remove unused states parameter from some radv_emit_XXX() helpers

  • radv: simplify radv_bind_dynamic_state() slightly

  • radv: fix gathering XFB info if there is dead outputs

  • radv: respect the render area for depth/stencil resolves

  • radv: fix cleaning the meta query state if an error occured

  • radv: properly ignore PSO states that are dynamic

  • radv: remove one useless check about line width and dynamic state

  • radv: simplify dynamic states uses when determining NGG culling settings

  • radv: do not set registers for PSO states that are dynamic

  • radv: remove radv_invariant_geom workarounds for DX games

  • radv: explain why radv_invariant_geom is still needed for SotTR DX

  • radv: remove unecessary radv_pipeline::uses_dynamic_stride

  • radv: copy line stipple factor/pattern only if the state isn’t dynamic

  • radv: copy the sample locations only if the state isn’t dynamic

  • zink: stop skipping bunch of GLESx tests

  • vulkan: initialize discardRectangleCount even if the state is dynamic

  • vulkan: fix initializing the primitive topology when it’s dynamic

  • vulkan: add attachment sample count info AMD support

  • radv: store the provoking vertex mode in the graphics pipeline info

  • radv: simplify the depth clip enable/disable logic

  • radv: do not translate polygon mode during gfx info initialization

  • radv: do not translate logic op during gfx info initialization

  • radv: do not translate blend op/factor during gfx info initialization

  • radv: do not translate primitive topology during gfx info initialization

  • radv: slightly change the color write enable mask

  • radv: call vk_graphics_pipeline_state_fill() when initializing gfx pipelines

  • radv: convert radv_tessellation_info to vk_tessellation_state

  • radv: convert radv_viewport_info to vk_viewpoert_state

  • radv: convert radv_discard_rectangle_info to vk_discard_rectangles_state

  • radv: convert radv_rasterization_info to vk_rasterization_state

  • radv: convert radv_depth_stencil_info to vk_depth_stencil_state

  • radv: convert radv_fragment_shading_rate_info to vk_fragment_shading_rate_state

  • radv: convert radv_input_assembly_info to vk_input_assembly_state

  • radv: convert radv_multisample_info to vk_multisample_state

  • radv: convert radv_color_blend_info to vk_color_blend_state

  • radv: convert radv_rendering_info to vk_render_pass_state

  • radv: convert radv_vertex_input_info to vk_vertex_input_state

  • radv: remove radv_graphics_pipeline_info completely

  • radv: advertise VK_KHR_global_priority

  • radv: remove unused pCreateInfo from radv_pipeline_init_blend_state()

  • radv: add radv_graphics_pipeline_import_info() helper

  • radv: introduce a new pipeline type for graphics libs

  • radv: store vk_graphics_pipeline_state to radv_graphics_pipeline

  • radv: prevent accessing rasterization state when it’s NULL

  • radv: add a very initial implementation of VK_EXT_graphics_pipeline_library

  • radv: do not compress DCC in presence of render loops on GFX10+

  • radv: remove useless check when creating the noop FS

  • radv: copy linked I/O info for merged stages in radv_fill_shader_info

  • radv: copy the whole radv_shader_info struct for merged stages

  • radv: add a radv_postprocess_nir() helper

  • radv: move lowering FS intrinsics to radv_postprocess_nir()

  • radv: move dumping NIR shaders to the previous similar loop

  • radv: remove unused parameter in radv_lower_io_to_mem()

  • radv: use NIR_PASS with radv_export_implicit_primitive_id

  • radv: remove useless parameter from radv_link_shaders()

  • radv: add radv_remove_point_size() linking helper

  • radv: rework linking shaders in NIR

  • radv: move assigning driver locations to the new linking helpers

  • radv: move lowering patch vertices to radv_pipeline_link_tcs()

  • radv: move lowering the view index to radv_pipeline_link_shaders()

  • radv: remove redundant assignment of tcs.tcs_vertices_out

  • radv: remove unused tcs_vertices_out assignment for VS

  • radv: remove unused num_tess_patches assignment for VS

  • radv: merge gather_tess_info() with radv_fill_shader_info()

  • radv: stop setting CB_COLOR_CONTROL.ROP3 from the pipeline

  • radv: stop clearing bitfields for registers that are emitted dynamically

  • radv: cleanup dynamic states in radv_emit_graphics_pipeline()

  • radv: stop emitting RMW context registers for updating sample locations

  • radv: re-emit viewports if negative one to one or depth clamp mode changed

  • radv: remove bogus assertion about independent set layouts with GPL

  • radv: fix missing initialization of the pipeline layout when creating a lib

  • radv: destroy the pipeline layout if creating a library failed

  • aco: fix wrong size for 1D images and A16 on GFX9

  • ac: constify ac_compute_cs_workgroup_size()

  • radv: stop duplicating radv_es_output_info

  • radv: use esgs_itemsize when calling ac_nir_lower_es_outputs_to_mem

  • radv: compute the ESGS itemsize outside of radv_nir_shader_info_pass()

  • radv: remove dead code about task ring when binding a compute pipeline

  • radv: replace cs.uses_task_rings by ms.has_task

  • radv/llvm: remove unused parameter in handle_vs_outputs_post()

  • radv: stop duplicating radv_vs_output_info

  • radv: fill radv_vs_output_info unconditionally for vertex related stages

  • radv: remove redundant VS output parameter assignments

  • radv: add a helper that links shader info between stages

  • radv: link primitive ID/clip distance shader info from the new helper

  • radv: stop gathering info for FS before other stages

  • radv: move filling cs.block_size

  • radv: add gather_shader_info_fs() helper

  • radv: add gather_shader_info_mesh() helper

  • radv: add gather_shader_info_gs() helper

  • radv: add gather_shader_info_tes() helper

  • radv: add gather_shader_info_tcs() helper

  • radv: add gather_shader_info_vs() helper

  • radv: add gather_shader_info_cs() helper

  • radv: add gather_shader_info_task() helper

  • radv: move more CS info to gather_shader_info_cs()

  • radv: move more MS info to gather_shader_info_ms()

  • radv: move determining NGG shader info to radv_fill_shader_info()

  • radv: store binning settings into the physical device

  • radv: make sure to emit BREAK_BATCH when color write enable is dynamic

  • radv: remove useless parameter in si_write_scissors()

  • radv: split emitting guardband into a separate helper

  • radv: rework dirtying scissors when the line width changes

  • radv: emit the guardband state separately from the scissor state

  • radv: allow null descriptor set layouts in pipeline layouts

  • radv: determine if the topology uses adjacency from the shaders on GFX9+

  • radv: fix bogus assertion with RADV_FORCE_VRS

  • aco: remove unused isel_context::tcs_num_patches

  • radv: stop setting as_ls for the TCS stage

  • radv: stop setting as_es for the GS stage

  • radv: stop setting num_tess_patches for the GS stage

  • radv: stop setting esgs_itemsize to the GS stage

  • radv: cleanup helpers that compute NGG info and GS info on GFX9+

  • radv: move computing wave_size/ballot_bit_size to the shader info pass

  • radv: move computing NGG info and GS info to radv_nir_shader_info_link()

  • radv: refactor radv_nir_shader_info_link()

  • radv: move determining other NGG settings in radv_link_shaders_info()

  • radv: simplify determining if NGG passthrough can be enabled

  • radv: cleanup computing the workgroup size for all stages

  • radv: add and use a helper that merges shader info for merged stages on GFX9+

  • radv: remove unused parameters in radv_fill_shader_info()

  • radv: determine as_ls/as_es in radv_link_shaders_info()

  • radv: constify radv_shader_info where it’s missing

  • radeonsi/ci: trigger radeonsi-raven-skqp for any RADV changes

  • radv: gather MRTs that are written by the fragment shader

  • radv: compact MRTs to save PS export memory space

  • radv: only expose sparseResidencyImage3D on GFX9+

  • radv: emit SQTT markers for RT related commands

  • radv: capture RT pipelines from the SQTT layer

  • radv: fix reporting RT shaders in RGP

  • radv: do not lower color exports for FS that need an epilog

  • radv: add radv_remove_color_exports() helper

  • radv: do not try to remove color exports for FS that need an epilog

  • radv: keep track of the code size for VS prologs and PS epilogs

  • radv: create a PS epilog from a library without the main FS

  • radv: add support for emitting and prefetching PS epilogs

  • radv: import PS epilog from libraries if present

  • radv: fix hw remapping of MRT holes with color attachments without export

  • radv: fix pipelineStageCreationFeedbackCount when it’s 0

  • radv: add a pointer to radv_shader_binary in radv_shader

  • radv/ci: re-enable dEQP-VK.renderpass2.depth_stencil_resolve.*_samplemask

  • radv: store the VS prologs/PS epilogs VA at upload time

  • radv: split upload_shader_part() in two parts

  • radv: store the binary to radv_shader_part

  • radv: upload the PS epilog in the existing pipeline BO

  • radv: reword a comment about dynamic states when rasterization is disabled

  • radv: emit the LDS size for TCS directly from the pipeline on GFX9+

  • radv: add radv_pipeline_key::dynamic_patch_control_points

  • radv: skip computing some tess info when patch control points is dynamic

  • radv: set workgroup_size to 256 when patch control points is dynamic

  • aco: prevent a division by zero when patch control points is dynamic

  • radv: add shader arguments for dynamic patch control points

  • radv: add ABI lowering support for dynamic patch control points

  • radv: pass the number of patch control points to si_get_ia_multi_vgt_param()

  • radv: move emitting PRIMGROUP_SIZE for <= GFX9 from the cmdbuf

  • radv: move emitting GE_CNTL for non-NGG pipelines from the cmdbuf

  • radv: implement dynamic patch control points

  • radv: advertise extendedDynamicState2PatchControlPoints

  • radv: stop setting redundant viewport/scissor for internal operations

  • radv: do not bind NULL graphics pipeline when restoring the meta state

  • radv: reset the compute pipeline when the saved one was NULL

  • radv: stop dirtying the graphics pipeline when restoring it

  • radv: stop checking for NULL pipelines in radv_CmdBindPipeline()

  • radv/ci: cleanup lists of failures/flakes

  • radv: disable VK_EXT_graphics_pipeline_library with LLVM

  • radv: rename radv_pipeline_key::vs::dynamic_vs_input to has_prolog

  • radv: prepare the VS input state for prologs created with GPL

  • radv: bind the VS input state for prologs created with GPL

  • radv: enable the VS prologs cache if graphicsPipelineLibrary is enabled

  • radv: do not remove PSIZ for VS when the topology is unknown

  • Revert “radv: upload the PS epilog in the existing pipeline BO”

  • nir: add nir_intrinsic_load_sample_positions_amd

  • radv: add nir_intrinsic_load_sample_positions_amd in the ABI

  • radv: run nir_opt_cse before lowering FS intrinsics

  • radv,aco: lower barycentric_at_sample in NIR

  • radv: do not link shaders when the next stage is unknown

  • radv: allow to build the main FS in a graphics pipeline library

  • radv,aco: do not compact MRTs if the pipeline uses a PS epilog

  • radv: rename radv_thread_trace_set_pstate() to radv_device_set_pstate()

  • radv: acquire pstate on-demand when capturing with RGP

  • radv: constify radv_lookup_user_sgpr()

  • radv: add radv_pipeline_key::dynamic_rasterization_samples

  • radv: declare shader arguments for the number of samples for FS

  • nir: add nir_load_rasterization_samples_amd

  • radv: lower nir_load_rasterization_samples_amd in ABI

  • nir,radv: pass the number of samples to load_sample_positions_amd

  • radv: add barycentric_at_sample lowering when the number of samples is dynamic

  • radv: emit the rasterization samples through an user SGPR if needed

  • radv: make sure to initialize wd_switch_on_eop before checking its value

  • radv: pass a VkSampler to write_sampler_descriptor()

  • radv: remove unnecessary radv_buffer_view::vk_format

  • radv: rework and rename radv_make_buffer_descriptor()

  • zink/ci: skip ext_external_objects from Piglit with RADV

  • zink/ci: skip arb_shader_clock with RADV

  • zink/ci: skip GLX tests with RADV

  • zink/ci: update list of expected failures with RADV on NAVI10

  • zink/ci: update list of flakes for Piglit with RADV on NAVI10

  • radv/ci: add piglit testing with Zink on NAVI10

  • radv: do not free the GS copy shader binary if created from a library

  • radv: import the GS copy shader from a library if present

  • radv: determine the last VGT api stage from the active_stages bitfield

  • radv: allow to build the pre-rasterization stages in a library

  • radv: remove useless gfx10_ngg_info::enable_vertex_grouping

  • radv: determine the last VGT api stage also for GPL

  • radv: use the maximum number of vertices per primitives for NGG with GPL

  • radv: enable NGG culling unconditionally for GPL but disable it dynamically

  • radv: rework multiview lowering in NIR slightly

  • radv: fix handling ViewportIndex with GPL

  • radv: fix handling primitive ID and clip/cull distances with GPL

  • radv: fix handling multiview with GPL

  • radv: fix emitting RBPLUS state when MRTs are compacted

  • radv: remove NULL checks when binding a graphics pipeline

  • radv: fix initializing the attribute mask for VS input state and GPL

  • radv: fix initializing the blend state for NULL render pass with GPL

  • radv: ignore shader stages that don’t need to be imported with GPL

  • radv: add a new drirc option to enable a unified heap on APUs

  • radv: enable the unified heap on APUs for Red Dead Redemption 2

  • radv: fix and rework shaders upload with GPL

  • radv: always re-emit patch control points when a pipeline with tess is bound

  • radv: move the disk cache to the vk_physical_device struct

  • radv: use SHA1_DIGEST_LENGTH in the pipeline cache

  • radv: do not create a noop FS when the FS is imported from a library

  • radv: discard the PS epilog when the pipeline doesn’t use a fragment shader

  • ac/llvm: add missing nir_intrinsic_bindless_image_atomic_{fmin,fmax}

  • radv: set SAMPLE_MASK_TRACKER_WATERMARK to 15 on GFX11

  • radv: use correct VGT_TESS_DISTRIBUTION settings on GFX11

  • radv: do not use memory for waiting for cache flushes on GFX11

  • radv: drop the ES vertex count requirement on GFX11

  • radv: add RADEON_FLAG_DISCARDABLE

  • radv: create and configure the ring BO for attributes

  • radv: declare shader arguments for attributes via memory

  • nir: add nir_intrinsic_load_ring_attr_{offset}_amd

  • radv: add lowering for nir_intrinsic_load_ring_attr_{offset}_amd

  • radv: allocate more space for pipeline statistics query on GFX11

  • ac: add radeon_info::has_vrs_ds_export_bug

  • radv: advertise fragmentShadingRateWithShaderDepthStencilWrites on NAVI23+

  • aco: fix tcs_wave_id unpacking on GFX11

  • radv: declare new dynamic states

  • radv: add support for dynamic polygon mode

  • radv: add support for dynamic tessellation domain origin

  • radv: add support for dynamic logic op enable

  • radv: add support for dynamic line stipple enable

  • radv: add support for dynamic alpha to coverage enable

  • radv: add support for dynamic sample mask

  • radv: add support for dynamic depth clip enable

  • radv: add support for dynamic conservative rasterization mode

  • radv: add support for dynamic depth clip negative one to one

  • radv: add support for dynamic provoking vertex mode

  • radv: add support for dynamic depth clamp enable

  • radv: advertise VK_EXT_extended_dynamic_state3

  • radv: disable VK_AMD_texture_gather_bias_lod on GFX11

  • radv: disable AMD_shader_explicit_vertex_parameter on GFX11

  • radv/llvm: do not set COMPR for exports on GFX11

  • ac/nir,radv/llvm: add support for the attribute ring

  • aco,radv/llvm: do not export parameters on GFX11

  • ac: fix has_vrs_ds_export_bug for VanGogh

  • radv: disable {shader,sparse}ImageFloat32AtomicMinMax on GFX11

  • radv: disable shaderBufferFloat64AtomicMinMax on GFX11

  • radv: disable dual source blending in more situations

  • ac/llvm: add support for device clock on GFX11

  • aco: add support for s_sendmsg_rtn_b{32,64}

  • aco: split the sendmsg enumeration into sendmsg_rtn

  • aco: add support for device clock on GFX11

  • ac/nir/ngg: fix emitting streamout output by using packed location

  • radv: fix suspending/resuming pipeline statistics queries with GDS

  • radv: fix VRS limit when attachmentFragmentShadingRate is disabled

  • radv/llvm: fix dual source blending on GFX11

  • radv: move nir_opt_idiv_const/nir_lower_idiv after NGG lowering

  • ac/nir/ngg: fix emitting streamout output by using packed location

  • radv: implement transform feedback queries with NGG streamout

  • Revert “radv: add a pointer to radv_shader_binary in radv_shader”

  • aco: create a new builder variant for ds_add_rtn

  • aco: implement NIR intrinsics for NGG streamout

  • aco: remove invalid assertions for NGG streamout

  • radv/llvm: prevent emitting streamout outputs for NGG

  • radv: call nir_io_add_intrinsic_xfb_info() after IO lowering

  • radv: lower NIR intrinsics for NGG streamout

  • radv: do not unconditionally disable NGG streamout lowering in NIR

  • radv: reword an incorrect comment about primitives generated query

  • radv: use 32-bit GDS counters for primitives generated query with NGG

  • radv: suspend/resume primitives generated query separately for legacy/NGG

  • radv: fix primitives generated query with NGG only

  • radv: set the correct buffer size for NGG streamout

  • radv: enable all possible features with NGG streamout

  • radv: allow to enable NGG streamout with RADV_PERFTEST=ngg_streamout

  • radv: enable VK_EXT_transform_feedback with NGG streamout on GFX11

  • ac/nir: stop using nir_gather_xfb_info_from_intrinsics

  • radv: assign IO var locations for VS/TES with NGG streamout

  • radv/amdgpu: add a kernel GDS management workaround for -ENOMEM

  • radv: use defines instead of magic values for GDS counters offset

  • radv: move GDS counters after reserved GDS offsets for streamout

  • radv: fix fallback for extreme geometry with tessellation on GFX11

  • radv: fix setting MIN_LOD for texture descriptors on GFX11

  • radv: make the GDS/GDS OA buffer objects resident

  • radv: invalidate L2 instead of only writeback L2 when using DCC stores

  • radv: re-emit the guardband state when restoring meta operations

  • ac/nir,radv: rework and fix NGG queries enables for VS/TES

  • ac/nir: do not convert GS outputs to the expected variable size on GFX11

  • radv: re-emit NGG culling settings when conservative rast mode is dynamic

  • radv: enable lowering of subgroup shuffle in NIR on GFX11+

  • aco: fix p_interp_gfx11 to not overwrite SCC

  • aco: fix missing SCC for p_interp_gfx11 in emit_interp_mov_instr()

  • aco: add p_dual_src_export_gfx11 for dual source blending on GFX11

  • aco: fix dual source blending on GFX11

  • aco: fix FS inputs loads in WQM with 16-bit

  • radv: suspend/resume XFB queries with NGG for meta operations

  • zink: require extendedDynamicState3ColorBlendEquation for full ds3

  • radv: stop overallocating LDS for VS/TES when NGG streamout is enabled

  • radv: fix computing the pervertex LDS size with NGG streamout

  • radv: enable NGG XFB queries only if streamout is enabled

  • radv: re-mit streamout buffers to unbind them when NGG streamout is disabled

  • radv: fix NGG streamout when it’s never enabled in runtime

  • radv: fix possible hangs with NGG streamout and secondary cmdbuf

  • aco: fix emitting DEALLOC_VGPRS in the discard block

  • radv: re-emit dynamic depth clamp enable if depth clip enable changed

  • radv: make sure to mark DCC as compressed on GFX11

  • radv: introduce RADV_DEBUG=nofmask

  • radv: set missing SPI_SHADER_PGM_xxx registers on GFX11

  • radv: set INTERPOLATE_COMP_Z to 0 on GFX11

  • radv: do not enable DCC for MSAA images without FMASK

  • radv: do not enable NGG culling on GFX11

  • radv: disable VRS entirely on GFX11

Sarah Walker (3):

  • pvr: Update FWIF compute register structure

  • pvr: Remove STRIP_RENDERING members from FWIF

  • pvr: Update FWIF 3d and compute register structures

Sathishkumar S (2):

  • frontends/va: support yuv 400/444 rt_formats in vaconfig

  • frontends/va: reallocate surface for yuv400/yuv444 picture

Sergei Chernyadyev (1):

  • radv: fix setting results for initialization failures in thread trace and trap handler

Shuicheng Lin (1):

  • iris: return failure if iris_resource_configure_main fail

Sil Vilerino (76):

  • gallium/va: vaDeriveImage to check PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP

  • d3d12: Implement cap PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP

  • frontends/va: Add HEVC decode slice descriptors

  • frontends/va: Add HEVC decode args: IntraPicFlag, no_pic_reordering_flag, no_bipred_flag

  • frontends/vdpau: Fill HEVC Decode param IntraPicFlag

  • frontends/omx: Fill HEVC Decode param IntraPicFlag

  • frontends/va: Mark IsLongTerm in HEVC decode args

  • frontends/va: Add HEVC Encode support multi slice and extend pipe args

  • frontends/va: Extend single to multiple L0-L1 references for HEVC Encode

  • frontends/va: Support HEVC caps regarding features, block sizes, prediction direction

  • d3d12/va: Name convention rename PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP to PIPE_VIDEO_CAP_SUPPORTS_CONTIGUOUS_PLANES_MAP

  • gallium/vl: Allow vl_zscan.h to be included from C++

  • gallium/vl: Rename s_addr variable in vl_idct.c as it conflicts with windows existing inaddr.h keyword definition

  • d3d12: Add HEVC Decode/Encode

  • d3d12: Avoid extra allocation, copies when generating DXVA_Slice_Hxxx_Short arrays

  • d3d12: Avoid local allocations for D3D12_RESOURCE_BARRIER on hot paths

  • d3d12: Avoid heap allocations on hot path d3d12_video_decoder_dxva_picparams_from_pipe_picparams_hevc

  • d3d12: Fill feedback in d3d12_video_encoder_encode_bitstream so vaSyncSurface properly populates buf->coded_size

  • d3d12: Fix leak in d3d12_video_proc when re-creating ID3D12VideoProcessor

  • d3d12: Fix winsys displaytarget leak in d3d12_resource

  • d3d12: Fix leak in d3d12_resource_from_resource and usage in d3d12 video dec, enc

  • d3d12: Add support for importing d3d12_video_buffer from handle

  • d3d12: Allow formats other than NV12 in d3d12_video_buffer

  • d3d12: Allow video processing for formats other than NV12

  • d3d12: Add VPBlit processor check for D3D12_FEATURE_VIDEO_PROCESS_MAX_INPUT_STREAMS

  • d3d12: d3d12_video_buffer_create_impl make resident after checking for resource creation

  • frontends/va: Implement vaSyncBuffer

  • d3d12: Update HEVC Encode GOP on I frames too

  • d3d12: Video process - Remove unnecessary batches flush

  • d3d12: Add initialization values for d3d12_video_encoder

  • d3d12: Report PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME

  • d3d12: Add support for PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION

  • d3d12: Change type of m_FenceValue to uint64_t in d3d12_video_encoder

  • d3d12: Export some util functions from d3d12_fence for d3d12 video

  • d3d12: Keep track of feedbacks from previous encode executions

  • d3d12: Change d3d12_video_encoder to not automatically flush

  • d3d12: Move encode configuration and capabilities into separate structs

  • d3d12: Encoder to use independent command allocators per in flight resource set

  • d3d12: d3d12_video_encoder add reset() to prevent leaks on re-allocation

  • d3d12: Have d3d12_video_encoder keep separate references for enc, heap and dpb allocations for in flight resources

  • d3d12: Make d3d12 encode operations async and do not block waiting

  • d3d12: Add output buffer to inflight resourceset

  • d3d12: Fix redundant/inconsistent initializations for d3d12_video_encoder

  • d3d12: Enhance get_feedback not enough buffers message

  • d3d12: Extract into common variable for metadata slot calculation

  • d3d12: Make get_feedback return correctly on error when writing *size=0

  • d3d12: Relax slice caps requirements for video encode

  • d3d12: Fix out of bounds index check for texture array DPB

  • d3d12: Add debug verbosity for output reconstructed picture

  • d3d12: Fix texture array DPB encode path

  • d3d12: Fix usage of %ld with PRIu64 instead for cross-platform build

  • d3d12: Replace size_t with uint64_t in d3d12_video_encoder definitions for cross-plat compatibility

  • frontends/va: Add more params from VADecPictureParameterBufferAV1 and VASliceParameterBufferAV1 to pipe_av1_picture_desc

  • frontends/va: Support AV1 Decode with multiple tiles (num_elements > 1) in a single VASliceParameterBufferAV1 buffer

  • frontends/va: Use is_video_format_supported in vlVaVidEngineBlit instead of format list

  • frontends/va: Fix AV1 decode qm_* parameters reading from VADecPictureParameterBufferAV1

  • d3d12: Add support for AV1 Video Decode

  • d3d12: Support more video formats

  • d3d12: Fix aliased usage of m_SliceControlBuffer in d3d12_video_decoder_prepare_dxva_slices_control_XXXX

  • d3d12: Style variable fix in d3d12_video_decoder_prepare_dxva_slices_control_av1

  • frontends/va: Add VP9 decode multi slice information

  • frontends/va: Add VP9 decode ref/mode_deltas information

  • d3d12: Add VP9 Decode support

  • d3d12: Fix get_index7bits - Reuse previously freed indices

  • d3d12: HEVC Encode workaround for edge case in caps reporting not contemplated by upper layer interface

  • d3d12: Fix HEVC wrong caps detection due to bad parenthesis in condition

  • d3d12: HEVC Set D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_ASYMETRIC_MOTION_PARTITION when required by caps

  • gallium/vl: Add vl_winsys_win32 support

  • frontends/va: Add windows VA frontend support via vl_winsys_win32 and libva-win32

  • d3d12: resource_from_handle to validate importing resource ptr from same d3d12 device

  • CI: Add gallium-va and video-codecs in windows-vs2019 and debian-mingw32-x86_64

  • d3d12: Create d3d12_resource objects for video usage keeping their DXGI_…_UNORM formats

  • d3d12: HEVC Decode - Fix slice size and offsets translation from VA to DXVA

  • frontend/va: Fix WIN32 VA_DRIVER_INIT_FUNC declaration. Remove declspec as it uses .def file

  • ci: Add va frontend to windows-build-rules

  • d3d12: Video Screen - Do not crash if HEVC not supported, return no support instead

Simon Fels (1):

  • venus: drop duplicated YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT

Simon Ser (2):

  • vulkan/wsi/x11: detect Xwayland via the XWAYLAND extension

  • egl: fix error string for dri2_create_image_dma_buf()

Simon Zeni (10):

  • mesa: fix EXT_EGL_image_storage target validation

  • gallium: track if st_egl_image was created by a dmabuf

  • mesa: simplify st_egl_image binding process for texture storage

  • mesa/st: check egl image and texture target match before binding

  • mesa: fix GL_INVALID_OPERATION in glEGLImageTargetTexStorageEXT

  • mesa: unlock texture on error path in glEGLImageTargetTexStorageEXT

  • egl: fix Xlib include in egldisplay.h

  • egl: set API symbols public

  • EGL: sync headers with Khronos

  • meson: remove unused EGL_NO_X11 definition

Sonny Jiang (1):

  • radeonsi/vcn: add decode support for gfx1101 and gfx1103

SoroushIMG (22):

  • zink: Fix incorrect emission of SPIR-V shift ops

  • zink: track min_samples state for per sample shading

  • zink: lower 64bit vars for drivers without float64

  • zink: optimise lower_64bit_vars for when int64 is supported

  • zink: lower 64bit pack when float64 not supported

  • zink: fix nir_op_unpack_64_2x32 emission

  • zink: fix spirv temp func variable class emission

  • nir: track whether a loop contains soft fp64 ops

  • nir: allow to fine tune unrolling for loops with soft fp64 ops

  • zink: enable loop unrolling for loops that have soft fp64

  • zink: enable native ETC2 if vk driver supports it

  • zink: fix invalid Offset set for variables which do not need an offset

  • zink: stop enabling minmax filtering when not supported

  • zink: fix isNan mismatch between NIR and SPIR-V

  • lavapipe: stop allocating 0 size const buffer

  • zink: cleanup pushconst interface between driver/compiler

  • zink: use unified pushconst layour for passthorugh tcs

  • zink: cleanup zink_pipeline_layout_create

  • zink: add pushconst only pipeline layout

  • zink: add new framebuffer_is_layered state

  • zink: clamp gl_Layer output to 0, if framebuffer is not layered

  • zink: limit gl_Layer clamping to drivers that need it

Sunil Khatri (1):

  • winsys/amdgpu: clamp up the alignment if zero

Sviatoslav Peleshko (2):

  • iris: Always initialize shader compilation queue ready fence

  • driconf/intel: Use fake vendor to WA bad detection in Source engine games

Tapani Pälli (40):

  • glsl: allow image*Shadow keywords on ES and GLSL >= 420

  • glsl: add check for too large atomic counter buffer offset

  • iris: implement Wa_14015946265 for DG2

  • anv: implement Wa_14015946265 for DG2

  • intel/compiler: implement Wa_14014595444 for DG2

  • intel/compiler: fix assert from ver to verx10

  • intel/genxml: add VFG_PREEMPTION_CHICKEN_BITS register

  • anv: disable preemption on VFG, Wa_14015207028 for DG2

  • iris: disable preemption on VFG, Wa_14015207028 for DG2

  • anv: remove vk_sample_locations_state from emit_multisample

  • intel/common: clamp sample location coordinate range

  • anv: remove primitive_topology from 3DPRIMITIVE calls

  • mesa/st: fix a set_sampler_views call parameter order

  • anv: implement Wa_14016118574

  • iris: implement Wa_14016118574

  • anv: limit to default fast clear color when image used for transfer

  • intel: revert preemption disable via VFG changes

  • intel/fs: mark debug variables with ASSERTED

  • anv: mark debug variables with ASSERTED

  • mesa: mark debug variables with ASSERTED

  • anv: dynamic state for polygon mode

  • anv: dynamic state for tessellation domain origin

  • anv: dynamic rasterization stream

  • anv: dynamic line stipple enable

  • anv: dynamic line rasterization mode

  • anv: dynamic state for logic op enable

  • anv: dynamic alpha to one enable

  • anv: dynamic states for depth clip and clamp

  • anv: dynamic provoking vertex mode

  • anv: dynamic color write mask

  • anv: dynamic color blend equation

  • anv: dynamic multisample sample mask

  • anv: toggle on EXT_extended_dynamic_state3

  • anv: move emit_shading_rate to gfx8_cmd_buffer

  • anv: fill AlphaToCoverageEnable lazily from state

  • intel/compiler: run nir_opt_idiv_const before nir_lower_idiv

  • anv: remove some unused functions

  • hasvk: remove some unused functions

  • iris: setup stage bitmask for Wa_22011440098

  • anv: setup stage bitmask for Wa_22011440098

Tatsuyuki Ishi (4):

  • radv: Implement radv_flush_before_query_copy to workaround UE Vulkan bugs.

  • radv: Remove unused functions.

  • radv: Remove unused radv_deferred_queue_submission.

  • radv,lvp,anv: Delete pre-common dispatch leftover.

Thomas Debesse (7):

  • r600: set clear_buffer = u_default_clear_buffer

  • r600: info.stage MESA_SHADER_KERNEL as MESA_SHADER_COMPUTE

  • nv50: call nir_lower_flrp

  • clover: implement CLOVER_DEVICE_TYPE like RUSTICL_DEVICE_TYPE

  • Revert “gallium/clover: pass -no-opaque-pointers to Clang”, opaque pointers are now implemented

  • gallium/clover: pass -opaque-pointers to Clang on LLVM 15 and 16

  • crocus: set clear_buffer = u_default_clear_buffer

Thomas H.P. Andersen (15):

  • nvc0: fix a warning -Wconstant-conversion

  • radeonsi: avoid a use-after-free

  • d3d12: fix warnings for missing-braces on clang

  • r600: fix warnings for missing-braces on clang

  • ci: remove missing-braces from no-error

  • util: avoid deprecated builtin has_trivial_destructor

  • spirv: avoid allocating memory twice

  • hasvk: Switch to the common descriptor update template struct

  • panvk: Implement VK_KHR_descriptor_update_template

  • spirv: mark function unused

  • llvmpipe: mark function unused

  • llvmpipe: drop unused function

  • panfrost: avoid warning about unused function

  • vulkan: avoid warning about unused function

  • vulkan: drop const for descriptor set

Timothy Arceri (24):

  • Revert “nir: Preserve offsets in lower_io_to_scalar_early”

  • glsl: dont lower precision for textureGatherOffsets

  • glsl: make packed varying helper needs_lowering() external

  • glsl: fix location for array subscript

  • nir: update nir_is_supported_terminator_condition()

  • nir: support loop unrolling with inot conditions

  • glsl: remove GLSL IR inverse comparison optimisations

  • nir/loop_analyze: delay instruction cost calculation

  • nir/loop_analyze: remove cost of redundant selects

  • util/conf: enable init to zero workaround for Exanima

  • util/radeonsi: enable zerovram workaround for Exanima

  • radv: add radv_zero_vram workarounds for OpenGL games

  • glthread: fix matrix stack depth tracking

  • mesa: add EXT_debug_label support

  • glthread: leave dlist dispatch in place for Begin/End

  • glsl/glsl_to_nir: remove unreachable code

  • glsl: move rule inside lower_packing_builtins()

  • glsl: drop sub to add neg lowering in GLSL IR

  • glsl: always do {CARRY,BORROW}_TO_ARITH lowering

  • glsl: move lower instructions logic inside that pass

  • st/glsl_to_ir: remove stale comment

  • st/glsl_to_ir: remove stale include

  • mesa: fix typo from adding glGetObjectLabelEXT

  • nir: fix typo in lower_double options handling

Timur Kristóf (64):

  • ac/nir/cull: Move some code from cull_bbox into helper functions.

  • ac/nir/cull: Move the contents of cull_bbox into ac_nir_cull_triangle.

  • ac/nir/cull: Change if condition for bounding box culling.

  • ac/nir/ngg: Move LDS store of accepted flag into the inner branch.

  • ac/nir/cull: Make cull functions more consistent.

  • aco: Optimize branching sequence during SSA elimination.

  • aco: Remove branch instruction when exec is constant non-zero.

  • ac/nir/cull: Tweak phi for cull_small_primitive branch.

  • ac/nir/cull: Fix typo in bounding box culling.

  • aco: Add faster code path to store_lds for consecutive write mask.

  • aco: Fix invalidated reference in branching sequence optimization.

  • aco: Check for instructions that inhibit the branching sequence optimization.

  • aco/optimizer_postRA: Don’t try to optimize dead instructions.

  • aco: Support s_cselect_b64 in SCC no-compare optimization.

  • aco: Improve SCC nocompare optimization when SCC is clobbered.

  • aco: Fix p_init_scratch for task shaders.

  • vulkan, spirv: Update to Vulkan 1.3.226 and latest SPIR-V headers.

  • spirv: Support EXT_mesh_shader indices and mark them per-primitive.

  • spirv: Add mesh_shading capability for EXT_mesh_shader.

  • spirv: Support EXT_mesh_shader mesh/task stages.

  • spirv: Support EXT_mesh_shader SetMeshOutputsEXT.

  • spirv: Support the CullPrimitiveEXT mesh shader built-in.

  • spirv: Support TaskPayloadWorkgroupEXT storage class.

  • spirv, nir: Handle EmitMeshTasksEXT opcode.

  • ac/nir/ngg: Add EXT_mesh_shader primitive indices.

  • ac/nir/ngg: Add EXT_mesh_shader CullPrimitiveEXT output.

  • ac/nir/ngg: Add EXT_mesh_shader vertex/primitive count.

  • radv: Implement EXT_mesh_shader draw calls.

  • radv: Enable EXT_mesh_shader on RDNA2 with RADV_PERFTEST=ext_ms

  • nir/lower_system_values: Add shortcut for 1D workgroups.

  • nir/gather_info: Clear cross-invocation output mask.

  • radv: Replace NV_mesh_shader macros with EXT.

  • radv: Enable subgroup feature bits for mesh and task shaders.

  • radv: Change max preferred task workgroup invocations to 64.

  • radv: Remove dead shader temps after linking.

  • ac/nir/ngg: Don’t use LDS for same-invocation indices and cull outputs.

  • ac/nir/ngg: Don’t initialize same-invocation mesh shader outputs.

  • aco/tests: Add post-RA optimizer testcase for partially overwritten VCC.

  • aco/tests: Add post-RA DPP test cases with control flow.

  • aco/tests: Add post-RA SCC no-compare tests cases with control flow.

  • aco/optimizer_postRA: Mark a register overwritten when predecessors disagree.

  • aco/optimizer_postRA: Don’t assume all operand registers were written by same instr.

  • aco/optimizer_postRA: Fix logical control flow handling.

  • aco/optimizer_postRA: Clarify terminology.

  • aco: Change inverse-comparison optimization to work with s_not

  • spirv: Treat EmitMeshTasksEXT as a terminating instruction.

  • radv: Use a fallback for marketing name when libdrm doesn’t know it.

  • ac/nir/ngg: Fix cross-invocation indices and cull outputs.

  • aco: Fix build error with std::max on GCC 12

  • nir: Document the flatten/dont_flatten selection control options.

  • nir: Add selection control enum for always taken divergent branches.

  • aco: Allow explicitly removing jumps on GFX10+ when beneficial.

  • ac/nir/ngg: Remove jumps from some branches where we know LGKMCNT==0.

  • ac/nir/tess: Remove jump from tess factor writes.

  • nir, ac, aco: Add ACCESS intrinsic index to load/store_buffer_amd.

  • aco: Cleanup load_vmem_mubuf and store_vmem_mubuf functions.

  • nir, ac, aco: Add index src to load_buffer_amd/store_buffer_amd.

  • aco: Optimize MUBUF 0 offset when idxen is also being used.

  • aco/optimizer_postRA: Use unique_ptr + array for instruction indices.

  • aco/optimizer_postRA: Speed up reset_block() with predecessors.

  • aco/optimizer_postRA: Properly handle vccz/execz/scc in reset_block.

  • aco/optimizer_postRA: Delete dead instructions more efficiently.

  • aco: Move is_dead to aco_ir.h to allow it to get inlined.

  • aco: Add ACO_DEBUG=novalidateir option.

Tomeu Vizoso (16):

  • radeonsi/ci: Move libva and piglit jobs to Raven Ridge boards

  • radv/ci: Put one more board to run the CTS on Stoney Ridge

  • iris/ci: Test on Jasper Lake Chromebooks

  • iris/ci: Set FDO_CI_CONCURRENT for all Chromebook jobs

  • ci: Report failures to GitLab for LAVA jobs

  • ci: Make sure that the Crosvm control socket has been removed

  • Revert “ci: set venus on lavapipe to manual due to flakes”

  • ci: Crosvm won’t remove the control socket file on stop

  • Revert “Revert “Revert “ci: set venus on lavapipe to manual due to flakes”””

  • ci: Uprev ci-templates

  • ci: Use –no-install-recommends to avoid problems with –no-remove

  • ci: Install sysvinit-core without –no-remove

  • ci: Stop explicitly passing env vars to FDO_DISTRIBUTION_EXEC command

  • gallium: Add PIPE_CAP_QUERY_TIMESTAMP_BITS

  • ci: Run RadeonSI jobs on changes to src/amd/ci

  • radeonsi,radv/ci: Increase coverage

Victor Hermann Chiletto (1):

  • radv: refactor descriptor set layout tracking

Vinson Lee (10):

  • bin/perf-annotate-jit.py: Update to Python 3.

  • zink: Remove duplicate variable zero.

  • pan/bi: Fix memory leaks.

  • egl/dri2: Fix missing return with dri2_egl_error_unlock.

  • radv: Use count_tes_user_sgprs return value.

  • d3d12: Initialize d3d12_video_encoder_references_manager_hevc::m_current_frame_idx.

  • radv: Fix file descriptor leak.

  • zink: Remove duplicate variable zm.

  • r600/sfn: Initialize TestInstrFromString member m_instr_factory.

  • v3d: Fix initializer-overrides warning.

Väinö Mäkelä (1):

  • hasvk: Correctly set NonPerspectiveBarycentricEnable on gfx7

Xin LI (1):

  • meson: Improve detection of qsort_r().

Yiwei Zhang (52):

  • venus: increase busy wait order in vn_relax

  • venus: double the abort timeout to allow long shader compiles

  • venus: fix external memory ext filtering

  • venus: require necessary extensions for common wsi support

  • venus: avoid feedback for external fence

  • venus: use a separate sync fence for Android wsi

  • venus: lazily create queue wait fence and make it non-external

  • venus: avoid pre-allocating the feedback pool

  • venus: sync to latest venus protocol headers for syncFdFencing

  • venus: stub out renderer sync_fd fencing features

  • venus: put android wsi on the sub-optimal path

  • venus: fix vn_GetFenceFdKHR

  • venus: fix vn_GetSemaphoreFdKHR

  • venus: query renderer sync_fd props to fill the feature stubs

  • venus: re-implement sync_fd external fence

  • venus: re-implement sync_fd external sempahore

  • venus: avoid scrubing wsi/external sempahores

  • venus: allow no external memory handle when renderers lacks support

  • venus/ci: mark a test as flake

  • venus: some clang format fixes

  • venus: enable zink required extensions on Android

  • venus: enable KHR_driver_properties on Android

  • venus: double the abort timeout

  • loader: use os_get_option for driver override

  • zink: fix core support on Android

  • zink: fix zink_create_fence_fd to properly import

  • zink: fix in-fence lifecycle

  • zink: implement fence_get_fd required by EGL android platform

  • venus: clean up vn_QueueSubmit

  • venus: force synchronous submission for external signal semaphore

  • venus: fix an oob in descriptor pool state restoration

  • venus: vn_ResetDescriptorPool to reset mutable type states

  • venus: zero out the pipeline handles

  • venus: avoid fixing pipeline if not derivative

  • venus: ignore pInheritanceInfo if not secondary command buffer

  • venus: ensure to clear VkPipelineCreationFeedback::flags if needed

  • mesa/st: emit string marker based on PIPE_CAP_STRING_MARKER

  • meson: libelf is optional

  • venus/ci: remove redundant crosvm patch

  • venus: move vendor ext to bottom and sort the ext list

  • docs: update venus extension support

  • docs: move VK_EXT_extended_dynamic_state3 out from 1.3

  • ci/venus: enable render server for venus testing

  • venus: avoid accessing local var in VN_ADD_EXT_TO_PNEXT_OF

  • venus: remove redundant codes

  • venus: handle VkAndroidHardwareBufferFormatProperties2ANDROID

  • venus: sync to latest venus protocol headers

  • venus: add VK_EXT_primitives_generated_query support

  • venus: add VK_EXT_depth_clip_control support

  • docs: update to latest venus driver support

  • venus: handle VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT

  • venus: fix android wsi with global fencing disabled

Yonggang Luo (218):

  • meson: Place all pre_args about HAVE_DRI* into single place

  • meson: Cleanup usage dri_drivers as it’s a dead option

  • d3d12: Fixes compile error with mingw/gcc-x64 when static linkage to runtime library

  • meson: clc compiler test only works on win32

  • microsoft/clc: Fixes compiling errors with clang/mingw64 in clc/clc_compiler_test.cpp

  • util: open_memstream also support on MacOS

  • c11: Fixes the declaration of timespec_get in time.h for macOS

  • egl: Remove eglextchromium.h and import eglext_angle.h

  • egl: wire up ANGLE_sync_control_rate

  • egl/x11: Split declaration of dri2_format_for_depth into header platform_x11.h

  • egl/x11: implement ANGLE_sync_control_rate

  • ci/windows: Setup proper MESA_IMAGE_TAG for Windows build/test image

  • c11: It’s should detect PTHREAD_DESTRUCTOR_ITERATIONS when define TSS_DTOR_ITERATIONS

  • c11: call impl_tss_dtor_invoke with tls callback for win32

  • c11: Implement and use of thrd_current properly on win32

  • util: Implement util_thread_get_time_nano on win32

  • util: Fixes typo in function os_get_total_physical_memory

  • util: Implement os_get_available_system_memory on Win32

  • util: Use `DETECT_OS_WINDOWS` instead `WIN32` in u_process.c

  • util: Enable tests that disabled for msvc/mingw

  • zink: Use DETECT_OS_WINDOWS instead of ‘WIN32’

  • meson: Enable graw tests on mingw

  • util: Add os_create_anonymous_file support on win32

  • nine: Fixes compile of nine_pipe.h with clang ../../src/gallium/frontends/nine/nine_pipe.h:377:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] default: ^ ../../src/gallium/frontends/nine/nine_pipe.h:377:9: note: insert ‘break;’ to avoid fall-through default:

  • panfrost: Do no use designated initializer for union

  • intel: Fixes compile error of aubinator_viewer.cpp with gcc

  • util: Fixes memory leak in create_cache_item_header_and_blob

  • util: Fixes memory leak in u_printf_test.cpp

  • util: Fixes invalid assumption that return non null by function util_format_fetch_rgba_func

  • util: Disable usage of __attribute__((__const__)) when the compiler is clang

  • ci: Improve MacOS github ci

  • ci: Enable llvmpipe on MacOS

  • c11: Remove mtx_try from mtx enums as it’s not a part of c11 standard

  • c11: #include <threads.h> when the os/platform provide it

  • anv: Fixes struct anv_device::info is not initialized with struct anv_physical_device

  • meson: Use different STRACEDIR folder for intel_devinfo_override_test

  • meson: add enable-glcpp-tests option

  • ci: disable glcpp tests for now

  • Revert “ci: disable unit tests”

  • util: Use literal instead call to list_inithead in u_queue.c

  • mapi: Remove unused ENTRY_CURRENT_TABLE_GET

  • mapi: Remove usage of _glapi_check_multithread and _glapi_destroy_multithread

  • mapi: Remove reference to unused _gl_DispatchTSD

  • mapi: Move shared _glapi_set_context and _glapi_set_dispatch into u_current.c

  • mapi: Move shared stub into u_current.c

  • mapi: Access _glapi_tls_Dispatch directly without need of macro

  • docs: Remove document about USE_ELF_TLS

  • mapi: Improve comment about _glapi_tls_Dispatch and _glapi_tls_Context

  • aco: Use unreachable instead assert(false)

  • amd/compiler: Fixes warning [-Wunused-variable] in test_to_hw_instr.cpp

  • amd/compiler: Fixes warning [-Wunused-variable] in test_optimizer_postRA.cpp

  • nir: Fixes [-Wdeprecated-declarations] in serialize_tests.cpp

  • util: Fix [-Wdeprecated-declarations] in mesa-sha1_test.cpp

  • glsl: Fixes [-Wdeprecated-declarations] in list_iterators.cpp

  • intel/compiler: Fixes [-Wdeprecated-declarations] in test_eu_compact.cpp

  • intel/compiler: Fixes [-Wdeprecated-declarations] in test_eu_validate.cpp

  • virgl: Fixes [-Wdeprecated-declarations] in virgl_staging_mgr_test.cpp

  • osmesa: Fixes [-Wdeprecated-declarations] in test-render.cpp

  • ci: Remove -Wno-error=deprecated-declarations cpp option from debian-clang

  • util: Remove unused rtasm_cpu_has_sse2

  • util: Rename util_cpu_detect to _util_cpu_detect_local

  • util: Improve has_sse has_sse2 has_sse3 has_sse4_1 has_avx disable handling

  • util: Handling GALLIUM_NOSSE in u_cpu_detect.c

  • util: Handling LP_FORCE_SSE2 in u_cpu_detect.c

  • llvmpipe: Remove the hack for LLVM4 in lp_bld_init.c

  • gallium: Fixes memory leak of translate_test.c

  • util: Use environment variable GALLIUM_OVERRIDE_CPU_CAPS to remove usage of util_cpu_caps in translate_test.c

  • util: Move detect_done out of struct util_cpu_caps_t

  • util: Add api util_call_once_with_context

  • util: Add extern “C” guard in simple_mtx.h

  • util: Remove the need of _MTX_INITIALIZER_NP in simple_mtx.h

  • meson/panfrost: Add dep_valgrind for libpanfrost_pixel_format to fixes the compiling error:

  • llvmpipe: Fixes warning [-Wimplicit-fallthrough] in lp_bld_swizzle.c

  • llvmpipe: Fixes warning [-Wimplicit-fallthrough] in lp_bld_sample_soa.c

  • radeonsi: Fixes warning [-Wimplicit-fallthrough] in si_descriptors.c

  • freedreno: Fixes warning [-Wimplicit-fallthrough] in freedreno_util.h

  • freedreno: Fixes warning [-Wimplicit-fallthrough] in fd4_texture.h

  • freedreno: Fixes warning [-Wimplicit-fallthrough] in fd2_texture.c

  • freedreno: Fixes warning [-Wimplicit-fallthrough] in fd3_texture.c

  • freedreno: Fixes warning [-Wimplicit-fallthrough] in fd5_texture.h

  • freedreno: Fixes warning [-Wimplicit-fallthrough] in fd5_emit.c

  • freedreno: Fixes warning [-Wimplicit-fallthrough] in fd6_emit.c

  • vdpau: Fixes warning [-Wimplicit-fallthrough] in vdpau_private.h

  • v3dv: Fixes warning [-Wimplicit-fallthrough] in v3dvx_pipeline.c

  • v3dv: Remove redundant unreachable in v3dvx_pipeline.c

  • st: Fixes warning [-Wimplicit-fallthrough] in st_texture.c

  • llvmpipe: Remove llvm version guard LLVM_VERSION_MAJOR <=> 4

  • meson: bump the minimal required llvm version to 5.0.0

  • util: Refactoring check_cpu_caps_override out

  • util: Add ssse3 and avx cpu caps override option

  • util: Move the detect of max_vector_bits into u_cpu_detect.c

  • util: add support for detecting avx512 vector bit size

  • llvmpipe: Always using util_get_cpu_caps to get cpu caps for llvm on x86

  • llvmpipe: Enable avx512 support in llvm

  • docs: document LP_NATIVE_VECTOR_WIDTH GALLIUM_OVERRIDE_CPU_CAPS GALLIUM_NOSSE LP_FORCE_SSE2

  • ci: EXTRA_OPTIONS -> EXTRA_OPTION for debian-clang

  • ci: Enable GALLIUM_DUMP_CPU=true only in the clang job

  • ci: Enable all possible meson build options for clang

  • ci: Add debian-clang-release build pipeline

  • ci/fedora: Re-enable vulkan-layers=device-select,overlay

  • gallium/hud: Fixes compile error in hud/hud_context.c:

  • util: Fixes comment about debug_get_option

  • mesa: direct use of mtx_recursive is not c11 conformance

  • radeonsi: direct use of mtx_recursive is not c11 conformance

  • svga: direct use of mtx_recursive is not c11 conformance

  • c11: Update the values of enum mtx_plain, mtx_recursive, mtx_timed to make sure mtx_recursive != mtx_plain | mtx_recursive

  • drm-shim: drop gnu99 override

  • clover: Fixes use of designated initializers requires in c++ that doesn’t support by MSVC

  • radv: Remove the redundant #include <gelf.h> and #include <libelf.h> in ac_binary.c

  • aco: Convert to use u8 literal for Unicode character to fixes msvc warning

  • util: Add util_call_once for optimize call to util_call_once_with_context out for hot path

  • util: getting get_tracefile in u_trace.c to be thread safe

  • util: Remove the macro DEBUG_GET_ONCE_FILE_OPTION

  • radv/r600/clover: Getting libelf to be optional

  • radv: Getting radeon_icd to be generated properly on win32

  • dzn: rename module_dir to icd_lib_path for consistence

  • lavapipe/meson: rename module_dir to icd_lib_path and swap two lines for consistence

  • Update 22.2.0.rst

  • ci: debian-clang: drop -Wno-error=unused-function

  • r600/sfn: Fixes ‘numeric_limits’ is not a member of ‘std’ error in sfn/sfn_instr.cpp

  • aco: Fixes compiling error about char8_t with c++20

  • ci/docs: Stick to specific version of python packages

  • util: Remove the include of windows.h when compiling with MSVC

  • util: Implement atomic operations consistently across compilers and testing for it

  • util/mesa/wide: Rename _SIMPLE_MTX_INITIALIZER_NP to SIMPLE_MTX_INITIALIZER

  • util: Turn -DWINDOWS_NO_FUTEX to be pre_args

  • ci/windows: Enable gles1 for msvc

  • ci/windows: Remove -Dlibelf:warning_level=1 as libelf subproject are already removed

  • ci/windows: Getting the default supported windows version to be 7 when using mingw

  • gallium: delete graw

  • nir: No need redefine snprintf anymore in nir.h

  • d3d10ump: No need define snprintf anymore in InputAssembly.cpp

  • util: Move the implementation of futex_wake and futex_wait from futex.h to futex.c

  • docs: Remove graw related words

  • docs: Remove rbug related documents

  • nouveau: Remove XVMC_VL environment variable usage

  • docs: Remove document about XvMC

  • meson: add dep_valgrind dependency for ‘dxil_compiler’

  • util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in u_debug_stack.c

  • util: Call function mtx_init on exit_mutex to replace the usage of _MTX_INITIALIZER_NP in u_queue.c

  • util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in u_debug_symbol.c

  • util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in u_debug_stack_android.cpp

  • util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in u_debug_memory.c

  • util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_M in u_debug_refcnt.c

  • mapi: Use util_call_once to init exec_mem and mutex instead _MTX_INITIALIZER_NP

  • mapi: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in stub.c

  • gallium/auxiliary: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER

  • egl/wgl: Use util_call_once_data to replace usage of mtx_t glFlushMutex

  • egl/dri2: Use util_call_once_data to replace usage of mtx_t glFlushMutex

  • mesa: Use util_call_once_data instead of mtx_t init_once_lock

  • util: #include “c11/threads.h” when necessary in simple_mtx.h

  • util: #include “util/macros.h” in u_cpu_detect.h for ATTRIBUTE_CONST

  • c11: Remove the code for Windows XP

  • meson/mesa/wide: define WIN32_LEAN_AND_MEAN with pre_args

  • util: Remove the guard WIN32_WINNT >= 0x0600 in u_thread.h

  • c11: Getting the macro guard of HAVE_PTHREAD in c11/threads.h to be consistence with util/u_uthread.h

  • util: #include <windows.h> in disk_cache_os.c

  • llvmpipe: #include <windows.h> in lp_rast.c

  • util: Remove include of windows.h in memstream.h

  • util: Remove include of windows.h in rwlock.h

  • util: Move the function implementation from u_thread.h to u_thread.c

  • glx: Guard usage of infer_zink && !explicit_zink in glxext.c

  • glx: Trim trailing spaces in in glx/glxext.c

  • glx: Remove redundant #ifndef GLX_USE_APPLEGL in glx/glxext.c

  • glx: Adopt guard of glx_direct and glx_accel in #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)

  • glx: Adot #ifdef GLX_USE_WINDOWSGL in #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)

  • st: Remove st_api_type because ST_API_OPENVG is not an option anymore

  • ci: libxvmc-dev is not a dependence anymore

  • meson: upgrade zlib wrap

  • ci: upgrade zlib to 1.2.13 in mesa_deps_build.ps1

  • ci: Add Get-Date in each package build in mesa_deps_build.ps1

  • ci: Move building libva before clone llvm-project in mesa_deps_build.ps1

  • ci: Install the clang-cl compiler within mesa_deps_vs2019.ps1

  • ci: Trigger building visual studio docker image

  • meson: with_glx never assigned to ‘gallium-xlib’, so need add with_glx == ‘xlib’ for dep_glproto

  • meson: with_glx never assigned to ‘gallium-xlib’, remove ‘gallium-xlib’

  • xlib: Remove macro guard with GLX_INDIRECT_RENDERING in xlib.c

  • ci/macos: Building both dri and xlib version of glx

  • hgl: Remove non-nused hgl_create_st_api

  • st: move function st_visual_have_buffers into st_manager.c

  • st: OpenVG are removed, remove st_api::profile_mask as it’s constant

  • st: OpenVG are removed, remove st_api::feature_mask as it’s constant

  • st: Remove st_api::destroy

  • st: Turn st_api::destroy_drawable to be direct accessed function st_api_destroy_drawable

  • st: Turn st_api::get_current to be direct accessed function st_api_get_current

  • st: Turn st_api::make_current to be direct accessed function st_api_make_current

  • st: Turn st_api::create_context to be direct accessed function st_api_create_context

  • st: Turn st_api::query_versions to be direct accessed function st_api_query_versions

  • xlib: Implement xmesa_get_name by return literal “Mesa “ PACKAGE_VERSION directly

  • st: Remove struct st_api, st_gl_api_create and st_gl_api.h

  • aco: Do not define NOMINMAX as it’s already defined in pre_args now

  • util: Remove non used UTIL_MAX_L3_CACHES in u_thread.h

  • util: Merge duplicated function prototype in u_thread.h that named with util_barrier*

  • util: Move UTIL_MAX_CPUS from u_thread.h to u_cpu_detect.h

  • util: #include “c11/threads.h” instead of #include “util/u_cpu_detect.h” u_format.c

  • xlib: Fixes compiling on linux

  • xlib: Remove the linkage hack in lib.c by use meson link_whole option

  • gallium: Remove mgl* prefix in linker script osmesa.sym and libgl-xlib.sym

  • xlib: Indent with space and trim trailing spaces of xlib files

  • ci/macOS: Getting the installed binary to be artifacts

  • ci: Getting debian-clang-release to building with glx=xlib

  • xlib: Getting xmesa_strict_invalidate to be function

  • xlib: Remove the usage of global constructor in xlib.c, so the xm_public.h are removed

  • docs: -Ddri-drivers= option is deprecated, do not use it anymore

  • docs: There is only glx=xlib option now

  • docs: There is no more swrast driver

  • android: -Ddri-drivers= is not needed anymore

  • glx: Fixes apple/apple_visual.c that include non-exist util/debug.h

  • ci: Fixes macos.yml

  • radv: Fixes prototypes

  • meson: Refactoring shared gen_vs_module_defs_normal_command out

  • meson: fixes mingw-clang32 building

  • clover: Rename *OpenCL.def to *OpenCL.def.in

  • clover: Fixes building with mingw-x86

  • meson: Fixes name_prefix for clover on mingw

  • clover: empty soversion when on win32

  • util: Test __PPC64__ for getting PIPE_ARCH_PPC_64 respond to __PPC64__ take effect

  • gallivm: use valid LLVM_VERSION_MAJOR instead of LLVM_VERSION

Yusuf Khan (7):

  • nouveau: implement and enable PIPE_CAP_QUERY_MEMORY_INFO

  • tu: remove tu_syncobj_to_fd

  • nouveau: get timestamp from os_time_get_nano instead of os_time_get

  • nouveau: put nv04 push macros in nouveau_winsys

  • nv50/ir: nir_op_b2i8 and nir_op_b2i16

  • gallium/util: add a helper for get_timestamp

  • nouveau: enable PIPE_CAP_UMA when appropriate

jenneron (1):

  • docs/panfrost: Document Mali-T620 support

noasakurajin (1):

  • disable zinks shader cache when the needed functions do not exist

nyanmisaka (2):

  • gallium: Do not include offscreen winsys if glx is disabled

  • radeonsi: Inherit the old modifier when reallocating the texture.

semjon00 (4):

  • hasvk: don’t export flush_compute_state

  • hasvk: don’t export gfx state flushing helper

  • hasvk: combine flushes in Draw/DrawIndexed/DrawIndirectByteCountEXT

  • hasvk: force inline more pipe flush functions

sjfricke (2):

  • isl: fix bug where sb.MOCS is not being set

  • anv: fix assert to build with shader cache disabled