Mesa 22.2.0 Release Notes / 2022-09-21

Mesa 22.2.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.2.1.

Mesa 22.2.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.2.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

b1f9c8fd08f2cae3adf83355bef4d2398e8025f44947332880f2d0066bdafa8c  mesa-22.2.0.tar.xz

New features

  • WGL_ARB_create_context_robustness

  • d3d12 ARB_robust_buffer_access_behavior

  • VK_EXT_robustness2 for lavapipe

  • VK_EXT_image_2d_view_of_3d on RADV

  • zink and d3d12 GL_EXT_memory_object_win32 and GL_EXT_semaphore_win32 support

  • vertexAttributeInstanceRateZeroDivisor support for lavapipe

  • panfrost Valhall support (conformant OpenGL ES 3.1 on Mali-G57)

  • VK_EXT_primitives_generated_query on RADV

  • VK_EXT_non_seamless_cube_map on RADV, ANV, lavapipe

  • VK_EXT_border_color_swizzle on lavapipe, ANV, turnip, RADV

  • VK_EXT_shader_module_identifier on RADV

  • variablePointers on lavapipe

  • VK_EXT_multisampled_render_to_single_sampled on lavapipe

  • VK_EXT_shader_subgroup_vote/ballot on lavapipe

  • EGL_KHR_context_flush_control for all drivers

  • GLX_ARB_context_flush_control for all drivers

  • VK_EXT_attachment_feedback_loop_layout on RADV

Bug fixes

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

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

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

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

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

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

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

  • 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

  • radeonsi: error allocating sparse buffers.. bug?

  • [BISECTED/radeonsi] Flickering triangles with wayfire cube

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

  • turnip: gfxbench aztec ruins crashes on zink

  • glsl: textureGatherOffset param broken

  • v3dv: android: VTS big regression after 316728a55bc8fe398be1ac2796a22f8c91fb886c

  • radeonsi: driver crashes with kwin-effects-cube

  • [Turnip] Final Fantasy X: Incorrect hair rendering

  • 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

  • anv: invalid returns from vkCreateDescriptorPool

  • [Bisected][RadeonSI] Blender crashes on startup

  • turnip: depth/stencil regressions

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

  • Poor performance/utilization with Splitgate

  • freedreno / mesa 22.1.3 crashes Firefox Nightly

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

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

  • d3d12: Unresolved external symbols from Version.lib

  • turnip: Geometry shader never invoked if there is no EmitVertex and gl_Position is not written

  • Trine 4 causing GPU HANG: ecode 12:1:849f7804, in vkr-ring-7

  • turnip: GPU fault on clear

  • intel_nullhw.c:179:28: error: passing ‘const void *const’ to parameter of type ‘void *’ discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]

  • macOS undefined symbol _glapi_tls_Context build error

  • Build on macOS regressed

  • Regression: virgl: The switch to NTT breaks “Total War: Warhammer”

  • macOS’s LIST_ENTRY macro conflicts with ours

  • src/util/disk_cache_os.c:234:21: error: too many arguments provided to function-like macro invocation

  • [RadeonSI] Teamfortress 2 crashing frequently with mesa 22.1.1

  • Unity game segfaults often

  • Alien Isolation segfaulting in radeonsi_dri.so starting with Mesa 22.1.0

  • turnip: dEQP-VK.subgroups.ballot_broadcast.framebuffer.* has failures on older deqp-vk

  • !17062 broke XTS xts5/Xlib9/XDrawImageString(16) with Xephyr using glamor on llvmpipe

  • DG2 full BAR broken by low BAR?

  • crocus: SSBOs regressed

  • Homerun Clash game triggers assert in compiler

  • radv: line rasterization mode affects multisampling

  • turnip: caselist fail

  • vtn: mediump_16bit_alu and compatibility

  • radv: dynamic vertex input failure

  • navi21\radv\amdgpu Halo Infinite screen corruption and then hang

  • ci/freedreno: a618_vk 1/7 timeouts

  • Windows OpenGL32.dll without shared-glapi currently broken

  • anv: KHR-GL46.tessellation_shader.single.xfb_captures_data_from_correct_stage fails on TGL

  • perfetto: crash on context teardown / driver unload

  • panfrost shader classification is wrong in some cases

  • kopper: the latest awfulness exposed by piglit glx-multi-window-single-context

  • android: r600 building error after commit 79ca456b

  • Error compiling gallium-nine on i686 using musl libc

  • [anv][regression][bisected][bsw,gen9atom] dEQP-VK.memory.mapping.dedicated_alloc failing on bsw and gen9atom

  • anv: GTF-GL46.gtf32.GL3Tests.packed_pixels.packed_pixels_pbo failure

  • r600: Tesseract does not render properly with the new NIR backend

  • radv: some zink cts fails

  • anv: ICL hiz issue

  • [RADV, bisected] addrlib changes cause Navi CTS regressions

  • r300: Segfault in shaders/closed/steam/kerbal-space-program/1017.shader_test

  • Get rid of debug_assert()

  • nine: docs?

  • d3d12: Gallium d3d12 backend performance is slow

  • [RADV][bisected] after commit 124848bf9efa1cc5d8a3cdfc654e0c03d57540e3 the games which use vulkan API not starting

  • freedreno: skqp instability from GPU hangs

  • ci/a618: intermittent network failure

  • turnip: EXT_primitives_generated_query broken

  • Godot crashes with RX5500m

  • intel: Some Alan Wake shader fails validation due to bad register usage in EOT message

  • r600/sfn: Add support for fmulz

  • radv: failure in image.sample_texture.*_compressed_format*

  • radeonsi: Hang on RX 5500 XT on latest mesa git

  • blob_align assert triggers

  • radv: Enabling support for instance extensions inside vkCreateInstance does not work

  • zink: rendering artifacts in Portal 2

  • a630: AmnesiaTDD trace gpu faults

  • freedreno build issue - FAILED: src/freedreno/decode/crashdec.txt

  • segfaults under X11 since the Ubuntu update to 22

  • anv: renderdoc explosion on icl

  • turnip: EXT_depth_clip_enable broken

  • lava: test result parsing fail

  • turnip: LRZ fast clear

  • [ANV] GTA IV flickering

  • [TGL] 25-100% perf impact on SynMark2 with 2GB dynamic pool size

  • [Crocus] - Minecraft with Forge and JourneyMap - Graphical glitches

  • intel - Minecraft char bar is broken after Mesa upgrade

  • [wine] RAGE: texture problems

  • “Unsupported modifier, resource creation failed.” on stderr

  • [RADV/ACO] Star Citizen Flickeriing Lights

  • anv: query regressions

  • ir3: Infinite loop in scheduler when splitting

  • ci/lava: “Listened to connection” spam

  • ci: docs build fail

  • turnip: 3d copy/clear/… ops should not be counted by occlusion query

  • anv: sampleLocationsEnable ignored in VkPipelineSampleLocationsStateCreateInfoEXT

  • turnip: wrong border color for Z24S8

  • aco_tests fail with llvm-15

  • Clang 14 issues compiling src/util/u_cpu_detect.c

  • eglExportDMABUFImageQueryMESA crashes on amdgpu gallium/drivers/radeonsi

  • crocus: GL_SELECT regressed on hsw

  • Random texture flickering in Minecraft

  • panfrost: Broken interaction between CRC and tile size

  • panfrost: allow_forward_to_be_killed is too conservative

  • APU downgraded to OpenGL 3.0 since UBO size change in radeonsi

  • [anv, bisected, regression] Pipeline statistics query segfaults

  • radv/NIR: Suboptimal codegen for AccessChain on buffer device addresses

  • Regression - vah264dec + glimagesink causes green taint on entire video with mesa>=22.0.0

  • va: AMD: Wrong buffer size of P010 Luma plane

  • 625b352f14b broke glcts on Navi1x

  • Use marketing_name for the Vulkan device string in RADV

  • Gallium driver crashes due to fd double close in iris driver

  • radv: Khronos ray tracing sample issues

  • r300: copy propagate does not correctly account for control flow

  • r300: Amnesia the Dark Descent slowdown since NIR loop unrolling

  • r300: some unused uniforms are not removed with the NIR varying linker (compared to old glsl varying linker)

  • Mesa currently FTBFS on x32 architecture

  • Runescape randomly crashes. malloc_consolidate(): unaligned fastbin chunk

  • tu: viewport assert

  • d3d12: point coord regression due to NIR IO changes

  • nir_lower_phis_to_regs_block: Assertion `src->src.is_ssa’ failed.

  • Redream emulator showing artifacts

  • Build failure on sparc

  • r600 video playback broken

  • r300: hundreds of tests fail since “clear color buffers using color from a constant buffer”

  • turnip: shader viewport handling

  • Signal 6 (Aborted) when opening GTK3 applications

  • radv: Conditional rendering on compute queue

  • anv: line failure

  • 32 bit build failure

  • d3d12 build regression: d3d12video.h: error: expected ‘;’ at end of member declaration

  • panfrost midgard - major issues with MelonDS emulator - not able to trace properly too

  • Intel/anv: The cloak is flickering in Batman:Arkham Knight

  • regression: “NIR based varying linker” breaks some xwayland/glamor applications with etnaviv

  • pvr: build failure on archs with unsigned long != uint64_t

  • turnip: dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.* fails with angle

  • Nheko misrendering on RK3399 (Mali T860)

  • intel_pps_driver.cc:308:74: error: too many arguments to function ‘void intel_perf_query_result_accumulate_fields(intel_perf_query_result*, const intel_perf_query_info*, const void*, const void*, bool)

  • radv: no nir validation in radv_link_shaders

  • r300: deqp regressions from “glsl: enable the use of the nir based varying linker”

  • [crocus] glmark2 -b jellyfish rendering issues

  • radeonsi-stoney: Failing jobs during a CI bug

  • iris: skqp gles_atlastext flake

  • turnip: use-after-free in shader compilation

  • anv: EXT_primitives_generated_query fails

  • r300: vs predicate logic fails in vs-loop-complex-unroll-with-else-break.shader_test

  • [Intel/Vulkan] White blinking artifacts in Wolfenstein Youngblood

  • radv: Indirect unaligned dispatch

  • [radv] DCC causes artifacts in Senran Kagura Shinovi Versus

  • Radeon RX 5700XT crash when using prusa-slicer

  • glcts proxy_textures_invalid_samples tests assert on iris

  • turnip: gfxbench mh3.1 offscreen crash with ANGLE

  • dEQP-GLES31.functional.shaders.builtin_functions.integer.[i|u]mulextended.* fail

  • Radv leaks a descriptor set layout

  • radeonsi: KHR_debug thread safety

  • [radeon, rv370] Running piglit shaders@glsl-vs-raytrace-bug26691 test causes hard lockup & reboot

  • clover: Assertion `NumContainedTys && “Attempting to get element type of opaque pointer”’ failed

  • wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes causes memory leak in Apex Legends

  • v3d: port v3dv workaround for GFXH-1918

  • freedreno: fragile location packing can break cull/clip distance

  • turnip: dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.generated_args.* failures

  • Panfrost: wrong textures and lighting in “Thief” games in wine (not happening when using Software render)

  • [Bisected] r600: Big performance regression on some games

  • turnip: report corresponding drmFormatModifierPlaneCount for planar format

  • piglit ext_image_dma_buf_import.ext_image_dma_buf_import* regression

  • Huge amount of anon_inode:sync_file file descriptor created

  • enable warnings for GNU extensions we don’t want

  • Grid Autosport via proton/vulkan: glitches on the grass on amdgpu, fine on amdgpu-pro

  • NIR validation failed after nir_opt_if

  • Etnaviv: The triangle is lost during linking together triangle strips with degenerate triangles

  • intel: integer_mad_hi / integer_mad_sat / integer_mul_hi produce invalid results

  • Aperture Desk Job rendering artifacts Intel TGL

  • intel: integer_sub_sat produces stack corruption / OpISubBorrow compilation issue

  • r300/rv530: “Black rendering” of Baldur’s Gate Dark Alliance in Xbox emulator CXBX-R under wine with Gallium Nine and RADEON_DEBUG=use_tgsi

  • radv/aco: xfb bug

  • ‘../src/amd/common/ac_surface.c:1575: void ac_copy_dcc_equation(const struct radeon_info *, ADDR2_COMPUTE_DCCINFO_OUTPUT *, struct gfx9_meta_equation *): assertion “dcc->equation.gfx9.num_bits <= ARRAY_SIZE(equation->u.gfx9.bit)” failed’

  • Occasional flicker corruption in Rage 2, e.g. after loading, with ACO on RX 5700 XT

  • Vulkan::Calling vkWaitForFences Timeout

  • turnip: bad gmem rendering with PUBG mobile on angle

  • Intel (CHT) - Uplink text rendering bugged out in Mesa 22.0

  • gen9atom gpu hang on dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_1

  • bad memory managment on panfrost RK3399 - cannot alocate more ram - fury unleashed

  • radv,aco: Regression with global atomics with negative offsets

Changes

Adam Jackson (32):

  • docs: Note EGL enum allocation for EGL_EXT_present_opaque

  • docs: Update supported drivers for 22.x

  • glx/kopper: Wire up a way for SwapBuffers to fail

  • wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes

  • kopper: Grow a swap interval API

  • glx/kopper: Enable GLX_EXT_swap_control etc.

  • egl/kopper: Hook up eglSwapInterval

  • wsi/x11: Hook up KHR_incremental_present

  • dri: Inline dri2InvalidateDrawable into its one caller

  • dri: Move driCopySubBufferExtension into drisw

  • dri: move driQueryRendererIntegerCommon near its one caller

  • dri: Move driC{reate,oncat}Configs near their only caller

  • dri: Move dri{Get,Index}ConfigAttrib near their vtable

  • dri: Remove what’s left of utils.[ch]

  • glx/dri2: Require DRI2 >= 1.3 for working buffer invalidation

  • dri2: Require a loader with working buffer invalidation

  • zink: Print the VkResult if vkCreateInstance fails

  • glx/dri: Fix DRI drawable release at MakeCurrent time

  • mesa: Stub out GL_APPLE_object_purgeable

  • glx: Remove the remains of GLX_MESA_multithread_makecurrent

  • gallium/dri: Remove the memory of GLX_MESA_multithread_makecurrent

  • glx: Remove some can’t-happen checks from protocolDestroyDrawable

  • glx: Remove unused __glXSetupForCommand from __glXIsDirect

  • glx: Remove excess screen parameter from CreateContext

  • glx/dri2: Stop tracking the protocol version in the display state

  • glx: Fix return values from __glXGetDrawableAttribute

  • glx: Fix drawable refcounting for naked Windows

  • kopper: Implement {EGL,GLX}_EXT_buffer_age

  • wsi/x11: Synchronously check for error from xcb_present_pixmap

  • mesa: Remove Purgeable fields from texture/buffer/renderbuffer objects

  • llvmpipe: Indentation fix

  • gallium/dri2: Enable {GLX_ARB,EGL_KHR}_context_flush_control

Alejandro Piñeiro (22):

  • v3dv/pipeline: fix small comment typo

  • v3dv/pipeline_cache: adds check to skip searching for a entry

  • v3dv/pipeline_cache: add on disk cache hit stats

  • v3dv/pipeline: include pipeline layout on the pipeline sha1

  • v3dv/bo: unmap any bo that goes to the bo cache

  • v3dv/format: no need for GetPhysicalDeviceFormatProperties

  • v3dv/format: Add support for VK_KHR_format_feature_flags2

  • nir: get res binding using component 0, instead of asssumig an uint

  • v3dv/pipeline: call nir_lower_explicit_io after first nir optimization loop

  • v3dv/pipeline: expand nir_optimize, drop st_nir_opts

  • v3dv/device: add comment on depthClamp feature

  • broadcom: add no_merge_jobs debug option

  • broadcom: document which debug options are specific for a given driver

  • broadcom/compiler: wrap nir_convert_to_lcssa with NIR_PASS_V

  • broadcom/compiler: use NIR_PASS for nir_lower_vars_to_ssa at v3d_optimize_nir

  • nir: call nir_metadata_preserve at nir_remove_unused_io_vars

  • v3dv/pipeline: use nir_shader_instructions_pass when lowering layout

  • broadcom/compiler: removed unused function

  • broadcom/compiler: make several passes to return a progress

  • v3d/v3dv: use NIR_PASS(_

  • vc4/v3d: stop adding NORAST when SHADERDB debug option is used

  • vc4/v3d: restore calling debug_get_option_vc4/v3d_debug

Alessandro Astone (5):

  • kopper: Only include XCB headers on supported platforms

  • Android.mk: Cleanup mesa3d-lib

  • Android.mk: Make mesa3d-lib work with absolute path meson outputs

  • Android.mk: Generate the dummy source in local-generated-sources-dir

  • Android.mk: Intermediate output paths may already be absolute

Alexander Kanavin (1):

  • swrast_kms: use swkmsDRI2Extension instead of driDRI2Extension

Alexey Bozhenko (2):

  • intel/compiler: fix singleton pointer coverity warning

  • spirv: fix OpBranchConditional when both branches are the same

Alyssa Rosenzweig (454):

  • panfrost: Add 48-bit and 96-bit tiling routines

  • panfrost: Remove bpp check for tiling

  • panfrost: Only handle 2D in should_linear_convert

  • panfrost: Implement tiled 3D resource access

  • panfrost: Only tile for 2D dimensions

  • panfrost: Allow tiling all texture targets

  • panfrost: Assert alignment in tiling routine

  • panfrost: Document arguments to tiling routines

  • panfrost: Unit test u-interleaved tiling routines

  • docs/panfrost: Document u-interleaved tiling

  • panfrost: Rework dirty tracking for Valhall

  • panfrost: Dirty track batch masks

  • panfrost: Rework PAN_GPU_ID mechanism

  • docs/panfrost: Document drm-shim usage

  • meson: Ignore unused variables in release builds

  • pan/bi: Simplify bi_propagate_pass_flags

  • panvk: Respect line width

  • panvk: Consider primitive restart in index buffer walks

  • pan/bi: Implement fquantize2f16

  • panvk: Handle empty shaders gracefully

  • panvk: Lower shared memory

  • util: Add a generic worklist implementation

  • nir: Use u_worklist to back nir_block_worklist

  • pan/bi: Implement pack_uvec[24]_to_uint

  • panfrost: Add texture features enum to v9.xml

  • pan/blit: Compile blit shaders without IDVS

  • pan/blit: Generalize texture alignment

  • pan/blit: Prepare for Valhall port

  • pan/blit: Support v9 data structures

  • panfrost: Don’t allocate storage for PSIZ on Valhall

  • panfrost: Compile libpanfrost for v9

  • panfrost: Add helper to emit UBOs

  • panfrost: Port uniform/UBO logic to Valhall

  • panfrost: Don’t fix up alpha test on Bifrost

  • panfrost: Use common state emit for compute jobs

  • panfrost: Adapt compute job emit for Valhall

  • panfrost: Specialize rasterizer state for Valhall

  • panfrost: Simplify attribute format expression

  • panfrost: Specialize vertex elements for Valhall

  • panfrost: Specialize ZSA state for Valhall

  • panfrost: Specialize shader descriptors for Valhall

  • panfrost: Use dirty flags to emit v9 descriptors

  • panfrost: Generate Valhall Malloc IDVS jobs

  • panfrost: Compile for v9

  • panfrost: Kick off v9 support in the driver

  • panfrost: Advertise all textures in drm-shim

  • panfrost: Split pan_layout.c from pan_texture.c

  • panfrost: Always use 64-bit SD with strides

  • panfrost: Add afbc_superblock_{size, width, height} helpers

  • panfrost: Use panfrost_afbc_superblock_width

  • panfrost: Don’t pretend to support multiplane AFBC

  • panfrost: Extract panfrost_afbc_is_wide helper

  • panfrost: Use pan_block_size in layout calculation

  • panfrost: Unify panfrost_block_size paths

  • panfrost: Unify paths through image_layout_init

  • panfrost: Remove unused dev argument

  • panfrost: Unit test block size queries

  • panfrost: Simplify how image_layout_init is called

  • panfrost: Add a test for pan_image_layout_init

  • asahi: Workaround broken GLSL compiler

  • agx: Implement some shader-db stats

  • agx: Note that RA proceeds in dominance-order

  • agx: Track write registers more accurately

  • agx: Match order for designated initializers

  • agx: Use correct types for some IR enums

  • agx: Wrap compiler header in extern “C”

  • agx: Add unit test infrastructure

  • agx: Use pseudo ops for mov/not/and/xor/or

  • agx: Implement simple copyprop

  • agx: Dynamically allocate agx_instr->src

  • agx: Add p_split pseudoinstruction

  • agx: Add phi pseudo instruction

  • agx: Add a hash table for vector extracts

  • agx: Add helper to emit combines

  • agx: Add helper to emit splits

  • agx: Use a transfer graph for parallel copies

  • agx: Lower p_split after RA

  • agx: Optimize p_split(kill) specially

  • agx: Emit splits for intrinsics

  • agx: Use extract helper for tex internally

  • agx: Remove else optimization

  • agx: Use a dynarray for predecessors

  • agx: Add predecessor index helper

  • agx: Mark the logical ends of blocks

  • agx: Add agx_after_block_logical helper

  • agx: Introduce worklist infrastructure

  • agx: Adapt liveness analysis for SSA

  • agx: Make DCE dumber

  • agx: Translate phi nodes

  • agx: Copy prop into phi nodes

  • agx: Don’t lower phis in NIR

  • agx: Lower phi nodes to parallel copies

  • agx: Split up RA from post-RA lowering

  • agx: Always use hash table for extracts

  • agx: Unit test parallel copy lowering

  • agx: Remove identity moves

  • agx: Add validation pass

  • agx: Update RA comment

  • agx: Remove has_liveness

  • agx: Remove nir_register support

  • agx: Lower mediump flat shading

  • panvk: Ignore point size for !points

  • panvk: Use correct point size limits

  • panfrost: Only flip point sprites for GL

  • panvk: Streamline no shader RSD case

  • panvk: Gate rasterization on !discard, not fs req

  • panvk: Emit fragment RSDs even with no shader

  • panfrost: Remove ancient unused code

  • panfrost: Call tgsi_to_nir earlier

  • panfrost: Don’t subclass pipe_compute_state

  • panfrost: Use s->info.stage instead of tgsi stage

  • panfrost: Simplify shader key architecture

  • panfrost: Refactor variant selection code

  • panfrost: Refactor variant rebind code

  • panfrost: Lower point sprites on Bifrost

  • panfrost: Lower user clip planes

  • panfrost: Flip point coords in hardware

  • pan/va: Generalize message? check for asm

  • pan/va: Add missing TABLE (SFU) instructions

  • pan/va: Mark NOT instructions as deprecated

  • pan/va: Add VAR_TEX_BUF_GRADIENT instruction

  • pan/va: Add non-IDVS VAR_TEX instructions

  • panvk: Lower global vars to local

  • panvk: Allocate stack for each thread

  • pan/bi: Handle texture offset + index

  • panvk: Lower image deref atomics

  • panvk: Only write depth when depth test enabled

  • pan/decode: Print row strides, not line strides

  • panvk: Remove unused layout structs

  • panvk: Report row_stride in GetImageSubresourceLayout

  • panfrost: Add helpers to work with legacy strides

  • panfrost: Use row stride for explicit layouts

  • panfrost: Rename away from bytes_per_pixel

  • panfrost: Use row stride to calculate slice size

  • panfrost: Adapt get_param for row strides

  • panfrost: Use row_stride even for linear resources

  • lima,panfrost: Use row stride for tiling routines

  • panfrost: Remove line_stride

  • panfrost: Unify row stride and AFBC row stride

  • panfrost: Unit test stride calculations

  • panfrost: Unit test “from legacy” helper

  • pan/bi: Rename bi_block->name to bi_block->index

  • pan/bi: Count blocks

  • pan/bi: Add u_worklist wrapper macros

  • pan/bi: Use bi_worklist in analyze_helper_requirements

  • pan/bi: Use bi_worklist for liveness

  • pan/bi: Use bi_worklist for post-RA liveness

  • pan/bi: Use worklist for scoreboard analysis

  • pan/bi: Use a dynarray for predecessors

  • nir: Don’t set writes_memory for reading XFB

  • panfrost: Relax image check

  • pan/va: Serialize memory stores

  • pan/bi: Align spilled registers on Valhall

  • pan/bi: Add option to test spilling

  • pan/bi: Assert that blend shaders may not spill

  • panfrost: Correct XML for TLS

  • panfrost: Use emit_tls

  • panfrost: Use packed TLS on Valhall

  • panfrost/ci: Smoke test spilling

  • panfrost: Don’t use VARYING_SLOT_TEX0 internally

  • panvk: Don’t use VARYING_SLOT_TEX0 internally

  • pan/bi: Rework varying linking on Valhall

  • panfrost: Increase the maximum tiler heap size

  • mesa/st: Fix building tests on macOS

  • panvk: Stub pipeline cache using the common code

  • panvk: Conform viewport code to Vulkan spec

  • panvk: Call nir_opt_trivial_continues

  • pan/va: Add some whitespace to Valhall disassembly

  • pan/va: Add whitespace after disassembled branches

  • agx: Restore Valve copyright header

  • pan/bi: Don’t analyze td on Valhall

  • pan/bi: Emit LEA_TEX on Valhall

  • pan/bi: Support image loads on Valhall

  • pan/bi: Preserve AXCHG.i32 destination

  • pan/bi: Handle shared atomic exchange on Valhall

  • pan/bi: Handle shared/scratch on Valhall

  • pan/bi: Support atomics on Valhall

  • pan/bi: Ensure the end NOP isn’t eliminated

  • asahi: Fix hangs waiting on the notification queue

  • pan/bi: Update bi_count_write_registers for Valhall

  • pan/va: Mark more source sizes

  • pan/va: Lower split 64-bit sources

  • pan/va: Use 64-bit lowering for texturing

  • pan/bi: +JUMP can’t read same-cycle temp

  • pan/bi: Lower phis to scalar

  • pan/bi: Use value-based interference with LCRA

  • pan/bi: Add source/destination counts

  • pan/bi: Add collect and split instructions

  • pan/bi: Add bi_before_block cursor

  • pan/bi: Lower split/collect before RA

  • pan/bi: Fix mov and pack_32_2x16

  • pan/bi: Expand MAX_DESTS to 4

  • pan/bi: Create COLLECT during isel

  • pan/bi: Lift split/collect cache from AGX

  • pan/bi: Simplfy BLEND emit

  • pan/bi: Emit collect and split

  • pan/va: Use split for 64-bit lowering

  • pan/va: Don’t use bi_word in FAU unit test

  • pan/bi: Scalarize bi_lower_swizzle

  • pan/bi: Scalarize bi_opt_cse

  • pan/bi: Scalarize modifier propagation

  • pan/bi: Scalarize copyprop

  • pan/bi: Remove bi_word and bi_word_node

  • pan/bi: Simplify register precolouring in the IR

  • pan/bi: Remove liveness metadata tracking

  • pan/bi: Don’t propagate discard

  • pan/bi: Optimize split of collect

  • pan/bi: See through splits for var_tex fusion

  • pan/bi: Validate preload constraints are satisfied

  • pan/bi: Validate vector widths

  • pan/va: Handle 2-src blend in lower_split_src

  • pan/va: Remove DISCARD.f32 destination

  • pan/va: Use ^ instead of ` to indicate last-use

  • asahi: Run lower_blend for all fragment shaders

  • asahi: Use z24_in_z32f lowering

  • asahi: Validate depth/stencil formats

  • asahi: Don’t store to unbound render targets

  • asahi: Handle uncompressed Z32F depth buffers

  • asahi: Pass depth/stencil clear values to firmware

  • asahi: Flush on partial clears

  • asahi: Handle 3rd deflake address

  • asahi: Account for every byte of the cmdbuf

  • asahi: Identify more depth pipeline fields

  • asahi: Dump “unknown 4a” structure

  • asahi: Add XML used for visibility tests

  • asahi: Relax Draw “command” check

  • asahi: Note unknown field

  • asahi: Identify depth bias array

  • asahi: Identify “set depth bias index” field

  • asahi: Identify depth bias enable bit

  • asahi: Add a depth bias structure

  • asahi: Implement polygon offset

  • asahi: Identify partial render pipeline

  • asahi: Sync some names with Project Zero

  • asahi: Add segment list pretty printer

  • asahi: Split unknown field in segment list header

  • asahi: Validate segment list length

  • asahi: Compute segment list length

  • asahi: Align segment list unknowns with Metal

  • asahi: Decode resource allocation responses

  • asahi: Decode resource allocation requests

  • asahi: Identify suballocation mechanism

  • asahi: Identify suballocated size

  • asahi: Drop some unknowns

  • asahi: Sync some more unknown fields

  • asahi: Improve render target dumping

  • asahi: Fix pipeline decoding

  • asahi: Handle RECT textures as 2D

  • asahi: Allocate a larger segment list

  • asahi: Guard against encoder overflows

  • asahi: Add wrap library

  • docs/asahi: Add initial driver docs

  • panfrost: Simplify the kmsro create path

  • panfrost: Don’t allocate SHARED as scanout

  • pan/bi: Recoalesce tied operands after spilling

  • pan/bi: Schedule for pressure pre-RA

  • pan/bi: Allow CSEing LEA_BUF_IMM

  • panfrost: Fix crash with GALLIUM_HUD

  • panfrost: Extract afbc_stride_blocks helper

  • panfrost: Extract pan_afbc_row_stride helper

  • panfrost: Fix is_wide return type

  • panfrost: Add pan_afbc_tile_size helper

  • panfrost: Support tiled AFBC in stride helpers

  • panfrost: Align layouts to tiles of superblocks

  • panfrost: Add AFBC stride unit tests

  • panfrost: Add 3D texture layout unit test

  • panfrost: Calculate header_size based on row_stride

  • panfrost: Add a tiled 16x16 layout unit test

  • panfrost: Add 1x1 layout unit tests

  • panfrost: Fix AFBC flags on v6

  • panfrost: Put comment in correct #ifdef

  • panfrost: Handle AFBC Tiled

  • panfrost: Add helper checking tiled AFBC support

  • panfrost: Gate tiled AFBC on GPUs that support it

  • panfrost: Advertise 16x16 tiled AFBC

  • panfrost: Use tiled AFBC textures

  • pan/bi: Fuse result types

  • pan/bi: Test CMP result_type optimization

  • panfrost: Allow FPK on Valhall

  • panfrost: Set overdraw_alpha[01] flags

  • panfrost: Set allow_rotating_primitives

  • pan/bi: Don’t allow spilling coverage mask writes

  • pan/bi: Add VAR_TEX fusing unit test

  • pan/va: Fill in missing src_flat16 enum

  • pan/bi: Make LD_VAR w=format instead of w=vecsize

  • pan/bi: Model Valhall source formats

  • pan/bi: Interpolate varyings at 16-bit

  • pan/bi: Extend bi_scoreboard_state for finer tracking

  • pan/bi: Add slot to bi_instr

  • pan/bi: Preserve flow control for non-psiz variant

  • pan/bi: Add ASSERT_SHADER_EQUAL macro

  • pan/bi: Add a trivial ctx->inputs for unit tests

  • pan/bi: Extract bit_block helper

  • pan/bi: Export bi_block_add_successor

  • pan/bi: Export helper termination analysis

  • pan/bi: Print flow control on instructions

  • pan/va: Add pass to insert flow control

  • pan/va: Do scoreboard analysis

  • pan/va: Terminate helper threads

  • pan/va: Add flow control merging pass

  • pan/va: Assign slots roundrobin

  • pan/va: Respect assigned slots

  • pan/va: Unit test flow control insertion

  • pan/va: Unit test flow control merging

  • pan/bi: Use flow control lowering on Valhall

  • pan/mdg: Scalarize with 64-bit sources

  • pan/mdg: Remove uppercase write masks

  • pan/mdg: Use “<<” instead of “lsl”

  • pan/mdg: Only print masked components of swizzle

  • pan/mdg: Only print 2 sources for ALU

  • pan/mdg: Only print 1 source for moves

  • pan/mdg: Distinguish SSA vs reg when printing IR

  • pan/mdg: Print outmods when printing IR

  • panfrost: Fix XML for AFBC header on v9

  • panfrost: Pass arch instead of dev into afbc_format

  • panfrost: Add pan_afbc_compression_mode on Valhall

  • panfrost: Support rendering to AFBC on Valhall

  • panfrost: Handle texturing from AFBC on Valhall

  • panfrost: Allow 2D AFBC on Valhall

  • panvk: Use vk_image_subresource_*_count for clears

  • pan/bi: Respect swizzles in nir_op_pack_64_2x32_split

  • pan/bi: Allow vec6 for collects

  • pan/bi: Align 64-bit register sources

  • pan/bi: Rework Valhall register alignment

  • pan/bi: Fix clper_xor on Mali-G31

  • panfrost/ci: Mark draw_buffers_indexed.* as flakes

  • panfrost: Use C11 static_assert for enums

  • nir: Add transform feedback system values

  • nir: Export nir_io_add_intrinsic_xfb_info

  • pan/bi: Add transform feedback lowering pass

  • pan/bi: Handle transform feedback intrinsics

  • panfrost: Don’t allow vertex shaders to have side effects

  • panfrost: Wire up transfrom feedback sysvals

  • panfrost: Create transform feedback shaders

  • panfrost: Launch transform feedback shaders

  • pan/va: Do not insert NOPs into empty shaders

  • panfrost: Extract panfrost_get_index_buffer helper

  • panfrost: Don’t calculate min/max indices on v9

  • pan/bi: Extract MUX to CSEL optimization

  • pan/va: Implement more lanes

  • pan/va: Lower MUX to CSEL where possible

  • pan/va: Add MUX lowering tests

  • pan/bi: Implement b2i with MUX

  • pan/va: Record which instructions are signed

  • pan/va: Try negating small constants when lowering

  • pan/va: Try widening small constants

  • pan/va: Unit test constant lowering pass

  • panfrost: Enable Mali-G57

  • docs: Document Mali-G57 conformance

  • panfrost: Fix inverted indirect dispatch condition

  • pan/bi: Implement load_push_constant

  • pan/bi: Don’t reorder push with no_ubo_to_push

  • panfrost: Use push constants for indirect dispatch

  • panfrost: Use push constants for indirect draws

  • panvk: Use push constants for clear

  • panvk: Use push constants for copy shaders

  • panfrost: Deduplicate indirect dispatch structs

  • panfrost: Remove redundant first_tag access

  • panfrost: Remove is_64b assignments

  • panfrost: Add panfrost_query_l2_slices helper

  • pan/perf: Fix performance counters on G57

  • mesa,gallium: Make point coord origin a CAP

  • asahi,agx: Don’t set PIPE_CAP_POINT_COORD_ORIGIN_UPPER_LEFT

  • panvk: Drop support for Midgard

  • panfrost: Allow pixels using discard to be killed

  • panfrost: Inline pan_fbd_has_zs_crc_ext

  • panfrost: Disable CRC at <16x16 tile sizes

  • panvk: Don’t specialize clear shaders for RT

  • panvk: Remove unused pushmaps

  • panvk: Clear Z/S attachments without a shader

  • panvk: Fix stencil clears of combined ZS images

  • panvk: Simplify depth clear preload condition

  • panvk: Use common CmdBeginRenderPass

  • panfrost: Disable QUADS on Valhall

  • panfrost: Fix batch state changes on Valhall

  • panfrost: Add tristate_is_defined helper

  • panfrost: Implement provoking vertices on Valhall

  • pan/va: Move VA_NUM_GENERAL_SLOTS to common

  • pan/va: Simplify insert flow tests

  • pan/va: Workaround quirk of barrier handling

  • pan/va: Unit test barrier handling

  • pan/bi: Mark bi_postra_liveness_ins as MUST_CHECK

  • pan/bi: Constify bi_is_staging_src argument

  • pan/va: Add header guards to valhall_enums.h

  • pan/va: Move va_flow_is_wait_or_none to common

  • pan/va: Include BLEND for va_swap_12

  • pan/va: Use validate_register_pair for BLEND pack

  • pan/va: Mark last register reads

  • pan/va: Unit test va_mark_last

  • pan/bi: Fix LD_BUFFER.i16 definition

  • pan/bi: Align accesses with packed TLS

  • pan/va: Lower FADD_RSCALE.f32 to FMA_RSCALE.f32

  • pan/va: Implement sample positions FAU packing

  • pan/va: Rename RSCALE to LDEXP

  • pan/bi: Remove FRSCALE from IR

  • pan/bi: Model MKVEC.v2i8

  • pan/bi: Constant fold MKVEC.v2i8

  • pan/va: Pack MKVEC.v2i8 byte lanes

  • pan/va: Replace MKVEC.v4i8 with MKVEC.v2i8

  • pan/bi: Tune lower_vars_to_scratch

  • panfrost: Enable more FP16 caps on Valhall

  • panfrost: Enable CAP_INDIRECT_TEMP_ADDR on Valhall

  • panfrost: Bump ESSL_FEATURE_LEVEL on Valhall

  • v3d: Drop workaround for u_blitter bug

  • agx: Handle loop { if { loop { .. } } }

  • r600g: Remove streamout-based buffer copy path

  • u_blitter: Remove util_blitter_copy_buffer

  • lima,panfrost: Do not ralloc contexts against the screen

  • pan/va: Handle terminal barriers

  • ttn: Set nir->info.separate_shader

  • pan/bi: Fix unpack_32_2x16 definition

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

  • pan/bi: Implement f2f16{_rtz, _rtne}

  • panfrost: Separate core ID range from core count

  • panfrost: Move bifrost_lanes_per_warp to common

  • panfrost: Fix PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS

  • panfrost: Fix PIPE_COMPUTE_CAP_SUBGROUP_SIZE

  • panfrost/ci: Disable 0ad trace on T860

  • panfrost: Clear with a quad to avoid flushing

  • panfrost/ci: Disable T760 jobs

  • nir/opt_shrink_vectors: Round to supported vec size

  • panfrost: Revert provoking vertex assertion

  • panfrost: Only key points to point coord origin

  • pan/va: Dump unencodable instructions

  • pan/va: Use invalid_instruction in more places

  • pan/va: Print instructions with pack assert fails

  • pan/va: Handle BIFROST_MESA_DEBUG=nosb

  • panfrost: Make pan_select_max_tile_size O(1)

  • panfrost: Use implementation-specific tile size

  • panfrost: Protect pandecode by a mutex

  • pan/bi: Require ATEST coverage mask input in R60

  • pan/va: Stall after ATEST

  • panfrost: Fix shader_modifies_coverage on Valhall

  • panfrost: Add decoupled early-ZS helpers

  • panfrost: Unit test early-ZS helpers

  • panfrost: Add zsa->zs_always_passes flag

  • panfrost: Use early-ZS helpers

  • util: Enable list_assert in debugoptimized builds

  • util: Gate simple_mtx_assert_locked on !NDEBUG

  • agx: Port minifloat tests to GTest

  • pan/bi: Assert that we use the correct CLPER

  • pan/bi: Rename CLPER_V6.i32 to CLPER_OLD.i32

  • pan/decode: Fix overrun decoding planes

  • nir/lower_idiv: Be less creative about signs

  • agx: Fix packing of samplers in texture instrs

  • panfrost: Don’t segfault on unknown models

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

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

  • pan/mdg: Print 3 sources for CSEL

  • 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

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

  • panfrost: Respect buffer offset for OpenCL

Andres Calderon Jaramillo (2):

  • nir: Account for YUV range.

  • mesa/st: Account for YUV color space and range.

Andres Gomez (5):

  • radv/ci: update vkd3d-proton results for AMD’s Kabini

  • ci: install a more recent version of Wine in the test-vk image

  • ci: install gfxinfo-mupuf in the test-vk image

  • ci: move b2c artifacts to its own directory

  • ci: add wrapper script for Valve’s traces runner

Anuj Phogat (2):

  • include/uapi: Update drm_fourcc.h from kernel

  • isl,iris: Add I915_FORMAT_MOD_4_TILED support for XeHP

Arvind Yadav (7):

  • nir: Add a lowering pass for polygon and line smoothing

  • radeonsi: Add nir_lower_poly_line_smooth pass for polygon and line smoothing

  • nir: add load_point_coord_maybe_flipped intrinsics for point smoothing

  • nir: Add a lowering pass for point smoothing

  • ac/llvm : Adding Number of all interpolated inputs in ac_shader_abi

  • ac/llvm: Implement nir_intrinsic_load_point_coord_maybe_flipped opcodes

  • radeonsi: Enable nir_lower_point_smooth lowering pass for point smoothing

Autumn on Tape (5):

  • gallivm: add subgroup shuffle support

  • lavapipe: enable subgroup shuffle operations

  • gallivm: use shufflevector for shuffles when index is constant data

  • gallivm: use VPERMPS (x86/AVX2) for 32-bit 8-element shuffles

  • lavapipe: enable subgroup quad operations

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 (39):

  • vulkan/wsi/x11: Ensure we have the required number of images for acquire.

  • radv: always enable NGG on GFX11

  • radv: Mark all formats as DCC compatible with each other on gfx11.

  • radv: gfx11 register changes.

  • radv: Adjust for new SWIZZLE_ENABLE.

  • radv: Add gfx11 DCC fast clear support.

  • radv: Disable transform feedback for gfx11.

  • radv: update the initialization of SGPR0/1 registers for HS and GS on GFX11

  • radv: Deal with derefs from opaque types in function parameters.

  • radv: Add performance counter reg write.

  • radv: move ac_perfcounters to physical_device.

  • radv: Add pstate locking for perfcounters.

  • radv: Rename SPM functions.

  • radv: Make inhibiting clockgating not static.

  • radv: Add helper BO for perf counters.

  • radv: Add perf counter lock/unlock commandbuffers.

  • radv: Add a list of performance counters.

  • radv: Implement support for querying performance counters.

  • radv: Implement listing performance counters.

  • radv: Expose VK_KHR_performance_query.

  • radv: Add ability to override the build id for the cache.

  • radv: Add a 32bit memory type.

  • radv: Skip setting empty index buffers to avoid hang

  • radv: Expose function to write vertex descriptors for dgc.

  • radv: Always store stride in the vbo descriptor.

  • radv: Require 32bit memory for indirect buffers.

  • radv: Expose helper for base pa_su_sc_mode_cntl.

  • radv: Make radv_get_vgt_index_size non-static.

  • radv: Add helper to write scissors.

  • radv: Add flushing for DGC.

  • radv: Add DGC meta shader.

  • radv: Implement DGC generated command layout structure.

  • radv: Implement DGC cmdbuffer generation.

  • radv: Implement CmdExecuteGeneratedCommandsNV.

  • radv: Add stub for vkCmdBindPipelineShaderGroupNV.

  • radv: Expose VK_NV_device_generated_commands.

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

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

  • amd/common: Disable DCC retile modifiers on RDNA1

Ben Skeggs (3):

  • nv50/ir: fix OUT.FINAL on ampere

  • nv50/ir: fix scope of memory ops on ampere

  • nv50/ir: fix ALD/AST where address comes from AL2P

Benjamin Cheng (5):

  • radv: fix memory leak of descriptor set layout

  • radv: refactor image binding into struct

  • radv: consolidate descriptor set buffer counts

  • radv: implement disjoint memory for multiplane images

  • radv: expose disjoint image support

Boris Brezillon (159):

  • dzn: Skip binding entries with zero descriptors

  • dzn: Make sure sampler heaps don’t contain more than 2048 samplers

  • microsoft/compiler: Add a dunmmy SV_SampleIndex when needed

  • microsoft/spirv_to_dxil: Allow forcing per-sample shading

  • dzn: Add support for sampleRateShading

  • dzn: Pass the right type to CreateCommandList() in the reset path

  • dzn: refactor error-handling

  • ci/windows: Add a variable to globally disable jobs using windows runners

  • dzn: Use core helpers to fill physical device features/properties

  • dzn: Report actual device limits

  • d3d12: Move the D3D12ResourceState code to the gallium driver

  • ci/windows: Split the windows-related tests

  • dzn: Add support for EXT_vertex_attribute_divisor

  • dzn: Rename a bunch of dzn_descriptor_set helpers

  • dzn: Pass layout objects to various dzn_descriptor_set_ptr_xxx helpers

  • dzn: Split the write desc helpers in two halves

  • dzn: Add support for KHR_descriptor_update_template

  • microsoft/spirv_to_dxil: Add a draw_id field to vertex_runtime_data

  • dzn: Fix exec_buf_stride calculation

  • dzn: Simplify the triangle_fan_rewrite_index shader

  • dzn: Update the draw_id sysval when issuing indirect draws

  • dzn: Advertise KHR_shader_draw_parameters

  • dzn: Pass an image view to dzn_cmd_buffer_clear_attachment()

  • dzn: Set MAX_RTS to D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT

  • dzn: Move all render-related states to a substruct

  • dzn: Inline dzn_cmd_buffer_clear_attachments()

  • dzn: Add support for dynamic rendering

  • dzn: Get rid of the render pass logic

  • dzn: Allow multiDrawIndirect and drawIndirectFirstInstance

  • dzn: Add KHR_draw_indirect_count support

  • dzn: Add missing VKAPI_{ATTR,CALL} specifiers to BeginCommandBuffer()

  • dzn: Pass the dzn_event pointer to _mesa_hash_table_insert()

  • dzn: Fix the STATIC_ASSERT() in dzn_meta_blits_get_context()

  • vulkan/wsi: Make wsi_win32_surface_get_capabilities() return the current extent

  • dzn: Fix dzn_cmd_buffer_collect_queries()

  • dzn: Use the vk_sync_binary abstraction

  • spirv: Fix windows build

  • dzn: Use the correct ICD path on Win32

  • microsoft/spirv_to_dxil: Fix push_constants type declaration

  • microsoft/spirv_to_dxil: Fix the push_constant UBO size calculation

  • dzn: Emit missing transition barriers for rendering attachments

  • ci/windows: Bump spirv-samples commit-ID

  • microsoft/spirv2dxil: Add a debug option

  • microsoft/compiler: Make sure all SV_Position components are written

  • microsoft/spirv_to_dxil: Extract NIR passes out of spirv_to_dxil()

  • microsoft/spirv_to_dxil: Constify the descriptor binding mapping fields

  • microsoft/compiler: Make input_mappings immune to driver_location holes

  • microsoft/spirv_to_dxil: Remove dead IO vars at the end of dxil_spirv_nir_passes()

  • microsoft/spirv_to_dxil: Add a linking helper

  • microsoft/compiler: Allow vulkan users to handle varyings linking

  • microsoft/spirv_to_dxil: vectorize IOs

  • dzn: Fix maxVertexInputAttributes limit

  • dzn: Handle varying linking explicitly

  • dzn: Fix unitialized var access in dzn_meta_compile_shader()

  • dzn: Fix vertex input handling

  • microsoft/spirv_to_dxil: Let spirv_to_dxil() handle the linking

  • microsoft/compiler: Drop the auto_link parameter passed to nir_to_dxil()

  • dzn: Switch to ID3D12Device2

  • dzn: Drop an unused argument passed to dzn_graphics_pipeline_translate_vi()

  • dzn: Use CreatePipelineState()

  • dzn: Enable depth-bounds testing

  • microsoft/compiler: Lower fquantize2f16

  • nir: Fix flat new_var assignment in create_new_io_vars()

  • microsoft/compiler: Pick a type that matches interpolation mode for structs

  • microsoft/compiler: Truncate function names when needed

  • vulkan/util: Fill VkPhysicalDeviceIDProperties::deviceNodeMask

  • spirv: Add a dst/src type to image deref loads/stores coming from OpAtomic{Load,Store}

  • microsoft/compiler: Images are no longer reprensented by uniform vars

  • microsoft/compiler: Set typed_uav_load_additional_formats when appropriate

  • microsoft/compiler: s/assert()/unreachable()/ in emit_intrinsic()

  • microsoft/compiler: Support load_sample_id_no_per_sample

  • dzn: Decorrelate external image info and external image properties

  • dzn: Return empty external properties

  • dzn: Add a dummy GetDeviceGroupPeerMemoryFeatures()

  • dzn: Add a dummy GetImageSparseMemoryRequirements2()

  • dzn: Add dummy {Create,Destroy}SamplerYcbcrConversion() implementations

  • dzn: Check that no export is requested in the memory allocation path

  • dzn: Lower alignment requirements when allocating buffers or single-sample images

  • dzn: Add a dzn_desc_type_has_sampler() helper

  • dzn: Implement GetDescriptorSetLayoutSupport()

  • dzn: Vulkan 1.1 wants maxPerSetDescriptors >= 1024

  • dzn: Prepare support for pipeline variants

  • dzn: Fix primitiveRestart support

  • dzn: Fix triangle-fan emulation

  • dzn: Support dynamic depth testing parameters properly

  • dzn: Support dynamic line width

  • ci/windows: Allow skipping deqp tests if we have to

  • ci/windows: Add dEQP-VK.dynamic_state.* to the test list

  • ci/windows: Skip dEQP-VK.api.command_buffers.record_many_draws*

  • d3d12: Keep access masks up-to-date when removing vars in d3d12_disable_multisampling()

  • microsoft/compiler: Move d3d12_fix_io_uint_type() to dxil_nir.c

  • microsoft/compiler: Fix Layer type

  • microsoft/compiler: Support gl_Layer

  • dzn: Disable rasterization if the last geometry stage doesn’t write the position

  • dzn: Enable support for geometry shaders

  • ci/dzn: Move to a .toml description

  • dzn: Fix the 2DMSArray case in dzn_image_get_dsv_desc()

  • dzn: Fix CmdPushConstants()

  • dzn: Clamp depthBiasConstantFactor when doing the float -> int conversion

  • dzn: Transition resource to RENDER_TARGET/DEPTH_WRITE before clears

  • microsoft/compiler: Fix emit_ubo_var()

  • ci/dzn: Copy testlog.{css,xsl} to the result dir

  • nir/serialize: Put dest last in packed_instr::tex

  • dzn: Advertise anisotropic filtering support

  • dzn: Advertise shaderImageGatherExtended support

  • dzn: Enable dynamic indexing on all kind of descriptors

  • dzn: Enable shader{Clip,Cull}Distance

  • dzn: Enable the depthClamp feature

  • nir/serialize: Support texop >= 16

  • nir/serialize: Silence integer-overflow false positive

  • vulkan: Add a vk_pipeline_hash_shader_stage() helper

  • anv: Use vk_pipeline_hash_shader_stage()

  • v3dv: Fix nir_shader leaks in v3dv_meta_{clear,copy}()

  • v3dv: Use vk_pipeline_hash_shader_stage()

  • tu: Use vk_pipeline_hash_shader_stage()

  • radv: Kill unused fs_m local var in radv_create_shaders()

  • radv: Use vk_pipeline_hash_shader_stage()

  • dzn: Hook-up device-lost detection

  • dzn: Fix indentation

  • dzn: Initialize UUIDs

  • dzn: Drop dzn_pipeline_cache.c

  • dzn: Add missing D3D12_CACHED_PIPELINE_STATE to MAX_COMPUTE_PIPELINE_STATE_STREAM_SIZE

  • dzn: Fix assertion in d3d12_pipeline_state_stream_new_desc()

  • dzn: Use d3d12_compute_pipeline_state_stream_new_desc() in the compute path

  • dzn: Pass the maximum stream size to d3d12_pipeline_state_stream_new_desc()

  • dzn: Drop useless while(link_mask != 0)

  • dzn: Drop unused allocator passed to dzn_graphics_pipeline_create()

  • dzn: Let dzn_pipeline_init() initialize the root signature in the stream

  • dzn: Fix potential nir_shader leak

  • dzn: Use vk_to_mesa_shader_stage()

  • dzn: Save a few indentation levels in graphics_pipeline_compile_shaders()

  • dzn: Don’t delegate binding translation to dxil_spirv_nir_passes()

  • dzn: Hash pipeline layout stages

  • dzn: Add a generic cached blob wrapper

  • dzn: Drop unneeded goto statement in dzn_compute_pipeline_create()

  • dzn: Move the compute shader compilation logic to a sub-function

  • dzn: Cache NIR shaders

  • dzn: Caculate a binding translation hash

  • dzn: Cache DXIL shaders

  • dzn: Cache pipeline info

  • ci/dzn: Add pipeline cache tests to the include list

  • dzn: Cache and pack transition barriers

  • dzn: Don’t call dzn_cmd_buffer_queue_transition_barriers() prematurely

  • dzn: Rename dzn_cmd_buffer_queue_image_subres_range_transition()

  • dzn: Introduce dzn_cmd_buffer_queue_image_range_state_transition()

  • dzn: Allow shaders to read from depth/stencil attachments

  • dzn: Fix copies of block-based formats

  • dzn: Fix unused var warnings

  • dzn: Fix ‘statement with no effect’ warning

  • dzn: Fix printf() format in dxgi_get_factory() error message

  • dzn: Fix {back,front}_wr_uses_ref assignment

  • dzn: Fix -Wswitch warnings

  • dzn: Use the vk_descriptor_set_layout base struct

  • dzn: Use the vk_pipeline_layout base struct

  • dzn: Mark transition barriers as executed when we execute barriers

  • dzn: Query D3D12_FEATURE_D3D12_OPTIONS3 features

  • dzn: Provide a helper to check if 2 formats are compatible

  • dzn: Support native image copies when formats are compatible

  • dzn: Take VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT into account

Boyuan Zhang (9):

  • radeonsi/vcn: add vcn 4.0 encode support

  • radeonsi/vcn: add vcn 4.0 encode fw interface version

  • radeonsi/vcn: add encode context ib for vcn 4.0

  • radeonsi/vcn: add session init ib for vcn 4.0

  • radeonsi/vcn: enable vcn 4.0 encode for gfx11 asic

  • radeonsi/vcn: use calculated max hierarchy depth for hevc enc

  • vl: add cabac init idc for h264 encode

  • frontends/va: get entropy mode info for h264 encode

  • radeonsi/vcn/enc: enable cabac entropy mode

Brian Paul (101):

  • gallivm: assorted clean-ups in lp_bld_nir_aos.c

  • gallivm: whitespace fixes in lp_bld_tgsi.h

  • gallivm: asst. clean-ups in lp_bld_sample.h

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

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

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

  • gallivm: asst. clean-ups in lp_bld_type.[ch]

  • gallivm: cleanup lp_bld_arit.c

  • gallivm: clean-up in lp_bld_nir.h

  • gallivm: add const qualifier in lp_bld_nir_soa.c

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

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

  • llvmpipe: fix comment typo in lp_linear_fastpath.c

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

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

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

  • llvmpipe: asst. clean-up and add comments in lp_state_fs.h

  • gallivm: clean-up in lp_bld_sample.c

  • llvmpipe: asst. clean-up in lp_setup_context.h

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

  • gallivm: clean-ups in lp_bld_tgsi.[ch]

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

  • llvmpipe: minor clean-ups in lp_jit.h

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

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

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

  • llvmpipe: whitespace clean-ups in lp_rast.h

  • llvmpipe: minor whitespace/formatting cleanups in lp_state_setup.h

  • llvmpipe: minor clean-ups in lp_state_fs_analysis.c

  • llvmpipe: misc clean-up in lp_rast_tri.c

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

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

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

  • gallivm: minor clean-ups in lp_bld_sample_soa.c

  • llvmpipe: misc clean-ups in lp_bld_interp.c

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

  • llvmpipe: fix comment typo in lp_bld_interp.h

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

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

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

  • llvmpipe: minor clean-up in lp_state_blend.c

  • llvmpipe: use enum blend types instead of unsigned

  • llvmpipe: s/unsigned/enum pipe_compare_func/

  • gallivm: asst. clean-ups in lp_bld_logic.

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

  • draw: s/unsigned/enum pipe_prim_type/

  • draw: asst. clean-up in draw_context.h

  • draw: asst. clean-up in draw_gs.h

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

  • draw: asst. clean-up in draw_pipe_validate.c

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

  • draw: asst. clean-up in draw_pt.h

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

  • draw: asst. clean-up in draw_pt_fetch_shader_emit.c

  • draw: asst. clean-up in draw_pt_fetch_shader_pipeline.c

  • draw: asst. clean-up in draw_pt_util.c

  • draw: asst. clean-up in draw_pt_vsplit.c

  • draw: asst. clean-up in draw_vbuf.h

  • gallivm: use enum types instead of unsigned in lp_bld_sample.[ch]

  • llvmpipe: add minor comments in lp_rast.h, lp_setup-rect.c

  • llvmpipe: remove lp_rast_cmd_arg::state field

  • gallivm: s/unsigned/enum pipe_swizzle/

  • llvmpipe: add simple assertion in generate_fragment()

  • util/bitset: add BITSET_SIZE()

  • lavapipe: rework code to compute textures_used, samplers_used

  • llvmpipe: minor code re-org in lp_state_fs_analysis.c

  • nir: add const qualifiers, move some decls in nir_to_tgsi_info.c

  • llvmpipe: replace if/then with switch in llvmpipe_nir_fn_is_linear_compat()

  • gallivm: s/0/LP_BLD_TEX_MODIFIER_NONE/

  • llvmpipe: replace GET_A0() macro w/ inline function

  • llvmpipe: add missing tex_info->texture_unit assignment

  • llvmpipe: fix invalid memory used in lp_fs_linear_run

  • llvmpipe: fix texcoord analysis in llvmpipe_nir_fn_is_linear_compat()

  • llvmpipe: replace LP_RAST_OP_ #defines with enum type

  • gallivm: increase LP_MAX_TGSI_SHADER_IMAGES from 16 to 32

  • lavapipe: fix logicop, independent blend enable/disable

  • llvmpipe: don’t allow texture/resource swizzles on linear path

  • llvmpipe: initialize a local var to fix compiler warning in release build

  • lavapipe: fix incorrect sv[] array size

  • llvmpipe: fix texcoord analysis regression

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

  • llvmpipe: minor white-space clean-up in lp_setup.h

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

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

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

  • llvmpipe: minor optimization in lp_linear_init_interp()

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

  • llvmpipe: remove unneeded casts

  • llvmpipe: replace ‘unsigned’ with enum types

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

  • gallivm: simplify shuffling in emit_store_reg()

  • gallivm: fix incorrect memset() in SOA emit_load_const()

  • gallivm: rename ‘var’ param in emit_store_reg(), emit_store_var().

  • llvmpipe: make opaque field a 1-bit field

  • llvmpipe: minor whitespace clean-up in lp_state_fs.h

  • llvmpipe: pass frontfacing param to jit_function() call

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

  • llvmpipe: remove unneeded casts in lp_rast_linear_fallback.c

  • llvmpipe: consolidate code in lp_rast_linear_fallback.c

  • llvmpipe: tighten up some code in lp_rast_linear_fallback.c

  • llvmpipe: add some const qualifiers in lp_rast_linear_fallback.c

Caio Oliveira (1):

  • intel/compiler: In XeHP prefer <1;1,0> regions before compacting

Chad Versace (2):

  • venus: Refactor vn_fix_graphics_pipeline_create_info

  • venus: Don’t encode ignored pTessellationState

Charlie Turner (4):

  • ci: fix shellcheck violations in the test-vk building script

  • ci: add Linux build of apitrace

  • ci: upgrade gfxreconstruct build to v0.9.10

  • ci: upgrade to DXVK v1.10.1

Charmaine Lee (20):

  • gallium/util: Increase the debug_flush map depth to 64

  • draw: fix double free of NIR IR

  • svga: fix shader IR type passed to draw create shader function

  • svga/nir: enable PIPE_CAP_TGSI_TEXCOORD

  • svga: enable PIPE_CAP_TGSI_TEXCOORD for vgpu10 and up

  • svga/tgsi: add translation for DTRUNC

  • svga/nir: enable lower double option

  • svga: workaround for unexpected double swizzle

  • svga: fix clip distance shadow copy writemask

  • svga: add a helper function for common shader creation

  • svga: create svga_shader_info

  • svga: add svga_compile_shader helper function

  • svga: add need_texcoord_semantic to tgsi_add_point_sprite & tgsi_add_aa_point

  • svga: fix aa point

  • svga: fix reference to NULL offset for atomic counter

  • svga: fix shared memory index

  • svga: fix mksstats build

  • 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 (61):

  • turnip: fix drm modifier support with planar formats

  • util: Keep quiet NaNs quiet when converting to half float.

  • anv: advertise rectangularLines only for Gen10+

  • turnip: let modifier takes precedence over TU_DEBUG=noubwc

  • freedreno/fdperf: make refresh rate configurable

  • freedreno/fdperf: support dumping counters

  • turnip: fix sampledImageIntegerSampleCounts

  • turnip: emit VPC_SO_DISABLE in xfb begin/end

  • ir3: fix mem_ctx for ir3_disasm_info::nir

  • turnip: fix off-by-one in border color bitset

  • turnip: fix tu6_pack_border_color for z24

  • turnip: disable UBWC for SNORM formats

  • turnip: if-checks autotune debug macros

  • turnip: base pipeline draw costs on colorWriteMask

  • turnip: include stencil test for drawcall costs

  • turnip: estimate render pass costs

  • turnip: consider render pass costs in autotune

  • ci/turnip: add a link to VkPhysicalDeviceMemoryProperties failure

  • turnip: force sample interpolations for sample shading

  • turnip: advertise VK_EXT_border_color_swizzle

  • freedreno/fdl: use XYZW swap for PIPE_FORMAT_X24S8_UINT

  • vulkan/device_select: remove get_pdevice_proc_addr

  • freedreno/drm-shim: add a660

  • turnip: fix an assertion with drm-shim

  • ir3: update ir3_const_state comment

  • ir3: copy req_local_mem for MESA_SHADER_KERNEL

  • ir3: fix output_loc size

  • ir3: remove unused patch_vertices_in

  • ir3: increment constoff right after it is assigned

  • ir3: fix tess param allocation

  • ir3: set UL flag before ir3_lower_subgroups

  • turnip: remove shared_consts from tu_compiled_shaders

  • turnip: shared_consts and push_consts are mutually exclusive

  • 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

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

  • turnip: lower the queue priority to 1

  • ir3: fix predicate splitting in scheduler

Christian Gmeiner (12):

  • isaspec: Extend split_bits(..) to accept a bitsize

  • isaspec: Handle patterns bigger then 64 bit

  • nir: Fix unused-variable compile warnings

  • freedreno: Wait for async compile jobs to finish

  • ir3: Create at least one thread for async shader compile

  • gtest: Fix maybe-uninitialized compiler warning

  • r600: Switch to unreachable(..)

  • svga: Clear query before usage

  • ci: Remove -Wno-error=maybe-uninitialized

  • etnaviv: factor out shader screen related init/deint

  • etnaviv: async shader compile

  • etnaviv: Move nir_shader_compiler_options to compiler

Chuansheng Liu (1):

  • iris,anv: correct the max thread number for DG2+

Clément Guérin (1):

  • venus: implement VK_EXT_physical_device_drm

Connor Abbott (69):

  • tu: Delete unused tu_clear_blit GS handling

  • ir3, freedreno, tu: Make ir3_shader_variant store stream_output

  • ir3, fd, tu: Copy misc. info from ir3_shader to ir3_shader_variant

  • ir3: Use ir3_shader_variant::type more often

  • ir3: Allocate disasm_info under variant

  • ir3: Add ir3_shader_variant::compiler

  • tu: Keep original blit shaders separately

  • ir3: Remove ir3_shader_variant::shader

  • ir3: Add functions to serialize variants

  • ir3: Support disabling the pipeline cache

  • ir3: Add ir3_shader_create_variant()

  • tu: Hash pipeline layout contents

  • tu: Rewrite cache UUID based on radv

  • tu: Include turnip debug flags in pipeline cache UUID

  • tu: Implement pipeline caching with shared Vulkan cache

  • tu: Zero-initialize compute driver key

  • tu: Implement VK_EXT_pipeline_creation_feedback

  • tu: Implement VK_EXT_pipeline_creation_cache_control

  • tu: Convert to sync2 entrypoints

  • tu: Expose VK_KHR_synchronization2

  • tu: Implement VK_EXT_image_2d_view_of_3d

  • tu: Enable shaderTessellationAndGeometryPointSize

  • tu: Enable VK_KHR_swapchain_mutable_format

  • tu: Fix partial-write LRZ determination

  • tu: Implement extendedDynamicState2LogicOp

  • tu: Implement VK_EXT_color_write_enable

  • tu: Enable uniform texture buffers with NPOT formats

  • freedreno/a6xx: Support more 3-component formats

  • tu: Fix 3d GMEM store swizzle in texture descriptor

  • tu: Add missing WFI to the 3d GMEM store path

  • tu: Save/restore *_BIN_CONTROL in 3d GMEM store path

  • ir3/sched: Fix could_sched() determination

  • tu: Fix linemode for tessellation with isolines

  • ir3: Fix vectorizer condition for SSBOs

  • freedreno: Document a650-specific CP_REG_WRITE flag

  • freedreno/a6xx: Document border color/swizzle interaction

  • freedreno/a6xx: Fix border color swizzling

  • freedreno/a6xx: Use fdl format swizzle

  • freedreno/fdl: Note border color constraints

  • freedreno/a6xx: Fix border color with Z24UINT_S8UINT

  • tu: Fix stencil border color with has_z24uint_s8uint

  • mesa/st: Fix border color type for stencil sampling

  • nv50/ir/ra: Fix copying compound for moves

  • freedreno/a6xx: VPC_SO_NCOMP is actually VPC_SO_BUFFER_STRIDE

  • tu: Use incoherent CCU write for buffer accesses

  • tu: Support resolving D24S8 -> S8

  • tu: Fix resolving d32s8 into s8 on fast path

  • tu/lrz: Do not use framebuffer when inheriting LRZ

  • tu: Treat CP_WAIT_FOR_ME as a cache invalidate

  • tu: Rewrite tess factor emission

  • tu: Move TU_DONT_CARE_AS_LOAD into attachment_set_ops()

  • tu: Disable GMEM for multiview inside tu_render_pass_gmem_config

  • tu: Move tu_render_pass definition up

  • tu: Remove usage of RenderPassBeginInfo

  • tu: Initial support for dynamic rendering

  • tu: Remove has_subpass_predication

  • tu: Update more state with secondaries

  • tu: Split out some state into a separate struct

  • util/trace: Fix u_trace_*_iterator with no tracepoints

  • tu: Add support for suspending and resuming renderpasses

  • tu: Use common vk_image struct

  • tu: Use common vk_image_view base struct

  • tu: Add debug option to use emulated renderpass support

  • tu: Restore formatting of tu_clear_blit.c

  • tu: Fix sysmem depth attachment clear flushing

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

  • tu/lrz: Fix multiple subpass case with secondaries

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

  • tu: Don’t preload variable-count descriptors

Constantine Shablya (1):

  • anv: set image_read_without_format NIR option on Vulkan 1.3

Corentin Noël (5):

  • mesa: Make sure to fallback to handling the original choose texture format

  • virgl/ci: Update virglrenderer

  • virgl/ci: Update virglrenderer

  • virgl: Add support for passing the supported number of components from virgl

  • virgl: Only progagate the uniform numbers if the numbers are actually right

Cristian Ciocaltea (4):

  • virgl/ci: Rename virgl-lava-* jobs to virgl-iris-*

  • virgl/ci: Update checksums for some virgl iris traces

  • ci: Add CPU frequency adjustment capability

  • ci: Limit Intel CPU scaling frequency for performance tests

Daniel Schürmann (36):

  • nir/lower_alu_to_scalar: don’t set the nir_builder cursor

  • aco: remove ‘max_waves’ and use ‘num_waves’ to adjust for LDS and workgroup size

  • aco: split num_waves adjustment into separate function

  • aco: adjust num_waves for LDS before scheduling

  • aco/optimizer: prevent any overflow between SGPR and const offset on MUBUF

  • aco/ra: fix live-range splits of phi definitions

  • aco: don’t re-create vectors for load_barycentric_* intrinsics

  • aco/ra: improve split_vector register assignment if the operand is not killed

  • aco/optimizer: re-combine and copy-propagate p_create_vector(p_split_vector)

  • radv: move two NIR passes out of tight optimization loop

  • radv: call nir_lower_vars_to_ssa later

  • aco: fix spilling of phis without temp operands

  • nir/opt_vectorize: add callback for max vectorization width

  • nir: introduce new nir_alu_alu_width() with nir_vectorize_cb callback

  • nir/opt_vectorize: refactor src rewriting to avoid unnecessary mov instructions

  • aco: correctly validate v_fma_mixhi_f16 register assignment

  • radv: don’t lower vectorized instructions to 32bit

  • radv: use callback for nir_lower_to_scalar

  • radv: vectorize nir_op_fdiv & nir_op_flrp & nir_op_ineg

  • radv: vectorize nir_op_fabs

  • radv: fix swizzles after nir_opt_algebraic_late

  • radv: reorder some NIR passes

  • nir/opt_shrink_vectors: fix re-using of components for vecN

  • radv/shader_info: fix load_frag_coord and load_sample_pos read masks

  • aco: fix packed 16bit fneg/fsat optimization

  • aco: avoid unnecessary copies in emit_wqm()

  • aco: Avoid live-range splits in Exact mode

  • aco: fix assertion in insert_exec_mask

  • spirv: handle phis decorated with RelaxedPrecision

  • radv: Only create noop-fs for graphics pipelines

  • radv: create RT traversal as separate shader

  • radv/rt: use derefs for the traversal stack

  • radv/rt: use stage ID as handle for general and closestHit shaders

  • radv/rt: Don’t load ClosestHit SBT on every hit, but only once after traversal

  • radv/rt: fix nir_builder cursor in lower_rt_instructions()

  • radv/rt: simplify lower_rt_instructions()

Daniel Stone (10):

  • dzn/ci: Don’t spam conformance warnings

  • CI: Disable Windows jobs

  • ci: Allow lima jobs to be globally disabled

  • ci: Also disable Windows container builds when down

  • ci/windows: Eliminate duplicate script definition

  • ci/zink: Add glx-tfp to skips

  • ci/lava: Sleep before, not after, API calls

  • ci: freedreno farm is down

  • CI: Disable Collabora lab

  • Revert “CI: Disable Collabora lab”

Danylo Piliaiev (53):

  • turnip: Try harder to keep LRZ valid and fix a few edge cases

  • freedreno/a6xx: Add UNK fields to CP_REG_TEST and CP_COND_REG_EXEC

  • turnip: Skip load/stores for tiles with no geometry

  • turnip: Add debug option to print gmem load/store skip stats

  • turnip: Fix tu_debug_flags values clashing

  • tu: Implement VK_EXT_image_view_min_lod

  • tu: Do not flush ccu in clear/blits during renderpass

  • pps: Open writable renderer node in DrmDevice::create

  • tu: Fix indices of drm_msm_gem_submit_cmd when filling them

  • freedreno/a6xx: Add EARLYPREAMBLE flag to all a6xx_sp_xs_ctrl_reg0

  • util/u_trace: Add json output

  • docs/u_trace: document u_trace usage

  • ir3: handle gl_Layer and gl_ViewportIndex when there is TES + GS

  • ir3: Force late-z if FS has global store/atomic

  • tu: Fix D32S8 resolves into D32 or S8 in sysmem mode

  • spirv: Workaround for RelaxedPrecision on OpLogical* in 3DMark

  • turnip: Allow nested CP_COND_REG_EXEC

  • turnip: Fix out-of-bounds builder->shader_iova access

  • tu/autotune: Prevent division by zero

  • turnip: copy disasm strings for pipeline executables

  • tu: Disable sample counting for 3d blits during occlusion query

  • tu: Reset xfb_used at the end of a renderpass

  • meson: Define _GNU_SOURCE for android host system

  • meson/pps: Check if libdrm exists to compile pps

  • meson/tu: Don’t compile libdrm paths if KGSL is selected

  • tu: Do not expose storage image/buffer features for PACK16 formats

  • tu: Use hw binning or sysmem with QUERY_TYPE_PRIMITIVES_GENERATED

  • tu: Don’t count 3d blits in QUERY_TYPE_PRIMITIVES_GENERATED

  • freedreno: Document rest of GRAS_LRZ_CNTL, clarify UNK_25 event

  • freedreno: document GRAS_UNKNOWN_810A

  • tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear

  • ir3: Use NIR’s info.writes_memory to detect when when to force late-z

  • tu,freedreno: Refactored START/STOP events for pipeline stats

  • tu: Fix prim gen query and pipeline stats query interaction

  • zink: re-enable EXT_primitives_generated_query for Turnip

  • util/u_trace: Fix iteration over config_control

  • turnip: Refactor tracepoints generation to reduce duplication

  • turnip: Add TU_GPU_TRACEPOINT envvar to toggle tracepoints

  • freedreno: Add the rest of tracepoints with start/end to perfetto

  • freedreno: Refactor tracepoints generation to reduce duplication

  • freedreno: Add FD_GPU_TRACEPOINT envvar to toggle tracepoints

  • docs/u_trace: Add documentation for *_GPU_TRACEPOINT envvars

  • turnip: Disable LRZ fast-clear for gen1 and gen2

  • tu: Do not dereference descriptorSetLayout in push descriptors tmpl

  • zink/turnip: Add comments to already triaged failures for tu baseline

  • turnip: Simple breadcrumbs implementation to debug hangs

  • tu: WFI after PC_TESSFACTOR_ADDR update

  • freedreno: WFI after PC_TESSFACTOR_ADDR update

  • ir3/ra: Always insert interval for precolored inputs

  • ir3: Never remove GS_HEADER_IR3 sysval input

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

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

  • ir3: Prevent reordering movmsk with kill

Dave Airlie (82):

  • clc: add simple llvm initialise API

  • clc: initialise one more llvm stage

  • u_blitter/stencil: take dstbox x/y into accounts for dst fb width

  • util/stencil: fix stencil fallback blit shader texture types.

  • llvmpipe: add user memory resources to the debug global list.

  • gallium/vl: wrap codec support checks in a common function.

  • gallium/omx: add video codec supported hook for decode paths.

  • meson: add a video codec support option

  • gallium/vl: respect the video codecs configure in meson

  • vulkan/wsi: keep allocate queue families in image, just don’t fill them

  • gallivm: move to new pass manager to handle coroutines change.

  • radv: precalculate hs offchip parameters.

  • radv: precalculate tess ring sizes/offsets.

  • radv/ac: introduce a new common function for hs calcs.

  • ac: port radeonsi tess factor calculations to common code.

  • radeonsi: port tess ring calcs to the common helper.

  • zink: avoid extra submits for empty wait cmdbufs.

  • zink: don’t finish barriers cmd buffer if not used.

  • radv: cache the slab bo pointer in the pipeline.

  • radv: only dirty line stipple when necessary.

  • radv: optimised command buffer reset of vertex bindings.

  • aco: move info pointer to a copy.

  • aco: move to a minimal aco shader info struct.

  • aco/info: reduce the gs ring info to what is needed.

  • aco: remove radv specific streamout info

  • aco: convert vs and so info over to aco structs.

  • aco/info: add some more fields.

  • aco/radv: convert to aco shader info at the radv level.

  • aco: remove radv vs prolog key from aco internals.

  • aco: drop unused radv include

  • ac/radv: drop info pointer from the ac and radv shader structs

  • aco/radv: drop radv_nir_compiler_options from aco.

  • llvmpipe: align scratch size to 64-bit size.

  • meson: add build-id to pipe libraries

  • vl: fix codec checks to disable properly

  • lavapipe: fix depth bias offset flag enables.

  • llvmpipe: flush resources for kms swrast path.

  • llvmpipe: handle timespec overflow on fence waits.

  • nouveau: move codegen into a standalone library.

  • nouveau: move codegen to a common higher level directory.

  • nouveau/codegen: drop all ubytes from codegen.

  • nouveau/codegen: drop gallium headers from the interface.

  • llvmpipe: disable alpha test branch if multisample is enabled.

  • egl/x11: split large put image requests to avoid server destroy

  • egl/x11: add missing put_image cookie cleanups

  • wsi/x11: add xcb_put_image support for larger transfers.

  • glx/drisw: use xcb instead of X to query connection

  • draw/cliptest: add support for guard band + full Z

  • zink: workaround depth sampler border color when z24 is z32

  • aco: refactor the radv binary builder out of the core aco fn.

  • aco/radv: provide a callback from aco shader building to build binary

  • aco/radv: provide a vs prolog callback from aco to radv.

  • aco: drop radv_shader.h include

  • radv: add a dynamic vertex format cache.

  • lavapipe: drop unreachable pNext checks.

  • lavapipe: enable variablePointers

  • kms/dri: add mutex lock around map/unmap

  • crocus: fail query begin if upload allocation fails.

  • lavapipe: state latest conformance tests passed

  • llvmpipe: fix aniso cube map arrays.

  • crocus: fix leak in query code.

  • llvmpipe: make last_fence a screen/rast object not a context one.

  • llvmpipe: keep context list and use to track resource usage.

  • gallivm: use progress from subgroup lowering.

  • gallivm: fix casting around read invocation.

  • llvmpipe: export ARB_shader_ballot

  • lavapipe: expose some subgroup extensions

  • zink: fixup subgroup vote/ballot enables.

  • zink/llvmpipe/ci: skip broken CTS ballot test.

  • util: add reallocarray wrapper for win32

  • llvmpipe: Allocate scene tiles dynamically

  • gallium: add a rasterizer state bit for unrestricted depth values.

  • mesa/st: disable unrestricted fragment depth values for GL/GLES

  • util/pack_color: clamp depth values outside range for unorm formats.

  • llvmpipe/fs: handle unrestricted depth values.

  • lavapipe: enable VK_EXT_depth_range_unrestricted.

  • util/reallocarray: add errno.h include.

  • lavapipe: enable VK_FORMAT_R5G5B5A1_UNORM_PACK16

  • gallivm: fix printf hook for cached shaders.

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

  • nir_to_tgsi_info: drop const_buffers_declared

  • llvmpipe: finish rendering before flushing frontbuffer resources.

David Heidelberg (58):

  • ci: skqp: patch skqp to report also GL results

  • ci: skqp: upgrade to skqp based on Android CTS 11.0 (r7)

  • ci: skqp: update URL

  • ci: intel: Merge anv and iris into src/intel/ci

  • ci/iris: Enable SKQP on Tiger Lake boards

  • ci: traces: switch to Valve trimmed traces

  • ci: traces: re-enable disabled traces which are now trimmed traces

  • ci: traces: virgl: reenable previously crashing Godot trace

  • ci: uprev piglit 2022-05-10

  • ci/iris: skqp: add default GLES rendertests for TGL

  • ci/iris: skqp: remove flaking atlastext for TGL

  • ci/virgl: fix checksum for valve traces which run on iris

  • ci/freedreno: enable ROR and Nheko traces

  • ci/i915: add entries for RoR and Nheko traces

  • ci/intel: add RoR and Nheko traces and reenable most of Valve traces

  • ci/crocus: add RoR and Nheko traces

  • ci/llvmpipe: add RoR and Nheko traces

  • ci/radeonsi: add RoR and Nheko traces

  • ci/virgl: traces: add RoR and Nheko traces

  • ci/panfrost: add RoR and Nheko traces

  • ci/iris: skqp: remove flaking atlastext for TGL (gl version)

  • ci: traces: temporarily disable nheko trace

  • ci/virgl: traces: temporarily disable nheko trace

  • ci: uprev piglit 2022-06-09

  • ci/etnaviv: sort fails.txt

  • ci/etnaviv: add recent fails and remove 3 unexpected passes

  • ci/etnaviv: disable tests which takes too long

  • ci/etnaviv: add recent flakes for gc2000

  • ci/etnaviv: gc2000: drop flakes from fails

  • ci/freedreno: add Blender, Warzone2100, Freedoom and Unvanquished traces

  • ci/freedreno: fix A530 glmark2@ideas:speed=10000 trace

  • ci/llvmpipe: add Blender, Warzone2100, Freedoom and Unvanquished traces

  • ci/iris: add Blender, Warzone2100, Freedoom and Unvanquished traces

  • ci/virgl: add Blender, Warzone2100, Freedoom and Unvanquished traces

  • ci/virgl: iris: disable Counter Strike 1.6 trace flaking

  • ci/crocus: add Blender, Warzone2100, Freedoom and Unvanquished traces

  • ci/panfrost: add Blender, Warzone2100, Freedoom and Unvanquished traces

  • ci/iris: disable Blender Diorama trace (incompatible with perf. traces)

  • ci/freedreno: update restricted traces to the brotli compressed version

  • ci/freedreno: smuggle myself into restricted traces access list

  • ci/freedreno: disable non-existing trace

  • ci: Uprev apitrace to 790380e05854

  • ci: traces: switch to brotli compressed traces

  • ci/freedreno: add more restricted traces

  • ci/freedreno: temporary disable AmnesiaTDD

  • ci/freedreno: disable Stellaris trace

  • ci/freedreno: disable SpecOps trace, each run flaky

  • Revert “ci/freedreno: temporary disable AmnesiaTDD”

  • ci/traces: piglit, be more verbose

  • docs: briefly document Gallium Nine

  • ci: add script for manage Mesa CI

  • ci: Allow disabling the whole of the Igalia farm

  • ci: move apitrace instalation outside of x86_test-vk

  • ci: wine-apitrace bump to 11.1

  • ci/freedreno: 3 pixel change in Raven restricted trace

  • nine: char can be unsigned on non-x86 platforms

  • mailmap: fix order of emails for Axel Davy

  • ci: set reasonable amount of wget retries for each download

Dawn Han (6):

  • Add iub features and properties passthrough

  • Refactor the descriptor enums to be extensible

  • Add iub type to vn_descriptor_type Verified the pNext VkWriteDescriptorSet is not NULL on iub type

  • Add the iub binding count tracking

  • Refactor and add template support for iub

  • venus: enabled iub in physical device

Denis Pauk (1):

  • panvk: Return VK_ERROR_INCOMPATIBLE_DRIVER for Midgard

Dmitry Osipenko (1):

  • virgl: Fix unmapping of blob resources

Dylan Baker (74):

  • VERSION: bump to 22.2-devel for next cycle

  • docs: truncate new_features.txt

  • docs: add release notes for 22.0.2

  • docs: Add sha256sums for 22.0.2

  • docs: update calendar and link releases notes for 22.0.2

  • docs: update calendar for 22.1.0-rc1

  • docs: update calendar for 22.1.0-rc2

  • winsys/radeon: remove unused simple_list.h

  • r300: remove unused simple_list.h

  • gallium/rbug: replace simple_list.h with list.h

  • gallium/driver_trace: remove simple_list.h

  • util/list.h: add a function to move an item in a list

  • gallium/util/u_cache.c: remove trailing whitespace

  • gallium/util/u_cache: replace simple_list.h with list.h

  • gallium/draw: remove trailing whitespace

  • gallium/draw: use list.h instead of simple_list.h

  • llvmpipe: cleanup trailing whitespace

  • llvmpipe: replace uses of simple_list.h with list.h

  • util: remove simple_list

  • docs: Extend calendar entries for 22.0 by 1 releases.

  • docs: update calendar and link releases notes for 22.0.3

  • docs: Extend calendar entries for 22.1 by 1 releases.

  • docs: update calendar for 22.1.0-rc3

  • docs: update calendar for 22.1.0-rc4

  • docs: add release notes for 22.0.3

  • docs: Add sh256sum for mesa 20.0.3

  • docs: update calendar and link releases notes for 22.1.0

  • docs: add release notes for 22.1.0

  • relnotes: Add sha256sum and fix minor formatting issues

  • docs: Add calendar entries for 22.1 release.

  • docs: add release notes for 22.0.4

  • docs: add sha256sum to 22.0.4 notes

  • docs: Extend calendar entries for 22.0 by 1 releases.

  • docs: update calendar and link releases notes for 22.0.4

  • docs: add release notes for 22.1.1

  • docs: Add sh256sums for 22.1.1

  • docs: update calendar and link releases notes for 22.1.1

  • docs: add release notes for 22.0.5

  • docs: update sha256 for 22.0.5

  • docs: update calendar and link releases notes for 22.0.5

  • docs: add release notes for 21.3.9

  • docs Add sha256 sums for 21.3.9

  • docs: link releases notes for 21.3.9

  • docs: add release notes for 22.1.2

  • docs: add sha256sum to 22.1.2 notes

  • docs: update calendar and link releases notes for 22.1.2

  • docs: drop 22.1.4 calendar entry.

  • docs: Add calendar entries for 22.2 release candidates.

  • docs: Extend calendar entries for 22.1 by 3 releases.

  • docs: add release notes for 22.1.3

  • docs: add sah256sum for mesa 22.1.3

  • docs: update calendar and link releases notes for 22.1.3

  • docs: Bump 22.2 branchpoint by two weeks

  • anv: add gfx version 12.5 flushes to CCS path

  • iris|anv: gfx version 12.5 data cache flush is not a workaround

  • VERSION: bump 22.3.0-devel

  • VERSION: bump for 22.2.0-rc1

  • .pick_status.json: Update to 8e6bdb2ed31f27c28d258859ec48e8e67f51ff41

  • .pick_status.json: Update to 0a0205f04552ab21971c431a5f8bb7486d664422

  • .pick_status.json: Update to 1a3b086b06c6c1ff63a4abe3752ca0a7a854dc77

  • .pick_status.json: Update to c67e60ae8fefaeadbe06bf0cbd8ad2ee267a6c0e

  • .pick_status.json: Update to 70891edd9728e7dd73115171fdb03622ce6450ba

  • VERSION: update to 22.2.0

  • Revert “VERSION: update to 22.2.0”

  • VERSION: bump to 22.2.0-rc2

  • .pick_status.json: Update to a3bf0da1cbd4b10043c80bf44609a3024b5fcc36

  • .pick_status.json: Update to 24b9ad7cd5ebc7cfa5d03cf0f243ea4841c971b9

  • .pick_status.json: Update to 74fc367127ccf945f4c649dd6ddff955c802e36e

  • .pick_status.json: Mark 11ab6087797f805cf158048915c67945613c9a72 as denominated

  • VERSION: bump to 22.2.0-rc3

  • .pick_status.json: Update to 0c6fbfca0c91ef012e8ab767a317c07f1f6dc5e6

  • .pick_status.json: Update to 8eac45b27446cd9b9eaeb147af97fff1e09832cb

  • .pick_status.json: Update to baf24dea943202b3a92cad0c9f9648597040955a

  • .pick_status.json: Update to 3d4c36a3bcc51ed441b2667d92291bea30ef7449

Eli Schwartz (1):

  • meson: add various generated header dependencies as order-only deps

Ella Stanforth (1):

  • v3dv: Implement VK_KHR_performance_query

Emil Velikov (1):

  • c11: reinstate the original license and authorship

Emma Anholt (232):

  • nouveau/nir: Don’t try to emit OP_FMA pre-nvc0.

  • Revert “ci: Disable Google’s lab”

  • ci/virgl: Add piglit and GL4.3 testing to the virpipe path.

  • nir: Add lowering for fround_even on r300.

  • nir: Skip fround_even on already-integral values.

  • nir: Avoid generating extra ftruncs for array handling.

  • turnip: Add TU_DEBUG=layout for dumping image layouts.

  • freedreno/ir3: Make sched nodes before adding deps.

  • turnip: Add nir_opt_conditional_discard.

  • freedreno/ir3: Call nir_opt_find_array_copies().

  • turnip: Ignore TOP/BOTTOM_OF_PIPE bits in subpass src/dst dep flags.

  • turnip: Don’t disable LRZ in subpasses after the first in the easy case.

  • nir_to_tgsi: Add a workaround for virglrenderer TG4.

  • nir_to_tgsi: Fix assertion failures handling 64-bit vec3/vec4 ssa undefs.

  • nir_to_tgsi: Don’t forget to split 64-bit store_per_vertex_output.

  • nir_to_tgsi: Avoid swizzling from undefined channels in load_output.

  • nir_to_tgsi: Allocate the primid sysval to num_inputs, not num_outputs.

  • tgsi: Emit ureg HW_ATOMIC decls in range order.

  • tgsi_to_nir: Emit load_ubo_vec4 instead of load_ubo on non-integer HW.

  • nine: Disable optional use of TTN when MUL_ZERO_WINS is available.

  • r600: Fix up some mis-indentation of blocks.

  • ci/r600: Manual run updates.

  • r600: Fix reading back from a temp array immediately after writing on RV770.

  • r600/sb: Avoid causing an exception when getting the reciprocal of 0u.

  • r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled.

  • nouveau/nv50: Print the number of loops in shader-db output.

  • ci/nouveau: Add expectations files for GM206.

  • ci/nouveau: Add nv92 xfails.

  • nouveau/nir: Disable bitfield ops pre-nvc0.

  • nouveau/nv50: Enable mesa/st alpha test lowering on nv50 with NIR.

  • nouveau/nv50: Set the primid sysval flag if it’s in the sysval list, too.

  • nouveau/nir: Fix the inverted sense of usesSampleMaskIn.

  • nouveau/nir: Fix edgeflag input detection.

  • nouveau/nir: Set the input for vertex/instance ID like TGSI does.

  • ci/dzn: Cut the runtime by running 1/3 of the enabled tests.

  • nir_to_tgsi: Make vec_to_movs avoid unsupported coalescing for 64-bit.

  • nir_to_tgsi: Lower FS input array indexing since we don’t declare input arrays.

  • tgsi: Extend array lengths when merging usage_masks.

  • virgl: Switch to nir-to-tgsi by default.

  • nir/lower_tex: Make the adding a 0 LOD to nir_op_tex in the VS optional.

  • nir_to_tgsi: Drop the txl(lod=0)->tex nir_lower_tex() fixup.

  • nouveau/nir: Move FS output stores to the end of the last block.

  • ci/nouveau: Add MESA_GLES_VERSION_OVERRIDE=3.1 baseline state.

  • nouveau/nir: Add support for pre-GF100 images and ssbos.

  • nouveau/nir: Put the UBO offset indirect into the address reg.

  • nouveau: Enable the NIR backend by default.

  • util: Add some unit tests of the half-float conversions.

  • nir: Eliminate out-of-bounds read/writes in local lowering.

  • nir: Don’t assert on tg4 offset range.

  • svga: Add support for requesting NIR and translating to TGSI.

  • ci/iris: Demote APL deqp to manual-only for now.

  • ci/iris: Add a bunch of APL and KBL flakes recently.

  • mesa/st: Always generate NIR from GLSL, and use nir_to_tgsi for TGSI drivers.

  • mesa/st: Remove st_glsl_to_tgsi.

  • mesa/st: Remove TGSI shader program variant handling.

  • mesa/st: Drop the attrib remapping in st_prepare_vertex_program().

  • mesa/st: Remove TGSI-only shader lowering code.

  • tgsi_scan: Remove unused input_array_last/output_array_last.

  • glsl: Remove UBO reference lowering.

  • mesa: Remove unused Mesa IR PROGRAM_* register files.

  • gallium/tgsi: Remove tgsi_emulate.

  • mesa/st: Remove now unused TGSI paths from disk cache.

  • glsl: Retire the non-NIR GLSL linking paths.

  • gallium: Remove now-unused shader caps.

  • glsl: Remove the unused lower_if_to_cond_assign.

  • glsl: Drop the dead MOD_TO_FLOOR path.

  • mesa/st: Clean up a bit of st_prepare_vertex_program().

  • compiler/glsl: Remove the dead parts of build_program_resource_list().

  • glsl: Remove EmitNoLoops and the associated lower_jumps(lower_break=true) code.

  • glsl: Remove unused lower_variable_index_to_cond_assign.

  • svga: Set lower_bitops for vpu9 screen.

  • glsl: Stop lowering ir_quadop_vector.

  • nouveau: disable fences when running under drm-shim.

  • Revert “ci: remove nouveau from shader-db runs”

  • ci/iris: Cut the glk-deqp test coverage in half.

  • glsl: Make all drivers take the GLSLOptimizeConservatively path.

  • turnip: Add a TU_DEBUG=perf debug option.

  • ci/crocus: Manual CI updates after CI was down for a bit.

  • ci/crocus: Merge the piglit runs with the deqp runs.

  • i915g/ci: Add depth-clear-precision-check xfails like everyone else.

  • ci/crosvm: Simplify the CID setup.

  • ci/crosvm: Rename VSOCK_TEMP_DIR -> VM_TEMP_DIR.

  • ci/crosvm: Terminate the previous crosvm after a deqp-runner timeout.

  • freedreno/ir3: Fix 16-bit bit_count.

  • spirv: Use nir_vec_scalars() to simplify matrix transpose.

  • spirv_to_nir: Cast RelaxedPrecision ALU op dests to mediump.

  • turnip: Make RelaxedPrecision-decorated ALU ops 16-bit.

  • freedreno/ir3: Add support for 16-bit nir_texop_lod.

  • freedreno/ir3: Lower texture instructions used only for f2f16 to 16-bit.

  • mesa/st: Only scalarize for doubles lowering if we’re lowering doubles.

  • glsl,nir: Move i/umulExtended lowering to NIR.

  • panfrost: always print the bad ALU op if we’re failing to translate.

  • ci/turnip: Add missing xfails for a618 full VK run

  • nir_lower_mediump: Drop assertion about not containing movs.

  • freedreno/ir3: Enable load/store vectorization for SSBO access, too.

  • freedreno/ir3: Make the types of tex coord padding match.

  • freedreno/ir3: Fix validation of half-precision image store values.

  • freedreno/ir3: Fold 16-bit conversions into image load/store src/dsts.

  • i915g: Ignore the new SEPARABLE_PROGRAM property.

  • ci/i915: Merge the piglit and deqp runs.

  • ci/i915: Update manual piglit job expectations.

  • turnip: Don’t bother creating tile_load/store_cs for sysmem rendering.

  • turnip: Refactor a bit of tu6_emit_tile_select().

  • turnip: Move binning decisions from FB usage time to FB creation time.

  • turnip: Use fb->binning_possible to decide on conditional tile load/stores.

  • ci/turnip: Add a little forced touch-testing of XFB with no binning requested.

  • turnip: Refactor a bit of repeated code for subpass setup.

  • turnip: Include 3d-based CmdClearAttachments() in binning visibility.

  • turnip: Refactor a bit of subpass attachment processing.

  • turnip: Allow load/store skipping in vkCmdClearAttachments().

  • turnip: Move tile loads back into the draw CS.

  • nouveau/nv30: Make sure fsat is lowered in the VS.

  • gallium+glsl: Remove EmitNoSat/PIPE_CAP_VERTEX_SHADER_SATURATE

  • glsl: Remove stale lower_instructions comments.

  • glsl: Move exp/log-to-exp2/log2 lowering to glsl-to-NIR.

  • tgsi_exec: Fix inf/nan handling for divide by zero.

  • glsl: Drop the div-to-mul-rcp lowering for floats.

  • nir: Fix idiv lowering on !NativeIntegers when lower_fdiv is also set.

  • glsl: Drop INT_DIV_TO_MUL_RCP lowering.

  • ci/crocus: Drop g41’s xfail for rgba_half_float_oes.

  • ci/iris: Disable skqp until it can be stabilized.

  • turnip: Reverse the order of walking pipes or tiles on odd rows.

  • mesa/st: Abort the linking on driver link failure.

  • .gitignore: Qualify the path for the ignored build directory.

  • nir: Rename is_arb_asm to use_legacy_math_rules and document its meaning.

  • gallium: Rename MUL_ZERO_WINS to LEGACY_MATH_RULES.

  • nir_to_tgsi: Set LEGACY_MATH_RULES cap for use_legacy_math_rules shaders.

  • r600/sfn: Implement 0*x=0 behavior for use_legacy_math_rules.

  • nouveau/nir: Implement mul_zero_wins behavior for use_legacy_math_rules.

  • tgsi_to_nir: Set use_legacy_math_rules for TGSI_PROPERTY_LEGACY_MATH_RULES.

  • gallium: Rename PIPE_CAP_TGSI_LEGACY_MATH_RULES to drop “TGSI”

  • Revert “nine: Disable optional use of TTN when MUL_ZERO_WINS is available.”

  • iris: Enable PIPE_CAP_LEGACY_MATH_RULES.

  • crocus: Enable PIPE_CAP_LEGACY_MATH_RULES.

  • ci/dzn: Skip a test that intermittently times out at a minute.

  • ci/iris: Disable blender-demo-cube_diorama on APL.

  • ci: Terminate capture-devcoredump before tarring up artifacts.

  • turnip: Document some fields about resolves.

  • ci/bare-metal: Apply autopep8 to our python scripts.

  • ci/bare-metal: Add per-boot-stage timeouts for fastboot and poe.

  • ci/bare-metal: Get rid of servo’s serial feed threads.

  • ci/bare-metal: Add handling of netboot firmwares for servo boards.

  • ci/bare-metal: Add test phase timeouts to all boards.

  • ci: Remove the unused .test-manual

  • ci/vc4: Merge quick_shader in with deqp-gles

  • ci/vc4: Turn on deqp-egl testing by default.

  • vc4: Propagate txf_ms’s dest_type to the lowered txf.

  • freedreno/ir3: Disable image/ssbo 16-bit conversion folding pre-a6xx.

  • freedreno/a5xx: Set the buffer bit appropriately in XS_CTRL_REG0.

  • ci/freedreno: Turn a530 back on by default and update expectations.

  • ci/bare-metal: Remove “stage: test” from .baremetal-test.

  • ci/bare-metal: Consolidate needs declarations in .baremetal-test-*.

  • ci/bare-metal: Collapse artifacts wget by default.

  • ci/traces: GC unused code for DXVK trace replay.

  • ci/traces: Drop ZINK_USE_LAVAPIPE ICD override.

  • ci/freedreno: Add vulkan+gl integration testing in piglit.

  • ci/turnip: Test traces on turnip using zink.

  • ci/turnip: Trim the a630 VK run a bit.

  • ci: Use “!references” to manage scheduled pipeline rules.

  • ci: Pull out farm disables to a reused rule.

  • ci: Pull common zink frontend rules to a shared rule list.

  • ci/freedreno: Use !references to clean up restricted traces rules.

  • ci: Simplify vulkan rules using !references.

  • ci: Split core GL from core VK-or-GL rules.

  • ci/freedreno: Filter when we run test jobs for VK or GL changes.

  • ci/zink: Reuse anv-rules.

  • ci/zink: Simplify lavapipe rules setup, and clarify what the rules are for.

  • ci: Remove the trailing “when: never”s from rules.

  • ir3: Retire the cp postsched pass now that we do RA in SSA.

  • ci: Uprev deqp to 1.3.3.0.

  • ci/llvmpipe: Skip ssbo.layout.random.all_shared_buffer.36

  • ci: Make the retry policy default for all jobs.

  • ci: Rename .ci-run-policy rules to .build-rules.

  • ci: Drop .build-rules from container jobs.

  • ci: Remove .build-rules from core test job definitions.

  • ci: Fix non-freedreno performance jobs running during Marge merges.

  • ci: Remove GIT_STRATEGY from .test-manual-mr.

  • mesa/st: Disable OES_texture_3D for PIPE_CAP_MAX_TEXTURE_3D_LEVELS==0.

  • vc4: Disable OES_texture_3D being exposed.

  • vc4: Move previous existing 3D xfails up to the group of 3d xfails.

  • vc4: Add notes on the remaining dEQP failures.

  • turnip: Account for additional_cs_reserve_size for both bin and render.

  • turnip: Fix up per-stage additional size accounting.

  • turnip: Fix the reservation for vertex inputs.

  • turnip: Refactor vertex input setup a little.

  • ir3: Make sure to pass the interp_mode through in our load_bary lowering.

  • nir+ir3: Rename load_size_ir3 to load_center_rhw_ir3.

  • freedreno: Rename the “SIZE” regs for interpolateAtOffset to “CENTERRHW”

  • ir3: Clarify what’s happening in the interpolateAtOffset() math.

  • ir3: Use non-persp interpolation when appropriate for interpolateAtOffset.

  • zink: Do the timestamp-to-ns math in a double to have better precision.

  • mesa: Fix the error check for VertexAttrib*.

  • vc4: Work around a HW bug with 2-vert line loops.

  • vc4: Add links to test bug reports.

  • kopper: Fix the return value of kopperSetSwapInterval().

  • kopper: Use the swap interval that was set at swapchain creation time.

  • glx: Unify dri2/dri3 vblank_mode logic.

  • kopper: Respect the vblank_mode env var.

  • egl: Just include driconf.h instead of redefining its values.

  • loader: Just include driconf.h instead of redefining its values.

  • ci/freedreno: Mark an occasional flake pass that happens on a530.

  • ir3: Fix the no-emitted-vertex condition emission in geom lowering.

  • mesa/arbprog: Move the GLSLFragCoordIsSysVal handling to prog_to_nir.

  • mesa/arbprog: Use nir_lower_io_to_temporaries.

  • mesa/arbprog: Stop doing optimization in the ARB program IR.

  • ci/crocus: Update portal 2 trace shas for the recent fix.

  • ci/crocus: Disable the blender trace.

  • ci/crocus: Drop xfails for the recent image external fix.

  • freedreno/ir3: Enable core NIR’s 16-bit ALU optimizations.

  • intel/fs: Simplify brw_barycentric_mode() args.

  • ci/bare-metal: Add timeouts to the shell commands called in fastboot.

  • ci/freedreno: Switch a630 to manual/disabled for lab maintenance.

  • glsl: Use the same NIR path for shared mem lowering as SPIRV does.

  • glsl: Remove optimize_swizzles.

  • ci/turnip: Add a bit of spilling-vs-ballot testing on a618.

  • ci/freedreno: Add some more known flakes for a630 from our IRC logs.

  • ci/turnip: Bump up the a630 full run timeout.

  • ci/turnip: Add a couple of missing a630 fails.

  • Revert “ci/freedreno: Switch a630 to manual/disabled for lab maintenance.”

  • nir: Split usub_sat lowering flag from uadd_sat.

  • ci/crocus: Fix the commented YML for blender-demo-cube_diorama.

  • gallivm: Refactor a bit of UBO/SSBO range checking.

  • gallivm: Optimize single-invocation SSBO stores.

  • ci/virgl: Make the VM-based virgl tests report to #virgl-ci, too.

  • nir: Add an opt pass for phis after if choosing between true/false.

  • glsl: Remove opt_conditional_discard().

  • nir: Use nir_foreach_phi_src consistently.

  • ci/freedreno: Update a630 s8 resolve xfails.

  • turnip: Split the tiling config into separate layouts based on CCU usage.

  • turnip: Use the GMEM CCU space for attachments when the stores won’t.

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

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

Enrico Galli (6):

  • microsoft/spirv_to_dxil: Add pass to lower dynamic accesses on ubo[1]

  • microsoft/compiler: Fix for arrays of 1 element

  • microsoft/compiler: Add support for unnamed ubos

  • microsoft/compiler: Fix when using a shadow sampler more than once

  • microsoft/spirv_to_dxil: Fix discard semantics

  • microsoft/spirv_to_dxil: Fix discard to demote + return pass

Eric Engestrom (36):

  • meson: replace deprecated dep.get_pkgconfig_variable(…) with dep.get_variable(pkgconfig : …)

  • docs: show and link to the new macOS CI

  • broadcom/rpi4-skips: drop duplicated lines

  • mailmap: update my email to Igalia

  • vulkan: add script to detect & replace identifiers that have been renamed

  • vulkan/runtime: use updated tokens from vk.xml

  • vulkan: use updated tokens from vk.xml

  • nir: use updated tokens from vk.xml

  • radv: use updated tokens from vk.xml

  • v3dv: use updated tokens from vk.xml

  • turnip: use updated tokens from vk.xml

  • zink: use updated tokens from vk.xml

  • lavapipe: use updated tokens from vk.xml

  • pvr: use updated tokens from vk.xml

  • anv: use updated tokens from vk.xml

  • dzn: use updated tokens from vk.xml

  • panvk: use updated tokens from vk.xml

  • venus: use updated tokens from vk.xml

  • zink: fix portability_subset usage after rename from EXTX to KHR

  • zink: drop unused VkPhysicalDevicePortabilitySubsetPropertiesKHR

  • zink: add missing guards around `have_{ext}`

  • docs/isl: fix typos & formatting

  • vk/util: handful of pythonic cleanups

  • vk/util: simplify extensions gen code

  • util/list: rename LIST_ENTRY() to list_entry()

  • nouveau: use existing list_first_entry() macro instead of re-writing it

  • docs/features.txt: mark VK_ANDROID_native_buffer as supported on turnip

  • docs/features.txt: mark VK_ANDROID_native_buffer as supported on v3dv

  • docs/ci: fix Emma’s name

  • turnip: expose support for VK_EXT_acquire_drm_display

  • ci: add `–print-errorlogs` to `meson test`

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

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

  • wsi/x11: fix memleak in wsi_x11_connection_create()

  • meson: replace manual compiler flags with meson arguments

  • broadcom: fix dependencies in static_library() calls

Erico Nunes (11):

  • ci: put lima farm back online

  • docs/ci: fix literalinclude of caching setup files

  • lima/ppir: optimize branch comparison when possible

  • lima/ppir: merge branch nodes in simple cases

  • egl: Fix DETECT_OS macro usage

  • ci: update linux kernel to v5.17

  • ci: update docs for linux kernel uprevs

  • lima/ci: update piglit ci expectations

  • lima/ci: reenable lima-mali450-piglit-gpu:arm64

  • lima/ci: Don’t skip piglit opengl 1 tests

  • ci: Revert “CI: Lima farm is offline”

Erik Faye-Lund (157):

  • gallium: rename continue shader-cap

  • gallium: rename dround shader-cap

  • gallium: rename dfracexp/dldexp shader-cap

  • gallium: rename ldexp shader-cap

  • vulkan: explicitly cast object-type enum

  • meson: turn on -Wno-unused-function project-wide

  • nir: introduce and use nir_component_mask

  • dzn: fixup indent

  • dzn: remove all usage of ComPtr<T>

  • dzn: always use ID3D12Device1

  • dzn: always use ID3D12GraphicsCommandList1

  • dzn: use ID3D10Blob instead of ID3DBlob

  • dzn: pass IDXGIAdapter1 to d3d12_create_device

  • dzn: port to d3d12 c-api

  • dzn: add a bunch of missing struct-keywords

  • dzn: drop auto usage

  • dzn: drop using references

  • dzn: no more reinterpret_cast

  • dzn: use define instead of constexpr

  • dzn: use c-style for-statement

  • dzn: use c-style initialization

  • dzn: c-style casts

  • dzn: do not set unused default member initializer

  • dzn: port code to plain c

  • dzn: merge util sources

  • dzn: remove needless defines

  • dzn: remove some needless casts

  • dzn: clean up pointer syntax

  • dzn: add space before += operator

  • dzn: drop needless enum-casts

  • dzn: fixup indent

  • dzn: remove stale cpp_args

  • nir/lower_int64: do not try to clamp floats to int-range

  • vulkan: do not depend on alignof(void)

  • lavapipe: quiet non-conformant warning on ci

  • panvk: quiet non-conformant warning on ci

  • vulkan: use c_msvc_compat_args for shared code

  • vulkan: drop empty vulkan_wsi_args

  • microsoft/clc: fixup indentation

  • microsoft/compiler: fixup indentation

  • meson: remove unused defines

  • meson: deprecate specifying osmesa-bits

  • gallium/xlib: fix stale comment

  • mesa: add missing error-path

  • util: fix test on msvc

  • lavapipe: tolerate NULL UBO and SSBO descriptors

  • lavapipe: tolerate NULL image view descriptors

  • lavapipe: tolerate NULL image-buffer view descriptors

  • lavapipe: tolerate NULL sampler-buffer view descriptors

  • lavapipe: add support for null-descriptors from EXT_robustness2

  • zink: pass screen to extension getter macro

  • zink: initialize dispatch-table before queue-init

  • zink: call vk-functions through dispatch-table

  • zink: pass screen to zink_create_instance

  • zink: dynamically load a few functions

  • zink: use run-time linking to loader

  • dzn: reset correct list

  • vulkan/wsi: unbreak win32-support

  • d3d12: add missing cmath includes

  • tests/graw: rename shaders from .sh to .txt

  • dzn: add a debug-flag to wait for the debugger

  • dzn: add debug option to redirect stdout/stderr

  • editorconfig: remove scons-ism

  • editorconfig: remove html-rule

  • editorconfig: remove m4-rule

  • editorconfig: remove pl-rule

  • radeonsi: port amdgcn_glslc build to meson

  • freedreno: remove stale makefile

  • intel: remove stale makefile

  • meson: modernize win_flex stdint.h logic

  • c99_compat.h: remove inline and __func__ shims

  • util: add missing c99_compat.h includes

  • util: remove needless c99_compat.h includes

  • egl: remove needless c99_compat.h includes

  • gallium/util: remove needless c99_compat.h includes

  • mapi: remove needless c99_compat.h includes

  • gallium: remove needless c99_compat.h includes

  • include: remove needless c99_compat.h includes

  • intel/isl: remove needless c99_compat.h includes

  • vulkan/device_select: remove needless c99_compat.h includes

  • include: drop c99_math.h

  • include: drop c11_compat.h

  • pvr: do not use c_msvc_compat_args

  • turnip: do not do STATIC_ASSERT on a variable

  • freedreno: do not use variable in STATIC_ASSERT

  • freedreno: do not do STATIC_ASSERT on variables

  • iris: do not do STATIC_ASSERT on variables

  • freedreno: degrade STATIC_ASSERT to assert

  • v3dv: do not do STATIC_ASSERT on variables

  • util: add IS_POT macro

  • intel/compiler: use macro for power-of-two check

  • broadcom/compiler: use macro for power-of-two check

  • util: use static_assert directly

  • util: implement STATIC_ASSERT using c++11 / c11 primitives

  • meson: add back -Werror=vla to msvc compat flags

  • ci/windows: add back build-error detection

  • d3d12: move cubemap-lowering to common-code

  • microsoft/compiler: mark image-functions as such

  • microsoft/compiler: make sampler-lowering optional

  • microsoft/spirv_to_dxil: lower cube-images to 2d arrays

  • dzn: enable binding_model tests

  • dzn: correct assert-condition

  • dzn: handle stencil-attachment-optimal layout

  • dzn: use a null-rtv to handle no-attachment

  • dzn: enable two more exts

  • util: sort includes

  • llvmpipe: assume c99

  • c99_compat.h: assume c99 support

  • util: use c11 alignof instead of our own

  • glcpp: remove outdated msvc hack

  • vulkan/util: assume c11

  • util: use c11 alignas instead of rolling our own

  • gallium: remove stale comment

  • gallium: reorganize includes

  • llvmpipe: use c11 alignas instead of PIPE_ALIGN_VAR

  • gallium: use c11 alignas instead of PIPE_ALIGN_VAR

  • gallium: use c++11 alignas instead of PIPE_ALIGN_VAR

  • gallium: remove repeated check

  • gallium: remove unused macros

  • gallium: clean up PIPE_ALIGN_STACK-definition

  • docs/zink: correct requirement for tbos

  • dzn: correct order of src_subres and dst_subres args

  • docs: set language to english

  • dzn: fill in driver name and info

  • dzn: fill in float-control details

  • dzn: fill in non-uniform-indexing props

  • dzn: fill in bindless props

  • dzn: fill in depth/stencil resolve props

  • dzn: fill in minmax props

  • dzn: fill misc props

  • dzn: expose VK_KHR_driver_properties

  • zink: remove pointless test

  • zink: remove pointless assert

  • zink: drop pointless comment

  • llvmpipe: merge all rasterizer-bind functions

  • llvmpipe: consolidate legacy_points and multisample state

  • llvmpipe: clean up bresenham implementation

  • docs/zink: correct name of extension

  • docs/zink: document required VK_KHR_swapchain_mutable_format

  • docs/zink: document required VK_EXT_border_color_swizzle

  • zink: warn about missing image2DViewOf3D feature

  • zink: fix EXT_color_write_enable check

  • gallium/hud: do not use texture-rect for font

  • llvmpipe: remove unused function

  • zink: clean up extension emitting

  • zink: set dynamic indexing caps

  • zink: more accurately set {Sampled,Image}1D caps

  • zink: more accurately set {Sampled,Image}Buffer caps

  • zink: more accurately set ImageQuery cap

  • 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: type_main -> type_void_func

  • zink: add spirv_builder_function_call

  • zink: wrap discard in a function

  • zink: clamp miplodbias when creating sampler

  • docs/zink: document rgtc requirement

Fabrice Fontaine (1):

  • src/util/futex.h: fix build on 32-bit architectures using 64-bit time_t

Feng Jiang (1):

  • virgl: do not share virgl_screen between different drm_files

Filip Gawin (5):

  • r300: Print warning when stubbing derivatives

  • r300: keep negation if w is an inline constant

  • r300: don’t check for unitialized reads when rewriting register

  • r300: prefer old not native swizzle in constant folding

  • r300: don’t read from output transform_r300_vertex_SEQ/SNE

Francisco Jerez (2):

  • intel/dev: Compute pixel pipe information based on geometry topology DRM query.

  • intel/fs/xehp+: Emit scheduling fence for all NIR barriers on platforms with LSC.

Frank Binns (3):

  • pvr: replace p_compiler.h boolean with stdbool

  • pvr: shorten error to err in label names

  • pvr: Add TI AM62 as a supported device.

Georg Lehmann (74):

  • aco: Remove some old comments in aco_opcodes.py.

  • aco: Reuse previous -1 result in find_msb to avoid using VOP3.

  • nir/lower_mediump: Add a new pass to fold 16bit image load/store.

  • aco: Implement image_store d16.

  • aco: Implement image_load d16.

  • radv: Use nir_fold_16bit_image_load_store_conversions.

  • radv: Run copy_prop and dce after folding 16bit sampling/load/store.

  • aco: Remove D16 zero components from image stores.

  • meson: Tell glslang to be quiet.

  • radeonsi: Use nir_fold_16bit_image_load_store_conversions.

  • wsi/x11: Don’t leak xcb_get_geometry_reply_t.

  • nir/opt_algebraic: Fix mask in shift by constant combining.

  • nir/opt_algebraic: Simple xor/ishr optimizations.

  • radv: Don’t retile read-only images.

  • nir/opt_algebraic: Optimize Doom Eternal’s word extract by LSB.

  • aco: Implement uclz.

  • aco: Implement usub_sat.

  • aco: Implement isub_sat.

  • ac/llvm: Implement usub_sat and isub_sat.

  • ac/llvm: Implement uclz.

  • nir: Add optional lowering for mul_32x16.

  • radv: Lower mul_32x16.

  • radv: Lower hadd/hradd.

  • radv: Lower 8bit isub_sat/usub_sat.

  • radv: Enable VK_INTEL_shader_integer_functions2.

  • radv, aco: Packed usub_sat/isub_sat.

  • zink: Use VK_USE_64_BIT_PTR_DEFINES to check for 64bit platforms.

  • radv, aco: Lower txf offset in NIR.

  • nir/lower_tex: Add lower_array_layer_round_even option.

  • radv, aco: Round texture array layer in NIR.

  • vulkan: Spec update to 1.3.217.

  • radv: Implement VK_EXT_non_seamless_cube_map.

  • aco: Print r128/a16 MIMG bits separately.

  • aco: Remove r128_a16 MIMG builder option.

  • anv: Implement VK_EXT_non_seamless_cube_map.

  • radv: Remove redundant memset in radv_descriptor_set_create.

  • radv: Check descriptor pool entry count before allocating a new set.

  • radv: Don’t check if we need to copy immutable samplers for non push templates.

  • aco/ra: Static assert that changing instruction type to VOP2 is valid.

  • aco/ra: Move mac encoding optimization to its own function.

  • aco/ir: Pad SOP2 and SOPC to the same size as SOPK.

  • aco/ra: Optimize some SOP2 instructions with literal to SOPK.

  • aco/optimizer: Convert s_add_u32 with literals to s_add_i32 if carry is not used.

  • aco/optimizer: Optimize SOPC with literal to SOPK.

  • r600/sfn: Add missing std::array include.

  • aco: Fix swapping sources in SOPC -> SOPK optimization.

  • aco/assembler: Fix s_bitreplicate_b64_b32 on GFX9.

  • nir_to_tgsi: Lower uadd_sat/usub_sat.

  • zink: Lower uadd_sat/usub_sat.

  • r600: Lower uadd_sat/usub_sat.

  • ir3: Implement [iu]sub_sat.

  • nir/lower_io: Fix array length of buffers larger than INT32_MAX.

  • nir/opt_algebraic: Optimize [ui](add|sub)_sat with 0.

  • radv,aco: Don’t lower and vectorize 16bit iabs.

  • radv: Remove ineg from lower_bit_size_callback callback.

  • radv, aco: Don’t lower 16bit isign.

  • ir3: Only run 16bit tex NIR passes on a5xx+.

  • ir3: Lower alu to scalar if nir_legalize_16bit_sampler_srcs made progress.

  • nir: Rewrite and merge 16bit tex folding pass with 16bit image folding pass.

  • nir/lower_mediump: Add an option to only fold if all tex sources can be folded.

  • ir3: Stop using nir_legalize_16bit_sampler_srcs.

  • aco: Add G16 opcodes.

  • aco: Support 16bit sources for texture ops.

  • radv: Fold 16bit tex sources.

  • aco: Add a note about G16 without A16 to README-ISA.md.

  • aco/ir: Generalize (un)ordered_swapped.

  • aco/ir: Add integer get_cmp_info.

  • aco/ir: Fix swapped nle.

  • aco/ir: Add vcmpx opcode to get_cmp_info.

  • aco/ir: Add v_cmp_class to get_cmp_info.

  • aco/ir: Add swapped opcode for v_cmp_u/v_cmp_o.

  • radeonsi: Stop using nir_legalize_16bit_sampler_srcs.

  • nir/fold_16bit_tex_image: Default to only_fold_all.

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

Gert Wollny (85):

  • virgl: Extend integer write out output fix to all non-move integers ops

  • r600/sfn: Fix store_shared_r600 write masks

  • ntt: Add option to not optimized register allocation

  • nir: Add pass to split 64 bit vec3 and vec4 variable access and phis

  • ntt: Split 64 bit vec3 and vec4 local variables and phis

  • virgl: Clear all indirect flags when writing to a temporary

  • nir: Don’t optimize to 64 bit fsub if the driver doesn’t support it

  • ntt: remove dead input variables before lowering FS IO

  • r600/sb: Don’t optimize float GT and GE

  • r600: tune nir options

  • r600: Add support for TGSI_OPCODE_ATOMIMIN and IMAX

  • virgl: don’t move input gl_SampleMaskIn to a temp

  • r600: Allow eight bit, three channel formats for vertex buffers

  • nir: honor lower_double options for ffloor and ffract

  • r600/sb: Don’t create three source ops with all kcache values

  • r600/sb: Fall back to un-optimized shader if scheduling fails

  • virgl: Don’t let ntt optimize the register allocation

  • tgsi: Don’t bother setting the TGSI_PROPERTY_SEPARABLE_PROGRAM

  • virgl: Submit the TGSI_PROPERTY_SEPARABLE_PROGRAM when the host understands it

  • r600: Add number of ALU groups to statistics

  • r600: Make sure that LDS instructions only use bank swizzle 012

  • r600: Update nir options

  • r600/sfn: rewrite NIR backend

  • r600: enable sb by default also for NIR

  • r600: Cleanup nir options

  • r600/sfn: support nir_op_mulz and legazy math rules

  • r600/sfn: Add missing copyright information

  • r600/sfn: Don’t use assert to test success of operation

  • r600: limit loops when trying to merge alu groups

  • r600/sfn: Never consider an op with register dest as dead

  • r600/sfn: Add support for fdph

  • r600/sfn: lower CLIPVERTEX to clip planes

  • r600/sfn: emulate pmr::monotonic_buffer_resource if needed

  • r600/sfn: clean up some commented out code

  • r600/sfn: fix storing shader output array locations

  • r600/sfn: lower undef to zero

  • r600/sfn: count LDS queue pop reads separately in assembler

  • r600/sfn: Fix the kcache failure handling

  • r600/sfn: Fix emmision of LDS instructions

  • r600/sfn: Fix used of local shared write mask

  • r600/sfn: Fix streamout with non-zero component write

  • r600: don’t dump shader info to files on debug

  • r600/sfn: make sure the memory pool is released after shader translation

  • r600/sfn: lower the right shader variant

  • r600: Delete possible old NIR variant when translating from TGSI

  • r600: don’t clone the nir shader, just use it

  • r600ß/sfn: Don’t fall through with VS outputs

  • r600/dri-tweak: Disable ARB_shader_image_load_store for “Tomb Raider 2013”

  • r600/sb: fall back to unoptimized shader if RA fails

  • r600: Don’t set TES_EVAL UCP dirty when it is not supported

  • virgL: lower fneg and fabs

  • virgl: honor host caps in shader cash sha evaluation

  • r600/sfn: Factor out fragement shader class for EG

  • r600/sfn: Support pre-EG style FS input

  • r600/sfn: Prepare StreamOut instruction for pre EG opcodes

  • r600/sfn: Handle slot differences between pre-EG and EG

  • r600/sfn: Handle chipclass with kcache allocation

  • r600/sfn: Handle buffer size query on pre-EG

  • r600/sfn: Handle pre-EG GS input fetch

  • r600/sfn: Handle primitive input handling for pre-EG

  • r600/sfn: Handle non-compressed MS texel fetch

  • r600/sfn: Set trans flag for flt_to_int on pre-EG

  • r600/sfn: Handle pre-EG buffer fetch

  • r600/sfn: Disable FP64 for pre-CEDAR

  • r600/sfn: Advertise support for fmulz

  • r600/sfn: Enable NIR for pre RG hardware

  • r600/sfn: remove leftover debug output

  • r600/sfn: Handle R600 class sin/cos

  • r600: increase possible stack size in binary code

  • 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: 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/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: when reading back wait first, then do the transfer

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

Glenn Kennard (1):

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

Greg Depoire–Ferrer (5):

  • util/queue: add missing space to comment in util_queue_destroy

  • zink: check for error when initializing util_queue

  • lavapipe: check for error when initializing lvp_queue

  • util/queue: handle thread cration failure in util_queue_adjust_num_threads

  • zink: fix crash on dlclose when zink_internal_create_screen failed

Guilherme Gallo (48):

  • ci/lava: Encapsulate job data in a class

  • ci/lava: Filter log lines from LAVA return

  • ci/lava: Return test-suite result as exit code

  • ci/lava: Fix LAVA job validation

  • ci/lava: Set lava-signal to kmsg

  • ci/lava: Always validate the lava job

  • ci/lava: Use lava-test-case to run custom scripts in LAVA

  • ci/lava: Trap init-stage2.sh background processes

  • ci/lava: Fix shebang in deqp-runner.sh

  • ci/lava: Parse all test cases from 0_mesa suite

  • ci/lava: Let LAVA job submitter run without JWT file

  • ci/lava: Reduce LAVA boot phase timeout to 3 minutes

  • ci/lava: Cancel the job if the script is interrupted

  • ci/lava: Improve exception handling

  • ci/lava: Retry when data fetching log RPC call is corrupted

  • ci: Fix init-stage2 exit code

  • ci: Update trace after CI fix

  • ci: Fix tests expectations

  • ci/lava: Make job submitter parse the job result

  • ci/lava: Fix colored LAVA outputs

  • ci/lava: Fix Gitlab Section markers

  • ci/lava: Add support for more complex color codes

  • ci/lava: Filter out undesired messages

  • ci/lava: Improve result parsing regex

  • ci/lava: Create Gitlab log sections handler

  • ci/lava: Create LogFollower and move logging methods

  • ci/lava: Follow job execution via LogFollower

  • ci/lava: heartbeat: don’t consider kernel message logs

  • ci/lava: Wrap job info into a collapsed section

  • ci/lava: Wrap job definition dump into a collapsed section

  • ci/lava: Add an integration test for LAVA jobs

  • ci/lava: Don’t print LAVA debug messages

  • ci/lava: Highlight kernel messages in bold

  • ci/lava: Highlight job retrying message

  • ci/lava: Stop printing after the result line

  • ci/lava: Flexibilize section marker regexes

  • ci/lava: Rename console color names

  • ci/lava: Update license header

  • ci/lava: Split lava_log into modules

  • ci/lava: Detect R8152 issues preemptively and retry

  • ci/lava: Make hung job status yellow

  • ci/lava: Color red for fatal and yellow for warning

  • ci/lava: Add `slow` pytest marker

  • ci/lava: Add canceled job status

  • ci/lava: Add delay before calling lava-test-case

  • ci/lava: Increase boot timeout

  • ci/lava: Only parse result within testcase section

  • ci/lava: Remove MINIO_RESULTS_UPLOAD if requested

Hans-Kristian Arntzen (4):

  • radv: Fix RTPSO hashing of pGroups.

  • vulkan: Update Vulkan XML and headers to 1.3.219.

  • vulkan: Add common code for VK_EXT_shader_module_identifier.

  • radv: Implement VK_EXT_shader_module_identifier.

Hoe Hao Cheng (4):

  • zink/codegen: remember the fields in feats/props structs of extensions

  • zink/codegen: do not include compilation structs with extension structs

  • zink/codegen: do not automatically consider extensions promoted

  • zink/codegen: use the updated identifiers

Hyunjun Ko (15):

  • radv: fix assertion for the count of xfb output

  • turnip: add an assertion for max descriptor set count.

  • ir3: handle intrinsic_load_draw_id when scanning driver constants

  • turnip: clamp to 1 for negative bottom-right of viewport.

  • turnip: fix wrong size for lrz cs when lrz_track_quirk is enabled.

  • freedreno,ir3: rename Z_CLAMP_ENABLE to Z_CLIP_DISABLE

  • turnip: keep the depth_clip_disable state at the pipeline builder.

  • zink: remove the workaround for depth_clip_enable on turnip

  • turnip: Remove an unnecessary assert.

  • turnip: expose VK_EXT_shader_module_identifier

  • ir3: change maximum size of const files.

  • ir3: handle shared consts.

  • turnip: clean up unused parameters for user consts.

  • turnip: Change to use shared consts for PushConstants

  • tu: increase maxPushConstantsSize to 256.

Iago Toral Quiroga (79):

  • v3dv: ignore no-op barriers

  • v3dv: drop obsolete comment

  • v3dv: don’t emit final noop job if we don’t have anything to signal

  • v3dv: document Vulkan requirements for signaling operations

  • v3dv: ignore barriers for image layout transitions from undefined layouts

  • v3dv: drop default sampler states if not used

  • v3dv: flag BCL barriers for all-graphics and all-commands stages

  • v3dv: skip binning sync if binning shaders don’t access external resources

  • v3dv: use wait stage for wait semaphores to decide about binning syncs

  • v3dv: check input attachment usage as sampled usage

  • v3dv: implement VK_EXT_separate_stencil_usage

  • v3dv: trivially implement VK_KHR_separate_depth_stencil_layouts

  • docs/features: flag VK_KHR_timeline_semaphore as implemented

  • v3dv: expose separateDepthStencilLayouts

  • v3dv: implement vkGetPipelineExecutableInternalRepresentationsKHR

  • v3dv: implement vkGetPipelineExecutablePropertiesKHR

  • v3d/compiler: add more stats to prog_data

  • v3dv: implement vkGetPipelineExecutableStatisticsKHR

  • v3dv: expose VK_KHR_pipeline_executable_properties

  • v3dv: don’t leak variant QPU when pipeline compile fails

  • v3dv: drop unsused struct

  • v3dv: expose VK_KHR_shader_float_controls

  • v3dv: expose VK_KHR_spirv_1_4

  • v3dv: expose VK_KHR_vulkan_memory_model

  • v3dv: fix format usage checks when extended usage flag is set

  • broadcom/compiler: don’t promote early fragment tests when writing sample mask

  • v3dv: consume barriers at the right stages

  • v3dv: only clear BCL barrier state if we don’t have pending graphics barriers

  • v3dv: use an explicit struct type to track barrier state

  • v3dv: track sources of barriers

  • v3dv: limit sync for barriers to hw queues selected by source mask

  • v3dv: don’t be too aggressive disabling early Z

  • v3dv: use the global RCL EZ disable if we don’t have any EZ draws in the job

  • broadcom/compiler: disable flags optimization for loop conditions

  • v3dv: merge pending secondary barrier state into primary command buffers

  • v3dv: handle barriers at the end of a command buffer

  • v3dv: fix leak

  • broadcom/compiler: fix postponed TMU spills with multiple writes

  • broadcom/compiler: don’t predicate postponed spills

  • v3dv: fix pool descriptor count for inline uniform buffers

  • v3dv: fix merge jobs

  • nir: fix documentation for uadd_carry and usub_borry opcodes

  • v3dv: don’t lower uadd_carry and usub_borrow

  • v3dv: remove obsolete comment

  • nir/serialize: fix missing divergence info after deserialization

  • broadcom/compiler: don’t try to hide TMU latency at QPU scheduling

  • broadcom/compiler: don’t over-estimate latency of TMU instructions

  • v3dv: fix comment in texel buffer shader copy path

  • v3dv: remove unused lowering for nir_intrinsic_load_layer_id

  • v3dv: fix comment for point_sprite_mask filed in shader key

  • v3dv: clean up get_internal_type_bpp_for_image_aspects

  • v3d,v3dv: stop hardcoding various image limits

  • v3d: stop using a smaller texture limit in OpenGL

  • v3d,v3dv: stop copying and pasting the translate_swizzle helper

  • v3dv: only save/restore push constant data for meta operations if needed

  • v3dv: move push constant data to the command buffer state

  • v3dv: limit upload of indirect push constant data

  • v3dv: don’t allocate MAX_PUSH_CONSTANTS_SIZE bytes for the push constants UBO

  • v3dv: stop tracking push constant buffer references

  • v3dv: allocate more push constant buffers if needed

  • v3dv: add a dirty state for pending push constants UBO updates

  • v3dv: explain why we clear certain state after a draw call

  • v3dv: remove duplicate condition

  • nir: add nir_address_format_2x32bit_global

  • broadcom/compiler: implement 2x32 global intrinsics

  • broadcom/compiler: track if a shader uses global intrinsics

  • v3dv: implement VK_KHR_buffer_device_address

  • v3dv: handle VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT

  • v3dv: remove assert that poolSizeCount must be larger than 0

  • v3dv: fix offset reported by vkGetImageSubresourceLayout

  • v3dv: remove unnecesary FIXME comment

  • v3d,v3dv: add a common v3d_hw_prim_type helper

  • v3dv: only check binning sync for semaphores for the first CL job

  • v3dv: explicitly set sampler min/max filter properties to false

  • v3dv: fill in Vulkan 1.2 missing device properties

  • v3dv: enable missing Vulkan 1.2 features for supported extensions

  • v3dv: enable missing mandatory Vulkan 1.2 features

  • broadcom/ci: update list of slow tests

  • v3dv: expose Vulkan 1.2

Ian Romanick (26):

  • glsl: Fix mixed tabs and spaces in lower_mat_op_to_vec.cpp

  • glsl: Add flag to disable part of do_vec_index_to_cond_assign

  • nir: Use nir_vector_extract to generate code for ir_binop_vector_extract

  • glsl: Delete lower_extracts code

  • anv: Remove FS executables when applying the null FS optimization

  • intel/fs: Add missing synchronization for WaW dependency

  • nir: i32csel opcodes should compare with integer zero

  • nir/algebraic: Fix NaN-unsafe fcsel patterns

  • nir: Add and use algebraic property “is selection”

  • nir/range_analysis: Teach range analysis about fdot opcodes

  • intel/compiler: Rename vec4 state URB opcodes to have VEC4_ prefix

  • intel/eu: Validate some aspects of URB messages

  • intel/compiler: Move logical-send lowering to a separate file

  • intel/fs: Add _LOGICAL versions of URB messages

  • intel/fs: Lower URB messages to SEND

  • intel/fs: Remove non-_LOGICAL URB messages

  • intel/vec4: Set lower_usub_sat

  • spirv: Fix array length of buffers larger than INT32_MAX.

  • intel/fs: Make logical URB write instructions more like other logical instructions

  • intel/fs: Make logical URB read instructions more like other logical instructions

  • intel/fs: Don’t pass flags to lower_urb_read_logical_send or lower_urb_write_logical_send

  • intel/fs: Eliminate “masked” and “per slot offset” URB messages

  • intel/fs: Use canonical form for “work around” tags

  • 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

Icecream95 (45):

  • clc: Use stringstream for printing spirv errors

  • panfrost: Stop overallocating compressed textures

  • panfrost: Enable NIR lowering of half float packing

  • panfrost: Fix pack_32_2x16 implementation

  • pan/bi: Use texture index instead of sampler for message preloading

  • pan/va: Improvements to LEA_TEX instructions

  • pan/va: Add more transcendental operations

  • pan/va: Add SEG_ADD/SEG_SUB operation

  • pan/va: Add absneg modifier to V2F32_TO_V2F16

  • pan/va: Improve texture instructions

  • nir/lower_tex: Copy more fields in lower_tex_to_txd and friends

  • pan/mdg: Keep min_bound at 16 when alignment requires it

  • pan/mdg: Use MAX2 to set min_alignment

  • pan/mdg: Fix mask usage when filling before a spill

  • pan/mdg: Fix disassembly of store instructions

  • pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled

  • pan/mdg: Fix multiple spilt writes in the same bundle

  • panfrost: Copy blend constant into variant even when reusing it

  • panfrost: Increase the limit for blend shader variants

  • panfrost: Move patched_s out of the pan_blitter_views struct

  • nir: Add store_combined_output_pan BASE back

  • pan/bi: Read base for combined stores

  • pan/mdg: Read base for combined stores

  • panfrost: Only write depth / stencil once if MRT is used

  • pan/bi: Reverse linear constraint bits

  • pan/bi: Add nodearray datastructure

  • pan/bi: Use nodearrays for linear constraints

  • panfrost: Constant stencil value tracking

  • panfrost: Stop using sparse_array for batch BOs

  • panfrost: Use a macro for checking for a shared bind type

  • panfrost: Remove sync arguments from panfrost_batch_submit

  • panfrost: Enable QUAD_STRIP and POLYGON on v6

  • pan/va: Use the _safe iterator when adding blend shader calls

  • pan/decode: fflush buffers after dumping and before aborts

  • pan/decode: Use tag bits for resource entry count

  • pan/decode: Change indent when decoding resources

  • panfrost: Only emit images when they are present

  • panfrost: Emit the correct number of attributes

  • panfrost: Clear the GENERAL varying buffer field if unused

  • panfrost: Correctly calculate prefetch suppresion varying index

  • panfrost: Add a debug option for checking overflows on pool uploads

  • panfrost: Don’t unbind recently bound streamout targets

  • panfrost: Allow NULL streamout targets

  • nine: Make vdecl_index_map always signed

  • nine: Only enable thread_submit by default on x86

Igor Torrente (2):

  • venus: Add support to VK_KHR_maintenance4 extension

  • venus: Use maintenance4 to get max_size_buffer

Ikshwaku Chauhan (1):

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

Illia Abernikhin (1):

  • vulkan/runtime: repair thread safety in method vk_queue_start_submit_thread()

Indrajit Das (5):

  • radeonsi/gfx11: VRS changes

  • radeonsi: save the fs constant buffer to the util blitter context

  • gallium/u_blitter: clear color buffers using color from a constant buffer

  • mesa/st: add nir shader to clear color buffers using constant value

  • mesa/st: clear color buffers using color from a constant buffer

Italo Nicola (3):

  • mesa/st: call pipe->link_shader even if ir loaded from cache when linking

  • tgsi: Add SEPARABLE_PROGRAM property

  • virgl: overpropagate precise flags

Iván Briano (6):

  • vulkan/wsi/wayland: Fix double free on error condition

  • anv: re-alloc push constants after secondary command buffers

  • anv: do not get rid of empty/useless fragment shaders

  • anv: assert inheritance_info is not NULL

  • anv: emit scissors when the pipeline changes

  • anv: pipelineStageCreationFeedbackCount is allowed to be 0

James Zhu (5):

  • amd: update headers to support decode software ring

  • radeonsi/gfx11: update codec support for gfx11

  • radeonsi/vcn: add decode software ring support for gfx11

  • radeonsi/vcn: add jpeg decode support for gfx11

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

Jan Beich (1):

  • vulkan/wsi: treat EBADF as missing DMA_BUF_IOCTL_{EXPORT,IMPORT}_SYNC_FILE

Jan Palus (1):

  • pvr: use UINT64_C for 64-bit constant

Jason Ekstrand (312):

  • clc: Only initialize LLVM once

  • clc: Rework logging a bit

  • clc: Declare LLVMContexts on the stack

  • intel/compiler: Set lower_fisnormal

  • nir,microsoft: Move scale_fdiv into a common NIR pass

  • nir/opcodes: fisfinite32 should return bool32

  • util: Remove util_cpu_detect

  • util/blob: Add align helpers

  • util/set: Respect found in search_or_add_pre_hashed

  • vulkan: Add a common VkPipelineCache implementation

  • vulkan/pipeline_cache: Add helpers for storing NIR in the cache

  • anv: Rename a fail label in CreateDevice

  • anv: Switch to the new common pipeline cache

  • anv: Clean up pipeline cache helpers a bit

  • nir: Lower all bit sizes of usub_borrow

  • vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping

  • vulkan: Use ALL_COMMANDS_BIT for waits/signals instead of ~0

  • spirv: Handle Op*MulExtended for non-32-bit types

  • vulkan/log: Allow but warn if called with a NULL object

  • vulkan/log: Allow but warn for client-invisible objects

  • nir/constant_folding: Break TXB folding into a helper function

  • nir: Constant fold sampler/texture offsets

  • panvk: Take buffer offsets into account in BindVertexBuffers

  • panvk: Eliminate unused vertex attributes

  • nir/deref: Add an alu-of-cast optimization

  • panvk: Add address/range helpers for panvk_buffer

  • vulkan/wsi: Close file descriptors in wsi_destroy_image

  • vulkan/wsi: Only use a single fd per wsi_image

  • vulkan/wsi: Hang on to file descriptors

  • vulkan/wsi: Reset the image fence right before vkQueueSubmit

  • vulkan/wsi: Set the right stage flags for semaphore waits

  • vulkan/wsi: Add signal_fence/semaphore_for_image helpers

  • nir/cf: Return a cursor from nir_cf_extract as well

  • nir: Fix constant folding for non-32-bit ifind_msb and clz

  • nir: Set image_buffers and msaa_images in lower_samplers_as_deref

  • nir: Stop assuming shader_info::textures_used is 32-bit

  • shader_info: Make images_used a bitset

  • nir: Gather samplers_used separately from textures

  • util/bitset: Support larger ranges in BITSET_TEST/CLEAR_RANGE

  • shader_info: Bump the number of images and textures supported

  • gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers

  • mesa/st: Clamp MaxImageUniforms to MAX_IMAGE_UNIFORMS

  • gallium: Bump PIPE_MAX_SHADER_IMAGES to 64

  • panvk: Call nir_lower_io_arrays_to_elements_no_indirects

  • nir/lower_blend: Be more explicit about deref assumptions

  • nir/lower_blend: Stop passing the whole options object around

  • nir/lower_blend: Support SNORM and integer formats for logic ops

  • nir/builder: Add a nir_trim_vector helper

  • nir/builder: Add a nir_resize_vector helper

  • midgard: Handle FB fetch from non-vec4 output variables.

  • nir/lower_blend: Expand or shrink output variables as needed

  • panvk: Advertise support for logicOp

  • iris: Set BindingTableEntryCount for compute shaders

  • nir: Mark negative re-distribution on fadd as imprecise

  • clover: Set images/samplers_used when lowering images

  • lavapipe: Set shader_info::samplers_used

  • gallium: Set shader_info::samplers_used in pstipple_fs

  • ttn: Set shader_info::samplers_used

  • mesa/st: Set samplers_used in lower_tex_src_plane

  • gallium/draw: Properly handle nr_samplers != nr_sampler_views in keys

  • llvmpipe: Fill out samplers even if nr_samplers = 0

  • lavapipe: Set images_used in lvp_lower_pipeline_layout

  • ntt: Don’t gather samplers_declared twice

  • panvk: Move CreateDescriptorSetLayout to per-arch

  • panvk: Break descriptor lowering into its own file

  • panvk: Add a buffer to each descriptor set

  • panfrost,panvk: Make fixed_sysval_ubo < 0 mean compiler-assigned

  • panfrost: Add some sanity checking for sysvals

  • bifrost,midgard: Allow providing a fixed sysval layout

  • panvk: Get rid of the per-pipeline sysvals BO

  • panvk: Use a flat sysvals struct

  • panvk: Stop calling lower_uniforms_to_ubo

  • panvk: Put the sysval and push const UBOs at fixed indices

  • panvk: Interleave UBOs with multiple descriptor sets

  • panvk: Put SSBO addresses in the descriptor buffer

  • vulkan: Start collecting enabled features in vk_device

  • panvk: Enable robustBufferAccess

  • panvk: Advertise VK_KHR_variable_pointers

  • panvk: Add an elems field to panvk_buffer_view

  • pavnk: Pass bind layouts to texture and image descriptor helpers

  • panvk: Implement texture/image queries

  • FIXUP: Use 16-bit things for texture sizes

  • panvk: Re-arrange descriptor set functions

  • panvk: Rewrite the write portion of vkUpdateDescriptorSets

  • panvk: Set immutable samplers properly up-front

  • panvk: Implement descriptor copies properly

  • panvk: Drop panvk_descriptor

  • panvk: Round FillBuffer sizes down to a multiple of 4

  • nir: Preserve metadata if remove_dead_derefs makes no progress

  • nir: Add a var set version of lower_indirect_derefs

  • mesa/st: Use nir_shader_instructions_pass for st_nir_lower_builtin

  • mesa/st: Check deref modes in lower_builtin_instr

  • mesa/st: Use lower_indirect_var_derefs in st_nir_lower_builtin

  • nir: Put the builder first in lower_input_attachments helpers

  • nir: Use nir_shader_instructions_pass in nir_lower_input_attachments

  • bifrost: Run nir_lower_global_vars_to_local before nir_lower_vars_to_scratch

  • panvk: So more nir_lower_tex before descriptor lowering

  • panvk: Lower blending after lower_var_copies

  • v3dv: Add a create_image_view helper for internal views

  • vulkan: Only be clever about vk_image_view::view_format for normal views

  • v3dv: Don’t use color aspects for depth/stencil images

  • v3dv: Drop the region temporary from blit_shader

  • vulkan,v3dv: Add a driver_internal flag to vk_image_view_init/create

  • radv: Only use PLANE_0 in meta when actually needed

  • radv: Use vk_image as the base for radv_image

  • radv: Use vk_image_view as the base for radv_image_view

  • glsl: Drop this != NULL assertions

  • vulkan/pipeline_cache: Implement deserialize for raw objects

  • v3dv: Loosen an assert in copy_buffer_to_image_shader

  • vulkan: Fall back to raw data objects when deserializing if ops == NULL

  • lavapipe: Use the correct ICD path on Win32

  • vulkan,anv,turnip: Add a common CmdBindVertexBuffers wrapper

  • radv: Add a sqtt entrypoint for CmdBindVertexBuffers2

  • radv: Use the common CmdBindVertexBuffers wrapper

  • lavapipe: Use the common BindVertexBuffers wrapper

  • nir/algebraic: Add two more pack/unpack rules

  • intel/fs: Drop fs_visitor::emit_alpha_to_coverage_workaround()

  • intel/fs: Copy color_outputs_valid into wm_prog_data

  • anv: Drop alpha_to_coverage from the NULL FS optimization

  • anv: Handle the null FS optimization after compiling shaders

  • anv: Don’t disable the fragment shader if XFB is enabled

  • intel: Only set VectorMaskEnable when needed

  • vulkan: Add a base struct for buffers

  • anv: Use the base vk_buffer struct

  • panvk: Use the vk_buffer base struct

  • vulkan/runtime: Add min_lod to vk_image_view

  • intel/isl: Add isl_view::min_lod_clamp for IVB+

  • anv: Implement VK_EXT_image_view_min_lod

  • isl: Add some asserts about multisampled surfaces

  • nir: Handle register sources in lower_phis_to_regs_block

  • nir: Add a correctness note for nir_lower_phis_to_regs_block

  • nir: Rename nir_gather_xfb_info to nir_shader_get_xfb_info

  • nir: Add a nir_xfb_info to nir_shader

  • anv: Use nir_shader_gather_xfb_info

  • lavapipe: Use nir_shader_gather_xfb_info

  • turnip: Use nir_gather_xfb_info

  • radv: Use nir_gather_xfb_info

  • nir: Drop nir_shader_get_xfb_info

  • glsl/nir: Populate nir_shader::xfb_info after linking varyings

  • glsl/nir: Stop leaking varyings_info

  • glsl/nir: Stash the xfb_info in the nir_shader when linking XFB

  • st,nir: Use nir_shader::xfb_info in nir_lower_io_passes

  • nir/glsl: Use rzalloc for nir_xfb_info

  • nir: xfb_buffer_info::stride is in bytes

  • ttn: Populate the images/textures/samplers_used fields in shader_info

  • vulkan,anv: Move the image offset/extent sanitize helpers to common code

  • radv: Use the common image offset/extent sanitize helpers

  • vulkan,radv: Move vk_format_get_plane_format to common code

  • vulkan/format: Add a vk_format_get_aspect_format helper

  • vulkan: Add a helper for image<->buffer copies

  • anv: Use the common image<->buffer copy helper

  • vulkan,radv: Steal some image offset/extent helpers from radv

  • radv: Use vk_image_buffer_copy_layout

  • panvk: Use vk_image_buffer_copy_layout

  • lavapipe: Use vk_image_buffer_copy_layout

  • nir/deref: Break out a helper for compare_deref_paths

  • nir/deref: Use an index in compare_deref_paths

  • nir/deref: Make compare_deref_paths take a stop callback

  • nir/deref: Re-arrange variable checks in compare_deref_paths

  • nir: Increase nir_variable_data::mode to 16 bits

  • nir/vars_tests: Use nir_var_mem_global instead of ssbo

  • nir/deref: Handle SSBO array bindings specially

  • nir/deref: Handle RESTRICT for SSBO deref bindings

  • compiler/types: Don’t place members in the previous substruct’s end padding

  • anv/wsi: Stop resetting semaphores

  • vulkan/wsi: Fix a signal_semaphore_with_memory check

  • wsi: Always signal semaphores and fences in wsi_common_acquire_next_image

  • panvk: Use the common AcquireNextImage implementation

  • v3dv: Use the common AcquireNextImage implementation

  • radv: Drop create_sync_for_memory

  • lavapipe: Use the common AcquireNextImage implementation

  • pvr: Use the common AcquireNextImage implementation

  • turnip: Use the common AcquireNextImage implementation

  • turnip: Use the common QueuePresent implementation

  • turnip: Set supported_sync_types before wsi_init

  • vulkan/wsi: Use a STACK_ARRAY for stage_flags

  • vulkan/wsi: Reset fences earlier in wsi_common_queue_present

  • vulkan/wsi: Re-arrange QueueSubmit code in wsi_common_queue_present

  • vulkan/wsi: Set memory ownership after signaling fences and semaphores

  • vulkan/wsi: Signal semaphores and fences from the dma-buf

  • intel/compiler: Use NIR_PASS(_, …)

  • anv: Use NIR_PASS(_, …)

  • anv: Properly clamp attachment layer counts

  • vulkan/wsi: Use HAVE_LIBDRM to detect DRM instead of !_WIN32

  • vulkan: Add some border color helpers

  • panvk: Use the new border color helpers

  • lavapipe: Use the new border color helper

  • turnip: Use the new border color helpers

  • vulkan/nir: Make spirv_data const in vk_spirv_to_nir

  • vulkan: Add a vk_pipeline_shader_stage_to_nir helper

  • gallium: Add a u_default_clear_buffer helper

  • iris: Use u_default_clear_buffer

  • panfrost: Use u_default_clear_buffer

  • nir/opt_memcpy: lower copies to/from tightly packed types

  • nir: Add an options parameter to deref_instr_has_complex_use

  • nir/opt_memcpy: Add another case for function_temp

  • vulkan/render_pass: Add a better helper for render pass inheritance

  • anv: Use CmdBeginRendering for resumes in BeginCommandBuffer when possible

  • vulkan/render_pass: Use a special layout for self-dependencies

  • vulkan/render_pass: Pass sample locations to barriers

  • vulkan/render_pass: Allow for mixed sample counts

  • vulkan/render_pass: Support VkAttachmentSampleCountInfoAMD

  • vulkan: Fix a comment

  • vulkan: Add a base struct for descriptor set layouts

  • vulkan: Add a common implementation of pipeline layouts

  • lavapipe: Use the vk_descriptor_set_layout base struct

  • lavapipe: Use the vk_pipeline_layout base struct

  • panvk: Use the vk_descriptor_set_layout base struct

  • panvk: Use the vk_pipeline_layout base struct

  • vulkan: Depend on vk_pipeline_layout in vk_cmd_enqueue

  • anv: Replace an assert() with unreachable()

  • util: Re-indent util_sign_extend, comment, and add asserts

  • util: Use shifts in util_sign_extend

  • util: Use util_sign_extend in fast_idiv_by_const

  • mesa/bptc: Use util_sign_extend

  • util,nir: Move mask_sign_extend from opt_load_store_vectorize to util

  • isl: Use util_sign_extend

  • intel/decoder: Use util_mask_sign_extend()

  • panfrost,asahi: Use util_sign_extend for unpacking

  • nir: Use util_mask_sign_extend when serializing constants

  • vulkan/wsi: Pass the size to MapMemory in the SW path

  • vulkan/wsi/wayland: Use a single memcpy in the SW path

  • vulkan/wsi: Move select_memory_type to common and rework it a bit

  • vulkan/wsi: Add a helper for creating CPU images

  • vulkan/wsi/x11: Use wsi_configure_cpu_image

  • vulkan/wsi/wayland: Use wsi_configure_cpu_image

  • vulkan/wsi: Delete SW support from configure_native_image

  • vulkan/wsi: Persistently map CPU images

  • vulkan/wsi: Compute stride and size in configure_buffer_image

  • vulkan/wsi: Align buffer image strides to optimalBufferCopyRowPitchAlignment

  • vulkan/wsi: Support tiled CPU images

  • vulkan/wsi/x11: Don’t leak shm_reply if we don’t have dri3 or present

  • vulkan/wsi/x11: Only use MIT_SHM if the device supports EXT_external_memory_host

  • vulkan/wsi/wayland: Use host pointer import when available

  • dozen: Increase optimalBufferCopy*Alignment

  • dozen: Stop asking for semaphore/fence signaling

  • vulkan/wsi/wayland: Only memcpy if the swapchain is actually software

  • vulkan/wsi: Fix structure chaining in wsi_create_buffer_image_mem

  • shader_info: Move subgroup_size out of cs and make it an enum

  • vulkan: Re-order pipeline hashing

  • vulkan: Constify vk_spirv_version

  • spirv,vulkan: Set shader_info::subgroup_size

  • mesa,glsl,ttn: Set subgroup_size to UNIFORM

  • anv: Drop unnecessary parameters to anv_pipeline_compile_cs

  • anv: Put a VkPipelineShaderStageCreateInfo* in anv_pipeline_stage

  • anv: Use vk_pipeline_shader_stage_to_nir

  • vulkan: Add a vk_pipeline_shader_stage_is_null() helper

  • anv: Use vk_pipeline_shader_stage_is_null()

  • intel,anv,iris,crocus: Drop subgroup size from the shader key

  • anv: Implement VK_EXT_shader_module_identifier

  • anv: Init supported extensions before WSI

  • vulkan/wsi/wayland: Add a BUFFER_TYPE flag

  • vulkan/wsi: Add debug variables to force the SW and PRIME buffer blit paths

  • intel/blorp: Set uses_sample_shading for MSAA blit shaders

  • radv: Set uses_sample_shading for copy shaders

  • intel/fs: Use shader_info::fs::uses_sample_shading

  • nir: Add a pass for lowering shaders to single-sampled

  • intel/fs: Use nir_lower_single_sampled

  • glsl/nir: Set uses_sample_shading from glsl_to_nir

  • spirv/nir: Set uses_sample_shading from spirv_to_nir

  • nir/gather_info: Stop gathering uses_sample_shading

  • glsl/nir: Set sample_shading if a FS output ever shows up as an rvalue

  • intel/fs: Simplify persample_dispatch

  • intel/fs,anv: Rework handling of coarse and sample shading

  • panfrost: Simplify sample_shading

  • anv: Stop compacting surface state tables

  • vulkan: Detect pNext chain loops in vk_foreach_struct()

  • anv: Don’t use the wrong ARRAY_SIZE

  • Revert “vulkan: Detect pNext chain loops in vk_foreach_struct()”

  • vulkan: Add a vk_limits.h file for runtime limits

  • vulkan: Add an enum for all dynamic graphics states

  • vulkan: Add standard sample locations

  • vulkan: Add data structures to store all graphics state

  • util: Constify __bitset_test_range

  • vulkan: Add a common data structure for dynamic states

  • vulkan: Add a common implementation of vkCmdSet*

  • vulkan: Copy the depth/stencil state optimization code from ANV

  • Use vk_foreach_struct_const where needed

  • vulkan: Detect pNext chain loops in vk_foreach_struct() (v2)

  • anv: Add an instance multiplier to anv_pipeline

  • anv: Handle vertex buffer sizes in anv_CmdBindVertexBuffers2

  • anv: Stop recording sample locations per-sample-count

  • anv: Convert to using vk_graphics_pipeline_state

  • anv: Rework setting primitive topology

  • anv: Stop merging DEPTH_STENCIL state

  • anv: Switch to using common dynamic state tracking

  • vulkan/graphics_state: Improve the depth/stencil optimization code

  • anv: Do depth/stencil optimization for dynamic depth/stencil

  • vulkan: Call lower_clip_cull_distance_arrays in vk_spirv_to_nir

  • vulkan/nir: Don’t remove dead XFB outputs

  • vulkan: Call gather_xfb_info in vk_spirv_to_nir

  • lavapipe: Use more Vulkan NIR heleprs

  • vulkan: Allow up to 12 pointers in multialloc

  • vulkan: Record shader stages in vk_graphics_pipeline_state

  • vulkan: Multisample state isn’t always included in fragment shader state

  • vulkan: Depth/stencil isn’t fragment output state but multisample is

  • vulkan: Add a fully_dynamic_state_groups() helper

  • vulkan: Fix pipeline libraries with dynamic-only VI or FSR state

  • vulkan: Input assembly and depth/stencil can also be fully dynamic

  • vulkan: Don’t assert VkGraphicsPipelineLibraryCreateInfoEXT::Flags == 0

  • zink: Mark depth/stencil visual tests as flakes

  • lavapipe: Use shader_info::uses_sample_shading

  • lavapipe: Use the vk_graphics_pipeline_state

  • vulkan: Append subpass structures to VkRenderingInfo last

  • vulkan: Include self-dep info in rendering continues

  • intel/eu: Don’t throw validation errors on float MOV_INDIRECT

  • lima: Lower undefs to zero and run DCE after from_ssa

  • nir/from_ssa: Ignore undef sources

  • vulkan: Always populate vk_render_pass_state::render_pass

  • vulkan: Improve the docs for vk_subpass_info

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

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

Jason Volk (4):

  • r600: Fix userspace pointer support for evergreen compute.

  • r600: Improve compute memory pool performance; reduce fragmentation.

  • r600: Elide downloads for discarded and immutable compute memories.

  • radeon: Support shared memory user pointers.

Jeffrey Knockel (1):

  • egl: dereference XCB drawable pointers

Jesse Natalie (158):

  • d3d12: Don’t block DISPLAY based on format for non-Windows

  • wgl: Implement WGL_ARB_create_context_robustness

  • d3d12: Hook up robustness extensions

  • d3d12: Plug context leaks

  • d3d12: Plug screen leaks

  • d3d12: Attempt screen reset during context create

  • d3d12: Add a unit test for context reset recovery

  • microsoft/compiler: Unload DXIL validator library *after* calling Release()

  • d3d12: Correctly key off of polygon stipple enable cap

  • mesa: Ensure ARB programs end in a newline

  • bin: Add a script for filtering/sorting refcount logs

  • u_debug_refcnt: Don’t loop for initial refcounts if the initial value is huge

  • u_debug_symbol: Use correct sizeof for DbgHelp

  • u_debug_symbol: Allow re-init of DbgHelp to work around already-initialized issues

  • u_debug_stack: Lock around stack dumps to prevent interleaving

  • u_primconvert: Refactor to remove recursion from util_primconvert_draw_vbo

  • u_primconvert: Handle take_index_buffer_ownership

  • d3d12: Use a pipe_reference in d3d12_bo

  • d3d12: Fix leaks in map with do-not-wait

  • d3d12: Fix a couple over-releases from incorrect take-ownership flag

  • d3d12: Destroy empty residency bo set during early-return

  • d3d12: Include windows.h on Windows before dxgicommon.h

  • d3d12: Don’t use VLAs

  • d3d12: MSVC warning around operator precedence causing uint32_t==bool

  • dzn: Add new parameter to vk_image_view_init call

  • d3d12: Fix forward decl for sw_winsys

  • microsoft/compiler: Fixup sampler derefs in tex instrs that don’t *need* samplers

  • nir_lower_task_shader: Fix return from lower_task_intrin (bool, not void*)

  • d3d12: Re-add missed bitmasks to shader key comparison

  • CI/d3d12: Add skips and update baselines

  • CI/windows: Install Vulkan SDK from LunarG directly isntead of Chocolatey

  • CI/windows: Delete comment for installing vulkan-runtime

  • CI/windows: Disable chocolatey progress printing to shrink log size

  • CI/windows: Disable LLVM CMake developer warnings to shrink log size

  • CI/windows: Move –fraction for deqp-runner to run command line

  • dzn: Update fails/flakes

  • CI: Re-enable Windows builds

  • nir: Consider PNTC to be a varying

  • wgl, d3d12: Handle front buffer writes for double-buffered MSAA surfaces backed by swapchains

  • meson: Use a C99 STDC_VERSION for flex

  • d3d12: Report PIPE_CAP_ACCELERATED as 0 on WARP

  • d3d12: Properly set HS input control point count

  • dzn: Init sync types before wsi

  • mesa: Use C11 alignas for cross-platform SSE support

  • CI: Lima farm is offline

  • dzn: Skip another test that times out occasionally

  • util/disk_cache: Implement disk_cache_get_function_identifier for Windows

  • microsoft/clc: Enable tests that pass on server 2022

  • microsoft/clc: Fix test double free in the case of compilation failure

  • microsoft/clc: Remove dead image vars

  • microsoft/clc: Add a unit test for unused image kernel args

  • vulkan_entrypoints_gen: For Windows ARM64EC, prefix symbols with ‘#’

  • dzn: Support Vulkan loader interface v5

  • gallium/util: Move u_dl and u_pointer to src/util

  • dzn: Annotate sometimes-unused variables.

  • dzn: Define COBJMACROS before any includes

  • dzn: Use os_time_sleep instead of Win32 Sleep

  • dzn: Use u_dl to load D3D12

  • dzn: Add an eventfd sync implementation

  • dzn: Fix maybe-uninitialized warning

  • dzn: Skip dxil validator and some Windows-only debug flags for Linux

  • dzn: Use IUnknown instead of IDXGIAdapter1 as the stored adapter

  • dzn: Don’t hash adapter LUID as part of device UUID

  • dzn: Use a custom adapter desc instead of DXGI adapter desc

  • dzn: Move DXGI code to a separate file and only build it on Windows

  • dzn: Add a DXCore enumeration path

  • dzn: Add ABI helpers for D3D12 functions returning structs

  • vulkan/wsi/win32: Use the new helpers and persistent map

  • dzn: Fix winsys reporting

  • dzn: Only support high/normal queue priorities

  • dzn: Add for condition to break nested loop

  • dzn: Re-order includes in dzn_nir to prevent TRUE redefinition

  • dzn: Only add Werror flags that the compiler supports

  • dzn: Disable Wunused-value for C++ files

  • dzn: Fix comparison order for format enums

  • dzn: Re-order dzn_physical_device_desc so = { 0 } doesn’t initialize a struct

  • dzn: Use fabs on floating point input

  • CI: Add dzn to debian vulkan/clang/release builds

  • mesa: Support D3D11/D3D12 memory imports

  • mapi: Add more EXT_external_objects_win32 functions/enums

  • gallium: Add a ‘name’ field to winsys_handle

  • mesa: Implement ImportMemoryWin32NameEXT

  • gallium: Add ‘name’ field to Win32 semaphore import

  • driver_noop: Remove infinite recursion from create_fence_win32

  • gallium: Add a new fence type with a pipe cap to indicate it can be imported

  • mesa: Support importing D3D12 fences as timeline semaphores

  • mesa: Implement ImportSemaphoreWin32NameEXT

  • gallium, mesa: Support setting timeline semaphore values

  • d3d12: Store the rest of the device IDs in the screen

  • d3d12: Compute UUIDs required by external objects extension

  • d3d12: Add pipe getters for Win32 and base external objects device matching

  • d3d12: Support B4G4R4A4 format

  • d3d12: Get adapter LUID after device creation

  • d3d12: PIPE_BIND_SHARED doesn’t mean linear and is always on opened resources

  • d3d12: Support creating memory objects

  • d3d12: Implement resource_from_memobj

  • d3d12: Support opening resources and memobj by name

  • d3d12: Support importing fences / timeline semaphores

  • d3d12: Implement server signal/wait

  • d3d12: Implement fence opening and value setting

  • d3d12: Fix up resource import validation

  • docs: Update features.txt and new_features.txt

  • u_atomic: Implement p_atomic_xchg for Windows

  • u_atomic: Fix MSVC p_atomic_add_return

  • u_atomic: Add p_atomic_fetch_add which returns the old value

  • zink: Use p_atomic_fetch_add

  • simple_mtx: Replace GCC sync intrinsics with u_atomic ops

  • Fix static glapi on Windows

  • dzn: Missed ABI fixes for GetCustomHeapProperties

  • dzn: Remove the cast when the SDK version is high enough

  • d3d12: Add helpers to build with correct ABI for MinGW

  • microsoft/clc: Add helpers to build with correct ABI for MinGW

  • subprojects: Point DirectX-Headers at a specific tag

  • CI: Update DirectX-Headers dependency for MinGW/Debian

  • util: Add a Win32 futex impl

  • d3d12: Support clip halfz

  • d3d12: Add a blank d3d12_resource_state.h/cpp

  • d3d12: Move desired resource state to new files

  • d3d12: Move current resource state to new files

  • d3d12: Give bos a unique identifier to be used for state tracking

  • d3d12: Add a list of contexts alive for the current screen

  • d3d12: Hold lock when removing resources from residency list

  • d3d12: Notify contexts about deletion of bos

  • d3d12: Add a context state tracking structure

  • d3d12: Treat depth/stencil as planar for plane count helper

  • d3d12: Create/free context state entries

  • d3d12: Track a global resource state for non-simultaneous-access resources

  • d3d12: Record a state fixup command list when necessary

  • d3d12: Swap the remainder of state tracking to new method

  • d3d12: Rename bind invalidate options to transition flags

  • d3d12: Extract core barrier logic

  • d3d12: Optimize transition_subresource_states that covers a whole resource

  • d3d12: Add a transition flag indicating that state accumulation is needed

  • d3d12: Remove state tracking implementation details from header

  • nir_lower_io_to_scalar: Support arrayed (per-vertex) I/O

  • microsoft/compiler: Add a max shader model option

  • microsoft/compiler: Add a max validator version

  • microsoft/compiler: Emit metadata based on long-lived signature data

  • microsoft/compiler: Split signature processing into two parts

  • microsoft/compiler: Ensure 4-component position writes via NIR

  • microsoft/compiler: Lower I/O to scalar

  • microsoft/compiler: Support DXIL validator version 1.5

  • microsoft/compiler: Compute correct usage masks

  • microsoft/compiler: Correctly compute dynamic indexing I/O masks

  • microsoft/compiler: DXIL validator 1.6 counts UAVs differently

  • microsoft/compiler: Set the barycentrics flag for attribute_at_vertex

  • microsoft/compiler: DXIL validator 1.6 uses a new PSV struct version

  • microsoft/compiler: DXIL validator 1.6 uses a new PSV resource struct

  • microsoft/compiler: Support DXIL validator 1.6

  • microsoft/compiler: Support DXIL validator 1.7

  • microsoft/compiler: Add a getter for a validator version from DXIL.dll

  • microsoft/compiler: Blacklist DXIL validator 1.6 from 20348 SDK

  • d3d12: Retrieve validator version

  • dzn: Retrieve validator version

  • egl/wgl: Delete unused variables/code

  • egl/wgl: Fix some awkward sizeof formatting

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

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

Jiang Feng (1):

  • virgl: Set res->maybe_busy to true when creating resources

Jonathan Gray (2):

  • intel/dev: sync ADL-S pci ids with linux

  • intel/dev: add RPL-S pci ids from drm-intel-next

Jonathan Marek (2):

  • freedreno/registers: add a7xx registers for drm/msm kernel driver

  • freedreno/registers: add missing varset=”chip” for new enum values

Jonathan Weinstein (1):

  • lavapipe: support instance rate zero for VK_EXT_vertex_attribute_divisor

Jordan Justen (48):

  • intel/dev: Add device info for RPL-P

  • vulkan/wsi/x11: Use atomic_int with sent_image_count

  • drm-uapi/i915_drm.h: Update from drm-next (2022-04-28)

  • intel/dev: Read hwconfig from i915

  • intel_dev_info: Add –hwconfig command line parameter

  • iris: Fix assertion meant to only target the clear-color stride

  • nir/divergence: handle more *_intel intrinsics

  • intel/dev: Add INTEL_PLATFORM_DG2_G12

  • intel/dev: Add DG2 G12 PCI IDs

  • intel/dev: Enable first set of DG2 PCI IDs

  • intel: Fix build of mi_builder_tests by including c99_compat.h

  • intel: Build mi_builder_test whenever build-tests is set

  • drm-uapi/i915_drm.h: Update from drm-next (2022-05-06)

  • intel/gem: Add support for I915_ENGINE_CLASS_COMPUTE

  • anv: Add support for I915_ENGINE_CLASS_COMPUTE in init_device_state()

  • anv: Move STATE_BASE_ADDRESS programming into init_common_queue_state()

  • anv, iris: Add support for I915_ENGINE_CLASS_COMPUTE

  • anv, iris: Enable compute engine with INTEL_COMPUTE_CLASS=1

  • intel/dev: Add devinfo::mem to store i915 regions information

  • anv: Use memory info from devinfo

  • iris/bufmgr: Use memory info from devinfo

  • intel/tools: Print memory info in intel_dev_info

  • vulkan/wsi: Disable dma-buf sync file if ENOSYS is returned

  • intel/compiler: Don’t create vec4 reg-set for gen8+

  • intel/dev: Add vram.unmappable.size region info

  • intel/tools: Print unmappable region info in intel_dev_info

  • intel/dev: Add intel_vram_all_mappable()

  • iris/resource: Assert that DG2 CCS buffers don’t also try to set BO_ALLOC_SMEM

  • iris/resource: Avoid mapping when not needed in iris_resource_init_aux_buf()

  • iris/bufmgr: Add all_vram_mappable which is currently always true

  • iris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode

  • iris: Set clear_color_unknown if the bo is not mappable

  • anv/allocator: Add assert and TODO comment for future small BAR uapi

  • iris/bufmgr: Add assert and TODO comment for future small BAR uapi

  • drm-uapi/i915_drm.h: Update from drm-next (2022-07-22)

  • iris/bufmgr: Add I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS for vram mappable buffers

  • intel/dev: Use i915 region probed_cpu_visible_size when non-zero

  • intel/dev: Determine the amount of free vram using small BAR uapi

  • intel/dev: Enable remaining DG2 and ATS-M device IDs

  • anv: Fix PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES with large BAR

  • intel/dev: Fill in system memory info when using INTEL_DEVID_OVERRIDE

  • 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

Jose Maria Casanova Crespo (1):

  • v3dv/ci: increase fraction to 10 on v3dv ci jobs.

Josh Billingsley (1):

  • driconf: add SD Gundam G Generation Cross Rays

Joshua Ashton (1):

  • aco: Use movk for AddressHi bits in vertex prolog

José Fonseca (6):

  • trace: Fix framebuffer state serialization.

  • lavapipe: Prevent mapping buffers beyond their size.

  • trace: Dump NIR.

  • trace: Parse character data more efficiently.

  • trace: Bring state dump up to speed.

  • trace: Allow to control nir dumping via an environment variable.

Juan A. Suarez Romero (37):

  • ci/v3dv: remove fixed test

  • v3d: report the correct unsupported blit format

  • v3d: do not tile 1D textures

  • v3d: use surface format defined on pipe_blit

  • gallium: add hook on getting canonical format

  • v3d: define our own canonical supported formats

  • v3d: enable GL_ARB_copy_image extension

  • gallium: move get_canonical_format hook to pipe_screen

  • v3dv: duplicate key on hashtable insert

  • v3dv: store device_id on device init

  • v3d/simulator: add support for AMD cards

  • mesa: unref syncobj after wait_sync

  • v3d: enable early Z/S clears

  • v3d: disable early-Z on odd frame dimensions

  • v3d: allow TFU blitting for single layer textures

  • v3d: add hook to get on-disk shader cache

  • v3d: add builtin support for white/black clamp-to-border

  • v3dv: check BO mapping result

  • docs: update extensions for V3D and VC4

  • ci: bump VK-GL-CTS to 1.3.2.0

  • v3d: fix blending for mixed RT formats

  • v3d: expose GL_ARB_draw_buffers_blend

  • v3d/ci: Add traces

  • v3d: use function to initialize refcount

  • v3d: save only required states in blitter

  • v3d: release all color buffers on context destroy

  • v3d: add ARB_polygon_offset_clamp extension support

  • v3dv/ci: Update expected results

  • v3d/ci: Add flake test

  • v3d/v3dv/ci: update expected results

  • v3d/ci: (partially) revert expected list

  • v3d/ci: update expected list

  • v3dv/ci: Update expected list

  • v3d/vc4/ci: Fix typo in skipped list

  • v3d/ci: enable ARB_texture_cube_map piglit tests

  • vc4: properly restore vc4 debug option

  • vc4: store tex sampler in proper register

Kai Wasserbäch (1):

  • fix(gallivm): Replace LLVMConstF* with LLVMBuild* methods.

Karmjit Mahil (26):

  • pvr: Fix clang-format errors caused by vk outarrays.

  • pvr: Add PVR_WORKGROUP_DIMENSIONS define.

  • pvr: Add initial implementation of vkCmdDispatch().

  • pvr: Add compute update shared kernel in vkCmdDispatch().

  • pvr: Add compute update kernel in vkCmdDispatch().

  • pvr: Update pvrsrvkm to fw 1.17 .

  • pvr: Add csb enum helper funciton header.

  • pvr: Write immutable descriptor words in vkAllocateDescriptorSets().

  • pvr: Fix incorrect samples to cr_isp_aa_mode conversion.

  • pvr: Change compute hard coding infrastructure.

  • pvr: Remove unused output_selects from vertex shader state.

  • pvr: Add graphics pipeline hard coding infrastructure.

  • pvr: Enable 33.15.11.3 (AXE-1-16M).

  • pvr: Extend hard coding infra to allow per stage per device coding.

  • pvr: Fix physical device limits.

  • pvr: Handle vdm degen_cull_enable.

  • pvr: Fix off by 1 error in buffer_id for ubo pds program.

  • pvr: Rename loop iterator variable.

  • pvr: Update pvrsrv build version for fixed size fw.

  • pvr: Rename uniform pds program to descriptor pds program.

  • pvr: Add static consts support in descriptor pds program.

  • pvr: Add static consts to hard coding infra.

  • pvr: Add initial vkCmdPipelineBarrier skeleton.

  • pvr: Add IDF/WDF program for compute pipeline barrier.

  • pvr: Add compute pipeline barrier handling.

  • pvr: Fix cdm shared reg usage reported to fw.

Karol Herbst (20):

  • nir: add 16 and 64 bit fisnormal lowering

  • vtn: clamp SpvOpImageQuerySize dest to 32 bit

  • nv50/nir: align tlsspace to 0x10

  • llvmpipe: PIPE_COMPUTE_CAP_GRID_DIMENSION is uint64_t

  • llvmpipe/fence: make the fence id counter atomic

  • iris/cs: take buffer offsets into account for CL

  • nir: add a nir_remove_non_entrypoints helper

  • ntt: make use of new samplers_used field

  • clc: parse localSize and localSizeHint

  • clc: drop parsingComplete check

  • clc: speed up compilation by not relying on opencl-c.h

  • clc: fix compiler features_macro CTS Test

  • clc: disable opaque pointers until they are supported

  • nv50/ir: recoginse Ampere

  • nir/gather_info: allow to run it before inlining

  • nir/gce: pin call instructions

  • nouveau: use the contexts pushbuf and client where possible

  • nouveau/mm: make code thread safe

  • nv50/ir: fix OP_UNION resolving when used for vector values

  • nv50: properly flush the TSC cache on 3D

Ken Johnson (2):

  • d3d12: Reduce cost of shader key comparisons

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

Kenneth Graunke (41):

  • anv: Fix INTEL_DEBUG=bat on XeHP

  • intel/decoder: Fix binding table pointer decoding with large offsets

  • iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS

  • Revert “st/mesa: Transcode ASTC to BC7 (BPTC) where possible”

  • intel: Drop Wa_1409226450 (stall before instruction cache invalidation)

  • intel: Fix analysis invalidation in eliminate_find_live_channel

  • intel/compiler: Move spill/fill tracking to the register allocator

  • mesa: Split tx_compress_dxtn into per-format functions

  • mesa: Avoid temp images in _mesa_texstore_rgb_dxt1 for GL_RGBA source

  • mesa: Require temp images in _mesa_texstore_*_dxt* with SkipImages

  • mesa: Avoid temp images in _mesa_texstore_*_dxt* for stride = 0

  • isl: Add an isl_format_supports_typed_atomics() helper.

  • intel/compiler: Fix uncompaction of signed word immediates on Tigerlake

  • intel: Set a more useful fake devinfo->gtt_size in no-hw mode

  • intel/compiler: Fix A64 header construction with a uniform address

  • iris: Update comment about 2GB dynamic state range

  • iris: Use PIPE_* defines rather than ones from main/config.h

  • crocus: Use PIPE_* defines rather than ones from main/config.h

  • intel/compiler: Stop including src/mesa/main/config.h

  • intel/compiler: Fix brw_gfx_ver_enum.h to be a proper header file

  • intel/compiler: Split 3DPRIM_* defines out to a separate header.

  • intel/tools: Stop malloc’ing device info in i965_disasm

  • intel/compiler: Move opcode_desc handling to a separate header

  • intel/compiler: Introduce a new brw_isa_info structure

  • intel/compiler: Remove use of thread_local for opcode tables

  • intel/compiler: Convert brw_eu.cpp back to brw_eu.c

  • intel/compiler: Handle split-sends in EOT high-register pinning case

  • intel/fs: Opportunistically split SEND message payloads

  • intel/compiler: Avoid copy propagating large registers into EOT messages

  • intel/compiler: Don’t set SBID on EOT send messages

  • mesa: Mark render-to-texture as unsafe if there’s no pipe_resource

  • intel/eu: Handle compaction when inserting validation errors

  • intel/eu: Fix XeHP register region validation for hstride == 0

  • intel/eu: Clarify spec citations for XeHP region restrictions

  • intel/eu: Mark header present in URB memory fences on XeHP

  • intel/compiler: Lower FIND_[LAST_]LIVE_CHANNEL in IR on Gfx8+

  • intel/compiler: Delete unused Gfx8+ code in brw_find_live_channel()

  • iris: Fix PIPE_CAP_UMA

  • iris: Use linear for exported resources if we can’t convey tiling

  • iris: Delete unused iris_screen::aperture_bytes field

  • crocus: Fix memory leaks on iris_resource_create failure paths

Konrad Dybcio (1):

  • freedreno: Enable A619

Konstantin Seurer (106):

  • radv: Fix ray queries with !15854

  • radv: Do not discard hits with t=tmax

  • radv: Enable rt primitive culling for spirv2nir

  • ci: Always install glslangValidator for build jobs

  • radv: Use VAs in radv_meta_buffer.c

  • radv: Make fill_buffer_shader non-static

  • radv: Format radv_acceleration_structure.c

  • radv: Add the fuchsia radix sort

  • radv: Build accaleration structures using LBVH

  • radv: Clean up the accel-struct build shaders

  • radv: Fix lowering ignore_ray_intersection

  • vulkan: Add a shader module clone helper

  • radv: Copy shader modules to avoid use after free

  • radv/radix_sort: Add missing entry points

  • radv/radix_sort: Make variable names consistent

  • radv: Use the entire morton code as sort key

  • ac/nir: Do not set cursor in try_extract_additions

  • radv: Move RADV_RT_STAGE_BITS to radv_private.h

  • radv: Treat rt stages like compute stages

  • radv: Use RADV_RT_STAGE_BITS more often

  • nir: Add a ray launch size addr intrinsic

  • radv: Allow indirect dispatches without bo

  • radv: Indirect unaligned dispatches

  • radv,aco: Use ray_launch_size_addr

  • radv: Implement vkCmdTraceRaysIndirectKHR

  • radv: Advertise indirect ray tracing

  • radv: Allow radv_fill_buffer to work with VAs only

  • radv: Use radv_fill_buffer for accel struct builds

  • Revert “radv: Make fill_buffer_shader non-static”

  • radv: Add and use radv_bvh_node_type

  • radv: Replace nir_vector_extract with nir_channel

  • radv/ci: Skip slow/crashing ray tracing tests

  • radv: Enable ray queries by default

  • radv: Add fail/flake lists for navi22

  • radv: Fix handling of primitiveOffset

  • radv: Ignore transformOffset if transformData is 0

  • vulkan: Use the correct enum in vk_buffer

  • radv: Use vk_buffer

  • radv: Add and use radv_cp_dma_wait_for_stages

  • radv: Some acceleration structure cleanups

  • radv: Require an alignment of 64 for accel structs

  • radv: Fix the accel struct size calculation

  • vulkan: Spec update to 1.3.216

  • spirv: Add plumbing for ray_cull_mask

  • radv: ray cull mask

  • radv: Add accel struct queries for maintenance1

  • radv: ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR

  • radv: PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY

  • nir: Handle ray_launch_size_addr in opt_preamble

  • radv: vkCmdTraceRaysIndirect2KHR

  • radv: Advertise VK_KHR_ray_tracing_maintenance1

  • nir,spirv: Preserve inbounds access information

  • nir/nir_lower_io: Optimize 32-bit inbounds access

  • radv: Move some rt intrinsics to the top

  • radv: Introduce an enum for the any hit status

  • radv: Fix the t comparison for triangles

  • radv: Refactor lower_rt_derefs

  • nir: Add a nir_test_mask helper

  • radv: Use nir_test_mask instead of i2b(iand)

  • nir: Use nir_test_mask instead of i2b(iand)

  • d3d12: Use nir_test_mask instead of i2b(iand)

  • intel: Use nir_test_mask instead of i2b(iand)

  • microsoft: Use nir_test_mask instead of i2b(iand)

  • dozen: Use nir_test_mask instead of i2b(iand)

  • radv: Use two bools for ahit_status

  • radv: Skip pipeline_no_null_shaders_flag tests

  • radv: Fix acceleration structure size queries

  • radv: Use a global address for ray_launch_size

  • radv: Use a global address for sbt_base

  • radv: Only set rt stack size for dynamic stacks

  • vulkan: Common vk_format_get_component_bits

  • nir: Add a common gen_rect_vertices implementation

  • radv: Use nir_gen_rect_vertices

  • v3dv: Use nir_gen_rect_vertices

  • radeonsi: Set vertex_id_zero_based

  • aco: Remove dead nir_intrinsic_load_vertex_id case

  • ac/llvm: Remove load_vertex_id handling

  • util/format: Use an explicit length for the descs

  • util/format: Assert that formats are valid

  • radv: Remove format desc null checks

  • radv: Use desc->format

  • v3dv: Remove format desc null asserts

  • turnip: Remove format desc null assert

  • gallivm: Remove format desc null checks

  • tgsi: Remove format desc null check

  • util: Remove format desc null check

  • agx: Remove format desc null check

  • etnaviv: Remove format desc null check

  • llvmpipe: Remove format desc null checks

  • panfrost: Remove format desc null check

  • r300: Remove format desc null check

  • r600: Remove format desc null checks

  • radeonsi: Remove format desc null checks

  • softpipe: Remove format desc null check

  • virgl: Remove format desc null checks

  • pvr: Remove format desc null check

  • util/format: Remove format desc null checks

  • gallium/tests: Remove format desc null checks

  • radv: Add meta saving/restoring for predicating

  • radv: Use RADV_META_SUSPEND_PREDICATING

  • radv: Simplify the meta init fail path

  • radv: Fix out of bounds access in RTPSO creation

  • vulkan: Fix descriptor set layout allocation scope

  • vulkan: Handle descriptor set layout alloc fails

  • radv: Use vk_descriptor_set_layout

  • radv: Fix stack size calculation with stage ids

Kristian Høgsberg (1):

  • util/u_debug: Use ‘initialized’ instead of ‘first’

Kyle Russell (1):

  • etnaviv: don’t halve max_instructions for GC400

Leandro Ribeiro (1):

  • Revert “egl/wayland: deprecate drm_handle_format() and drm_handle_capabilities()”

Lionel Landwerlin (120):

  • anv: use shadow surface for stencil input attachment on gfx7

  • intel: fix URB programming for GT1s

  • intel/fs: require memory fence commit bit on Gfx9

  • anv: improve INTEL_DEBUG for submit

  • anv/intel: add a new debug flag for stalling after every draw/dispatch

  • anv: implement DEBUG_SYNC

  • anv: allow getting the address of the beginning of the batch

  • intel/fs: tidy up lower of ray queries

  • ci/iris: mark another test as flaky

  • anv: implement VK_EXT_primitives_generated_query

  • nir/divergence: handle load_global_block_intel

  • anv: fix INTEL_DEBUG=sync

  • intel: fixup number of threads per EU on XeHP

  • anv: remove unused enum

  • anv: fix acceleration structure descriptor template writes

  • anv: skip acceleration structure in binding table emission

  • anv: reemit 3DSTATE_STREAMOUT after memcpy

  • anv: fix clflush usage on utrace copy batch

  • anv: limit clflush usage

  • vulkan/runtime: 0-out pipeline cache object

  • iris: use new kernel uAPI to compute video memory

  • anv: fix invalid utrace memcpy l3 config on gfx < 11

  • anv: reset all dynamic state after secondary execution

  • anv: add missing logic op set in pipeline dyn state

  • Revert “anv: fix dynamic state emission”

  • anv: rework sample location

  • anv: never emit 3DSTATE_CPS in the pipeline batch

  • anv: don’t emit 3DSTATE_STREAMOUT in pipeline batch

  • anv: don’t emit 3DSTATE_WM in pipeline batch

  • anv: don’t emit 3DSTATE_BLEND_STATE_POINTERS in pipeline batch

  • anv: don’t emit 3DSTATE_DEPTH_BOUNDS in pipeline batch

  • anv: don’t emit 3DSTATE_VF_TOPOLOGY in pipeline batch

  • anv: remove static_state_mask

  • docs: explain state emission in Anv

  • intel: fix stall debug option

  • nir/cf: return cursor after insertion of cf_list

  • nir/lower_shader_calls: don’t use nop instructions as cursors

  • nir/lower_shader_calls: don’t insert code after break/continue

  • nir/lower_shader_calls: put inserted instructions into a dummy block

  • anv: fix primitives generated queries values

  • intel/perf: add support for new opcodes in code generation

  • intel/perf: store a copy of devinfo

  • intel/perf: add support for dualsubslice count variable

  • intel/perf: add support for GtSlice/GtSliceXDualsubsliceY variables

  • intel/perf: stop overriding oa_format

  • intel/perf: add OA A counter type

  • intel/perf: add support new variable counting the number of EUs in slice0-3

  • intel/perf: add max vfuncs

  • intel/perf: add new layout for Gfx12.5 products

  • intel/perf: disable sseu setting on Gfx12.5+

  • intel/perf: deal with OA reports timestamp values on DG2

  • intel/ds: fix compilation

  • u_trace/anv/iris: drop cs argument for recording traces

  • intel/disasm: add missing handling of <1;1,0>

  • util/debug: add an enable parsing helper

  • util/perf: add options to enable/disable tracepoints

  • anv: move internal RT shaders to the internal cache

  • nir/divergence: handle load_scratch_base_ptr

  • nir/divergence: handle load_ray_num_dss_rt_stacks_intel

  • anv: don’t expose EXT_border_color_swizzle on gfx7

  • intel/validator: validate dst/src types against devinfo support

  • anv: fix index buffer emission

  • vulkan/wsi: fix crash with debug names on swapchain

  • intel/dev: add a helper to update memory info

  • intel/dev: add a fallback when memory regions are not available

  • anv: limit RT writes to number of color outputs

  • anv: disable perf queries on non RCS engines

  • anv: make apply_pipeline_layout/compute_push_layout visible to NIR debug

  • anv: silence border color swizzle debug message

  • clc: add new feature options for intel_clc

  • intel/clc: enable fp16 & subgroups for GRL

  • anv: disable non uniform indexing of UBOs

  • anv: remove device features handling now in runtime

  • anv: use the right helper to invalidate memory

  • intel/fs: make sure memory writes have landed for thread dispatch

  • intel/nir: temporarly disable opt_uniform_atomics for RT/CL

  • anv/utrace: use a bo pool for utrace buffers

  • intel/fs: ray query fix for global address

  • nir/serialize: restore ray query variables

  • isl: add new helper for format component compatibility

  • anv: track if images can be fast clear with non-zero color

  • anv: move gfx12+ CCS_E clear color restriction

  • anv: deal with isl format swizzles for buffer views

  • anv: validate image view lowered storage formats for storage

  • anv: add a comment about handling buffer view swizzles on gfx7

  • intel: protect against empty invalidate ranges

  • anv: skip flush/invalidate faster

  • spirv: switch to uint64 for rayquery internal type

  • anv: ensure tile flush before streamout writes

  • intel/fs: Set NonPerspectiveBarycentricEnable when the interpolator needs it.

  • anv: remove local computation of dynamic states

  • anv: simplify dynamic buffer count in pipeline layout

  • anv: break up anv_pipeline_compile_graphics()

  • anv: split graphics nir loading

  • anv: rename internal function for consistency

  • anv: move CreateGraphicsPipelines to common code

  • anv: move CreateComputePipelines to common code

  • anv: move CreateRayTracingPipelines to common code

  • anv: reorder & document fields of anv_graphics_pipeline

  • anv: name non dynamic state fields correctly

  • anv: fix primitive topology dynamic state emission on gfx7

  • anv: move restart index to gfx state

  • anv: remove pipeline setting dynamic state

  • intel/dev: deal with i915 unallocated_size on smem

  • anv: allocate RT scratch in local memory

  • anv: make use of the new smallbar uAPI

  • anv: decode init batch with INTEL_DEBUG=bat

  • intel/dev: move verification function to a header

  • intel/tools/drm-shim: fixup eu_stride for topology

  • intel/tools/stub: fixup parsing of –platform=

  • intel/dev: add a test verifying that device override works

  • intel/dev: remove INTEL_DEVID_OVERRIDE

  • anv: fixup PIPE_CONTROL restriction on gfx8

  • anv: don’t return incorrect error code for vkCreateDescriptorPool

  • 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

  • intel/fs: fix load_scratch intrinsic

  • intel/fs: fixup scratch load/store handling on Gfx12.5+

  • intel/fs: fixup SEND validation check on overlapping src0/src1

Liviu Prodea (7):

  • dzn: Fix incompatible pointer type error affecting MSYS2 MINGW32

  • ci/MSVC: LLD is not really used anywhere

  • ci/MinGW: LLD is not really used anywhere

  • 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

Louis-Francis Ratté-Boulianne (4):

  • d3d12: Move d3d12_nir_lower_vs_vertex_conversion() to a common place

  • microsoft/compiler: Add support for more scaled formats

  • dzn: Allow some non-native formats to be used as vertex inputs

  • dzn: Enable dEQP-VK.pipeline.vertex_input.* test cases

Lucas Stach (37):

  • etnaviv: update headers from rnndb

  • etnaviv: set VIVS_GL_VERTEX_ELEMENT_CONFIG depending on prim type

  • etnaviv: don’t supertile textures if supertiling is disabled via debug option

  • etnaviv: fill all minor GPU features from the kernel

  • etnaviv: update headers from rnndb

  • etnaviv: correct bits per tile and clear value for HALTI5

  • etnaviv: use new PE pipe address states on >= HALTI0

  • etnaviv: use feature flag to determine which RS states to use

  • etnaviv: use feature bit for one const src per instuction limitation

  • etnaviv: clean up tiling setup in etna_compile_rs_state

  • etnaviv: add support for big tile RS states

  • etnaviv: properly set additional DEC400 compression states

  • etnaviv: use feature bit to check for big tile support

  • etnaviv: add tile size helper

  • etnaviv: reinstate accidentially commented assert

  • etnaviv: improve single buffer setup

  • etnaviv: add linear PE support

  • etnaviv: switch depth mode when linear PE is used

  • etnaviv: expose real map buffer alignment

  • etnaviv: allow mapped buffers during execution

  • etnaviv: drm: always use hash to track BO index

  • etnaviv: drm: don’t cache mmap offset

  • etnaviv: drm: make etna_bo_map thread safe

  • etnaviv: drm: rename etna_drm_table_lock

  • etnaviv: add function to get resource status

  • etnaviv: rework resource status tracking (again)

  • etnaviv: drop scanout assumption for resources allocated via modifier interface

  • kmsro: add ‘imx-lcdif’ driver support

  • etnaviv: move dummy BOs to screen

  • etnaviv: add texture descriptor suballocator

  • etnaviv: tex_desc: make error handling more consistent

  • etnaviv: tex_desc: remove descriptor patch TODO comment

  • etnaviv: fix use after free in async shader compile

  • etnaviv: remove etna_align_up() function

  • 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

M Henning (7):

  • nouveau/nir: Allow up to 6 nested joins

  • nouveau: Emit cctl to flush L1 cache for atomics

  • nouveau: Skip cctl for atomic counters in tgsi

  • nouveau/nir: Split fewer 64-bit loads

  • ttn: Make ttn_optimize_nir match gl_nir_opts

  • nv50: Fix tlsSpace alignment

  • nouveau: Drop C++03 compat code

Manas Chaudhary (2):

  • panvk: Add PANVK_DEBUG_DUMP dump mappings

  • panvk: Allow PAN_BO_INVISIBLE to be mapped with dump flag

Manuel Stoeckl (4):

  • dri_interface: add XBGR16161616 format

  • gbm: add GBM_FORMAT_[AX]BGR16161616

  • dri: fix incorrect fourcc for R16G16B16A16_UNORM format

  • dri: add [ax]bgr16161616 to format lookup tables

Marcin Ślusarz (40):

  • anv: invalidate all metadata in anv_nir_lower_ubo_loads

  • intel/compiler: invalidate all metadata in brw_nir_lower_intersection_shader

  • intel/compiler: invalidate metadata in brw_nir_initialize_mue

  • compiler: add VARYING_SLOT_CULL_PRIMITIVE

  • intel/compiler: handle VARYING_SLOT_CULL_PRIMITIVE in mesh

  • intel/compiler: handle gl_Viewport and gl_Layer in FS URB setup

  • anv: update task/mesh distribution with the recommended values

  • intel/compiler: print name of the unhandled intrinsic

  • anv: disable streamout before emitting mesh shading state

  • intel/compiler: implement primitive shading rate for mesh

  • anv: handle primitive shading rate for mesh

  • intel/tools: add support for GEM_CREATE_EXT in intel_dump_gpu

  • intel/tools: clean up mmio regs definitions

  • intel/tools: drop wrappers around mmio regs macros

  • intel/tools/aubinator: add support for 2 “new” subopcodes

  • intel/tools/aubinator: list all platforms in help message

  • intel/tools: add macros for gfx12+ variant of VCSUNIT0

  • nir: add load_mesh_inline_data_intel intrinsic to nir_divergence_analysis

  • nir: add load_task_payload intrinsic to nir_divergence_analysis

  • intel/tools: fix 32-bit build

  • anv: remove redundant code calculating dynamic states mask

  • anv: remove invalid copy/pasted comment

  • anv: mask out not applicable state flags when setting up mesh pipeline

  • intel/dev: fixup max_cs_workgroup_threads after hwconfig is read

  • nir/opt_load_store_vectorize: handle task payloads

  • intel/compiler: vectorize task payload loads/stores

  • nir/lower_task_shader: insert barrier before/after shared memory read/write

  • intel/compiler: assert that base is 0 for [load|store]_shared intrins

  • intel: fix typos found by codespell

  • intel/common: allocate space for at least one task urb

  • intel/compiler: adjust task payload offsets as late as possible

  • anv: disable injection of primitive shading rate for mesh

  • intel/compiler: print shaders after nir_remove_unused_varyings

  • nir: convert unused mesh outputs to shared memory

  • intel/compiler: emit URB fences for TASK/MESH

  • intel/compiler: there are 4 types of fences on gfx >= 12.5

  • intel/compiler: insert URB fence before task/mesh termination

  • intel/compiler: use NIR_PASS more

  • intel/compiler: fix mesh urb write regression

  • anv: disable task redistribution

Marek Olšák (311):

  • gallium: move drivers/radeon/* into drivers/radeonsi/

  • gallium: move radeon_winsys.h into gallium/include/winsys/

  • gallium/winsys: move {amdgpu,radeon_drm}_public.h contents into radeon_winsys.h

  • gallium/ddebug: implement pipe_vertex_state callbacks

  • nir: fix an uninitialized variable valgrind warning in nir_group_loads

  • ac/surface: fix an addrlib race condition on gfx9

  • radeonsi: set more state bits for disabled binning

  • radeonsi: don’t compile monolithic PS for dual source blending

  • radeonsi: add an SQTT workaround for chips with disabled RBs

  • radeonsi: set PA_SC_EDGERULE according to bottom_edge_rule state

  • radeonsi: initialize line stipple config registers

  • radeonsi: fix ALPHA_IS_ON_MSB determination

  • radeonsi: handle an out-of-bounds sampler/image index better

  • radeonsi: don’t treat skipped GS copy shader compilation as successful

  • radeonsi: dump shaders after si_shader_binary_upload to fix printed LDS stat

  • radeonsi: ignore AMD_DEBUG=nodcc if the texture is imported

  • radeonsi: run nir_io_add_const_offset_to_base for TES/TCS as late optimizations

  • radeonsi: scalarize IO instructions

  • radeonsi: add pipe_stream_output_info into si_shader_context

  • radeonsi: use nir_shader_get_entrypoint in si_nir_scan_shader

  • radeonsi: apply key.ge.opt.kill_{outputs,pointsize,clipdistance} in NIR

  • radeonsi: gather pipe_stream_output_info from NIR intrinsics

  • radeonsi: move most “info” fields from si_shader_selector into si_shader_info

  • radeonsi: move si_shader_info::stage into si_shader_selector

  • ac: add ac_nir_optimize_outputs, a NIR version of ac_optimize_vs_outputs

  • radeonsi: assign param export indices before compilation

  • ac/llvm: remove LLVM pass ac_optimize_vs_outputs

  • amd: document chips

  • ac/surface/tests: generalize and extend gfx10 tests

  • ac: add more non-shadowed registers to the lists

  • ac/llvm: add AC_WAIT_EXP for ac_build_waitcnt

  • ac/llvm: remove immoffset parameter from ac_build_tbuffer_store

  • ac/llvm: remove immoffset parameter from ac_build_tbuffer_load

  • ac/llvm: remove inst_offset parameter from ac_build_buffer_store_dword

  • ac/llvm: use soffset correctly in ac_build_buffer_load

  • ac/llvm: remove inst_offset parameter from ac_build_buffer_load

  • ac/llvm: remove immoffset parameter from ac_build_tbuffer_load_byte/short

  • ac/llvm: remove unused code from ac_llvm_build.c/h

  • ac/llvm: don’t use tbuffer_store as a fallback for swizzled stores

  • ac/llvm: rename tbuffer -> buffer where tbuffer instructions are not generated

  • ac,radeonsi: rework how scratch_waves is used and move it to ac_gpu_info.c

  • ac/gpu_info: remove old and unused fields from radeon_info

  • ac/llvm: remove unused LLVM helpers

  • ac/llvm: don’t create the target machine if the LLVM processor is unsupported

  • radeonsi: remove an obsolete comment about LLVM 14

  • radeonsi: fail to create pipe_screen if LLVM doesn’t support the GPU

  • winsys/amdgpu: fix a mutex deadlock when we fail to create pipe_screen

  • radeonsi/ci: add polaris11 baseline

  • util: add pipe formats R10G10B10X2_SINT, B10G10R10X2_SINT, G16R16_SINT

  • util: change util_format_snorm8_to_sint8 -> snorm_to_sint for radeonsi

  • ac/gpu_info: rework how num_se is derived

  • ac: remove really_needs_scratch, parameter from ac_parse_shader_binary_config

  • ac/llvm: set the correct cache policy for sparse buffer loads

  • ac/llvm: don’t set ac_dlc in visit_intrinsic

  • ac: support GR channel order in ac_choose_spi_color_formats

  • ac,radeonsi: report SCALED formats as unsupported by samplers and color buffers

  • radeonsi: always print the lower-case GPU name for radeonsi-run-tests.py

  • radeonsi: cleanup local includes

  • radeonsi: align the tessellation ring address to 2MB

  • radeonsi: remove unused si_cs_shader_state::uses_scratch

  • radeonsi: simplify setting COMPUTE_PGM_RSRC2.SCRATCH_EN

  • radeonsi: code style fix

  • radeonsi: add si_can_use_compute_blit

  • radeonsi: don’t report R64_*INT as a sampler format because it doesn’t work

  • radeonsi: don’t allow broken compute image copies into A8R8_UNORM

  • radeonsi: add color buffer support for 2_10_10_10 pipe formats

  • radeonsi: add color buffer support for R9G9B9E5_FLOAT on gfx10.3

  • radeonsi: implement compute_copy_image between 1D_ARRAY and other texture types

  • radeonsi: cosmetic changes in si_compute_copy_image

  • radeonsi: assert format support in si_compute_copy_image

  • radeonsi: don’t expose formats that CB supports, but not shaders

  • radeonsi: rename si_test_blit -> si_test_image_copy_region

  • radeonsi/test_image_copy: remove whole image copies

  • radeonsi/test_image_copy: remove linear and power-of-two size testing

  • radeonsi/test_image_copy: remove special SDMA codepaths

  • radeonsi/test_image_copy: simplify texture size generation

  • radeonsi/test_image_copy: separate generating a random pipe_resource

  • radeonsi/test_image_copy: separate printing pipe_resource into a function

  • radeonsi/test_image_copy: test all interesting texture targets

  • radeonsi/test_image_copy: test copying a block-compressed format

  • radeonsi/test_image_copy: test mipmaps

  • radeonsi/test_image_copy: test all formats

  • radeonsi/ci: update sienna_cichlid results

  • radeonsi: handle compressed formats in si_compute_copy_image

  • radeonsi: improve the subsampled copy_image calculation

  • radeonsi: remove compressed and subsampled gfx copy from resource_copy_region

  • radeonsi: remove si_create_sampler_view_custom and related code

  • radeonsi: remove si_create_surface_custom

  • mesa: consider the sample count when choosing a texture format

  • frontend/dri: allow swapped BGR->RGB channel order for MSAA color buffers

  • amd/registers: hardcode GC base offsets in the json generator

  • amd/registers: add gfx11 to the json generator

  • amd/registers: add gfx11.json

  • amd/registers: add gfx11-rsrc.json

  • amd: enable gfx11 in header generator, fix drivers with renamed gfx6-10 defs

  • amd: add gfx11 to packet definitions

  • amd: import gfx11 addrlib

  • amd: add Mesa-only addrlib changes

  • ac: don’t align VGPRs to 8 or 16 for gfx11

  • ac: implement ac_get_tbuffer_format for gfx11

  • ac: scratch buffer register changes for gfx11

  • ac: implement register shadowing for gfx11

  • ac/llvm: export mrt0 instead of null on gfx11

  • ac/llvm: don’t set DLC on gfx11 because it means something else there

  • ac/llvm: update pknorm and waitcnt for gfx11

  • ac/llvm: don’t set GLC for stores on gfx11

  • ac/gpu_info: set cu_mask correctly for gfx11

  • ac/surface: gfx11 changes

  • ac/surface: define gfx11 modifiers

  • ac/surface: add gfx11 support to modifiers tests

  • radeonsi/gfx11: increase the hw screen offset alignment

  • radeonsi/gfx11: always allow DCC stores

  • radeonsi/gfx11: expect packed threadID VGPRs

  • radeonsi/gfx11: enable NGG-only draw paths

  • radeonsi/gfx11: enable arbitrary DCC format reinterpretation

  • radeonsi/gfx11: use the new TCS WaveID SGPR to compute vs_rel_patch_id

  • radeonsi/gfx11: program inst_pref_size for graphics

  • radeonsi/gfx11: buffer descriptor changes

  • radeonsi/gfx11: add CB deltas

  • ac,radeonsi/gfx11: remove FMASK loads

  • ac,radeonsi/gfx11: set SWIZZLE_ENABLE correctly

  • radeonsi/gfx11: don’t set non-existent SPI_SHADER_USER_DATA_VS_x

  • radeonsi/gfx11: don’t set COMPR for exports, use 0x3 channel mask instead

  • radeonsi/gfx11: implement attributes through memory

  • radeonsi/gfx11: scattered register deltas

  • radeonsi/gfx11: don’t set non-existent CP_COHER_START_DELAY

  • radeonsi/gfx11: emit SQ_NON_EVENT for tessellation at the end of IBs

  • radeonsi/gfx11: don’t use FLUSH_AND_INV_DB_META

  • radeonsi/gfx11: TF_RING_SIZE changed to a per-SE size

  • radeonsi/gfx11: limit MSAA color buffers to the RGBA channel order

  • radeonsi/gfx11: update the initialization of SGPR0/1 registers for HS and GS

  • radeonsi/gfx11: change LDS allocation granularity for PS

  • radeonsi/gfx11: don’t count the non-existent scratch_byte_offset SGPR

  • radeonsi/gfx11: resolve MSAA using u_blitter

  • radeonsi/gfx11: mark streamout as unimplemented for now

  • radeonsi/gfx11: limit CP DMA to max 32KB sizes

  • radeonsi: inline si_cp_dma_prefetch in si_draw_vbo for lower overhead

  • radeonsi/gfx11: add a workaround for CB perf counters

  • amd: add chip identification for gfx1100-1103

  • radeonsi: remove tautologies when setting CU_EN

  • amd: rename ring_type –> amd_ip_type and match the kernel enum values

  • amd: rename RING_* enums to AMD_IP_*

  • amd: replace num_rings[type] with ip[type].num_queues

  • ac/gpu_info: simplify HW IP querying

  • ac/gpu_info: remove dead GDS query code

  • ac/gpu_info: print all IP versions reported by the kernel

  • ac/gpu_info: fix incorrect IP versions reported by the kernel

  • radeonsi: report 10_10_10_2 scaled formats as unsupported on gfx6-9 as well

  • radeonsi: report more missing/broken texture formats as unsupported on gfx6-9

  • ac/llvm: implement memory_barrier_tcs_patch properly to fix LLVM 15

  • radeonsi: wait before s_barrier in TCS epilog to fix LLVM 15

  • ac/llvm: inline emit_membar

  • ac/llvm: replace LLVMBuildFence with ac_build_waitcnt(VSTORE)

  • ac/llvm: add gl_shader_stage parameter into ac_build_s_barrier

  • ac/llvm: move the gfx6 optimization for TCS barriers into ac_build_s_barrier

  • ac/llvm: fix the remaining s_barriers for LLVM 15

  • radeonsi: add si_get_tcs_epilog_key

  • ac/llvm: skip s_barrier if tess patches don’t cross a wave boundary

  • radeonsi: inline si_nir_build_llvm

  • ac/llvm: remove ac_shader_abi::emit_outputs

  • radeonsi: cleanups getting rid of the ambigous “epilogue” word

  • radeonsi: get rid of the ambiguous “prologue” word

  • radeonsi: try to group stage-specific code in si_llvm_translate_nir

  • ac: replace 5 ac_shader_abi::load_* callbacks with 1 intrinsic_load callback

  • amd: change chip_class naming to “enum amd_gfx_level gfx_level”

  • radeonsi: rename RADEON_FLAG_UNCACHED -> RADEON_FLAG_GL2_BYPASS

  • winsys/amdgpu-radeon: rework how we describe heaps

  • winsys/amdgpu: handle RADEON_FLAG_ENCRYPTED as a heap modifier

  • radeonsi: use PIPE_RESOURCE_FLAG_UNMAPPABLE and DRIVER_INTERNAL more

  • winsys/amdgpu-radeon: clean up code related to heaps

  • include: update amdgpu_drm.h

  • radeonsi: use the new flag AMDGPU_GEM_CREATE_DISCARDABLE

  • radeonsi: use AMDGPU_VM_PAGE_NOALLOC to disable MALL (infinity cache)

  • radeonsi: fix a crash when failing to create a context

  • radeonsi: print an error when failing to create a context

  • radeonsi/gfx11: set BIG_PAGE for the attribute ring

  • ac/gpu_info: silence a valgrind warning due to amdgpu_query_hw_ip_info

  • radeonsi: remove GFX9_MERGED_NUM_USER_SGPR definition

  • ac/gfx11: fix the scratch buffer

  • radeonsi/gfx11: fix alpha-to-coverage with stencil or samplemask export

  • radeonsi/gfx11: don’t insert shader code for GS_PIPELINE_STATS_EMU

  • radeonsi/gfx11: fix the value of VGT_GS_OUT_PRIM_TYPE at the beginning of IBs

  • Revert “radeonsi/gfx11: limit MSAA color buffers to the RGBA channel order”

  • radeonsi/gfx11: fix VM faults due to the attribute ring

  • radeonsi/gfx11: optimize attribute stores

  • radeonsi: merge all preamble states into one

  • radeonsi: move CS preamble emission into the winsys

  • winsys/amdgpu: initialize IB_PREAMBLE in advance

  • radeonsi: fix resource_copy_region with ETC formats (e.g. for Stoney)

  • Revert “frontend/dri: allow swapped BGR->RGB channel order for MSAA color buffers”

  • Revert “mesa: consider the sample count when choosing a texture format”

  • amd: rename fishes to Navi21, Navi22, Navi23, Navi24, and Rembrandt

  • r300,r600,svga: save the FS constant buffer for u_blitter to fix a regression

  • st/mesa: remove unused GENERIC input and output from the clear VS

  • ac/gpu_info: always retile DCC on gfx10 and newer chips

  • mesa: clamp UINT values greater than INT_MAX for glGetInteger

  • mesa: change GL_MAX_COMPUTE_WORK_GROUP_COUNT to UINT

  • mesa: change GL_MAX_UNIFORM_BLOCK_SIZE to UINT

  • mesa: change GL_MAX_TEXTURE_BUFFER_SIZE to UINT

  • mesa: change GL_MAX_SHADER_STORAGE_BLOCK_SIZE to UINT

  • st/mesa: limit MaxComputeWorkGroupCount to INT_MAX - 1 due to failing tests

  • st/mesa: round down MaxUniformBlockSize to a multiple of 4 for piglit

  • gallium: rename PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE to *_BUFFER0_*

  • gallium: add PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT for UBOs

  • gallium: rename PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE->MAX_TEXEL_BUFFER_ELEMENTS_UINT

  • gallium: rename PIPE_CAP_MAX_SHADER_BUFFER_SIZE -> *_UINT

  • radeonsi: increase the max compute LDS size to 64KB for gfx7+

  • radeonsi: report correct maximum compute grid sizes

  • radeonsi: clamp against MAX_TEXEL_BUFFER_ELEMENTS correctly

  • radeonsi: change max TBO/SSBO sizes again and rework max alloc size

  • radeonsi: compute PIPE_CAP_MAX_TEXEL_BUFFER_ELEMENTS_UINT correctly

  • radeonsi: set the max UBO size same as the max SSBO size

  • winsys/amdgpu: use AMDGPU_IB_FLAG_PREAMBLE for the CS preamble on gfx10+

  • radeonsi: print LDS size in bytes

  • radeonsi: don’t use info.gs.invocations if it’s not GS

  • radeonsi: fix uninitialized wait_mem_scratch_tmz

  • radeonsi: remove unused dword from wait_mem_scratch

  • radeonsi: fix polygon stippling without color and Z outputs (v2)

  • radeonsi: restructure PS no-export fixups

  • radeonsi: determine DB_SHADER_CONTROL in si_shader_ps

  • radeonsi: set INTERPOLATE_COMP_Z to 0 to work around an EQAA bug

  • radeonsi: add BREAK_BATCH at the beginning of IBs

  • radeonsi: simplify how pipeline statistic offsets are computed

  • radeonsi: rework how VS_STATE_BITS are set for VS, TES, and GS

  • radeonsi: rename and regroup VS_STATE definitions

  • radeonsi: move GS_STATE bits to the end to make space at the beginning

  • radeonsi: rework how vs_state_bits is set and unpacked

  • radeonsi: fix an NGG streamout hang with monolithic shaders

  • radeonsi: fix a crash in gfx10_sh_query_get_result_resource

  • radeonsi: unconditionally enable the streamout overflow query with NGG

  • radeonsi: inline gfx10_emit_streamout_begin/end

  • radeonsi: fix NGG streamout hang by allocating GDS in the right place

  • radeonsi: remove streamout code from shaders if no streamout buffers are bound

  • winsys/amdgpu: add a kernel GDS management workaround retrying on -ENOMEM

  • radeonsi: allocate GDS only once per process

  • radeonsi: allocate only 1 GDS OA counter for gfx10 NGG streamout

  • ac,radeonsi: don’t export null from PS if it has no effect on gfx10+

  • ac/gpu_info: clamp gart_size_kb and vram_size_kb to fix buggy kernel driver

  • gallium/u_threaded: fix buffer busyness tracking

  • ac/llvm: fix tcs_wave_id unpacking on gfx11

  • amd/gfx11: add PixelWaitSync packet fields

  • radeonsi/gfx11: compile monolithic PS if it writes memory

  • radeonsi/gfx11: allocate more space for pipeline statistics

  • radeonsi/gfx11: synchronize correctly before setting SPI_ATTRIBUTE_RING_*

  • radeonsi/gfx11: don’t use memory for waiting for cache flushes

  • radeonsi/gfx11: don’t allocate unused wait_mem_scratch

  • radeonsi/gfx11: drop the ES vertex count requirement

  • radeonsi/gfx11: add missing register shadowing code

  • radeonsi/gfx11: rework GDS streamout code to single-lane and enable streamout

  • amd: update addrlib - trivial changes

  • ac/surface: expose all 64K_R_X and 256K_R_X modifiers on gfx11

  • radeonsi: fix random PS wave size

  • util: remove our redefinition of assert

  • Change all debug_assert calls to assert

  • util: remove now unused debug_assert

  • ttn: set dest_type for TXQ

  • gallium: add pipe_blit_info::dst_sample, update u_blitter to write that sample

  • ac/gpu_info: rename info fields to num_cu, memory_bus_width, memory_freq_mhz

  • ac/gpu_info: remove tabs

  • ac/gpu_info: rework and extend device info to be more informative

  • ac/gpu_info: use hw_ip::ip_discovery_version to set IP versions

  • ac/gpu_info: use the kernel-reported GFX IP version to set gfx_level

  • ac/gpu_info: remove vram_size and gtt_size in favor of *_kb variants

  • ac/gpu_info: remove redundant uvd_decode

  • ac/gpu_info: remove redundant jpeg_decode

  • ac/gpu_info: remove redundant uvd_encode

  • ac/gpu_info: remove redundant vce_encode

  • ac/gpu_info: remove redundant vcn_encode

  • amd: require amdgpu DRM 3.2.0 from April 2016

  • gallium/radeon: require radeon DRM 2.45.0 from April 2016

  • radeonsi: remove workarounds for radeon DRM < 2.45.0

  • ac/gpu_info: use drm_amdgpu_device_info instead of amdgpu_gpu_info

  • ac/gpu_info: remove amdgpu_gpu_info parameter from ac_query_gpu_info

  • ac/gpu_info: remove unused has_unaligned_shader_loads

  • gallium/radeon: require radeon DRM 2.50.0 (kernel 4.12) from July 2017

  • ac/gpu_info: require amdgpu DRM 3.15.0 (kernel 4.12) from July 2017

  • util/u_threaded: fix a CPU storage crash due to an invalid codepath taken

  • glthread: don’t ignore glPushAttrib/glPopAttrib when tracking GL_CULL_FACE

  • glthread: don’t sync on IsEnabled(GL_DEPTH_TEST) by tracking it in glthread

  • util/format: add util_format_rgbx_to_rgba helper

  • amd/addrlib: fix 3D texture allocation failures on gfx11

  • ac/surface: don’t forbid 256KB swizzle modes on smaller gfx11 chips

  • radeonsi: unify VGT_TESS_DISTRIBUTION programming

  • radeonsi: move SI_MAX_VRAM_MAP_SIZE to si_debug_options.h

  • radeonsi: call pipe->blit instead of util_blitter_blit after MSAA resolving

  • radeonsi: make si_launch_grid_internal static

  • radeonsi: add common helper si_launch_grid_internal_images that is more robust

  • radeonsi: remove compute-based DCC decompression because it’s broken

  • radeonsi: don’t do image stores with RGBX, L, LA, I, and SRGB formats

  • radeonsi: follow shader_info.float_controls_execution_mode (mostly)

  • radeonsi: add need_fmask_expand parameter into si_decompress_subresource

  • radeonsi: check for 16-bit hw support instead of relying on options.fp16

  • radeonsi: move compute-related code from si_blit.c to si_compute_blit.c

  • radeonsi: fold async_copy into the preceding conditional in si_blit

  • radeonsi: cosmetic changes around do_hardware_msaa_resolve

  • radeonsi/gfx11: use correct VGT_TESS_DISTRIBUTION settings

  • radeonsi/gfx11: set SAMPLE_MASK_TRACKER_WATERMARK = 15 and clean up

  • radeonsi/gfx11: use better PRIM_GRP_SIZE_GFX11 setting

  • radeonsi/gfx11: skip code in si_update_shaders that has no effect

  • radeonsi/gfx11: rename si_calc_inst_pref_size -> si_get_shader_prefetch_size

  • radeonsi/gfx11: enable shader prefetch except for initial chip revisions

  • radeonsi/gfx11: use a better workaround for the export conflict bug

  • radeonsi: make various blit functions non-static

  • radeonsi: allow texture_map to upload only 1 sample for MSAA instead of all

  • radeonsi: add a randomized blit test

  • radeonsi: move the no-AA small prim precision cull constant into an SGPR

  • radeonsi: move small prim precision computation out of si_emit_cull_state

  • radeonsi: don’t assume that TC_ACTION_ENA invalidates L1 cache on gfx9

  • glthread: unbind framebuffers in glDeleteFramebuffers

  • glthread: call _mesa_glthread_DeleteBuffers unconditionally

  • ac/surface: disallow 256KB swizzle modes on gfx11 APUs

Marek Vasut (3):

  • dri: Check buffer height and avoid overflow

  • etnaviv: Rename etna_emit_tex() args

  • etnaviv: Implement TXD

Mark Collins (1):

  • tu: Clamp priority in DRM submitqueue creation

Mark Janes (11):

  • intel: parse intel_measure environment without side effects

  • intel: relax assertion in INTEL_MEASURE

  • anv: fix performance bug in INTEL_MEASURE

  • intel: provide a callback to clean up after intel_measure_gather

  • iris: provide a callback to INTEL_MEASURE to clean up snapshots

  • util: define helpful macros for compiler diagnostic features

  • iris: pad all structures used in a shader key

  • iris: reorder to minimize padding

  • intel/compiler: pad all data structures used by shader cache keys

  • intel/compiler: reorder shader cache keys to minimize padding

  • intel/dev: drop warning for unhandled hwconfig keys

Martin Roukala (né Peres) (27):

  • ci/b2c: fix the generation of the IMAGE_UNDER_TEST variable

  • ci/b2c: bump the kernel to 5.17.1

  • ci/b2c: update b2c to enable monitoring support

  • radv/ci: add a Van Gogh dEQP runner

  • ci: add ACO_DEBUG to the list of variables to pass down for testing

  • ci/radv: remove amdgpu.gpu_recovery=0 from the kernel cmdline

  • radv/ci: reboot the DUTs when hitting a ring timeout

  • radv/ci: reduce the execution timeout

  • radv/ci: re-enable fossils testing

  • radv/ci: enable the experimental support for mesh shaders

  • radv/ci: update the list of flakes

  • radv/ci: allow polaris10 to retry more times

  • radv/ci: bump the timeout of vangogh/renoir

  • radv/ci: update the vkcts expectations for the CI machines

  • radv/ci: remove an expected fail from all families

  • radv/ci: try to guess failure expectations for Fiji/Raven/Navi14/Navi22

  • ci/valve: do not extract the install tarball on the runner

  • ci/valve: uprev boot2container

  • Revert “ci/valve: uprev boot2container”

  • radv/ci: test vkd3d on kabini

  • ci/radv: move a test from the fail list to the flake list

  • ci/radv: add a missing flake

  • ci/radv: enable vkcts testing on kabini

  • ci/x86: update to llvm 13

  • radv/ci: test the llvm backend on navi21

  • radv/ci: allow specifying a warning pattern

  • radv/ci: do not reboot on soft-recovered hangs, just warn

Matt Coster (20):

  • pvr: csbgen: Formatting pass (PEP-8 plus other minor changes)

  • pvr: csbgen: Add a missing @staticmethod decorator

  • pvr: csbgen: Make some loops more pythonic

  • pvr: csbgen: Cleanup imports

  • pvr: csbgen: Remove “dim” functionality from Group

  • pvr: csbgen: Remove unused function parameters

  • pvr: csbgen: Add typing information

  • pvr: csbgen: Isolate “main” function with __name__ check

  • pvr: csbgen: Replace map() and filter() with list comprehension

  • pvr: csbgen: Fix “local variable may be undefined” lints

  • pvr: csbgen: Add *_unpack() functions for all generated struct types

  • pvr: debug: Implement PVR_DEBUG variable

  • pvr: csbgen: Make all generated enums unambiguous

  • pvr: Add a const qualifier to inline pvr_csb_*() helpers

  • pvr: Remove pvr_cmd_struct() macro

  • pvr: Make pvr_cmd_pack() macro clearly internal

  • pvr: Split out unioned structs from struct pvr_sub_cmd

  • pvr: Implicitly assert that the correct sub-command type is present

  • pvr: Split pvr_dev_addr_t into a separate header

  • pvr: Add helper macros for creating pvr_dev_addr_t instances

Matt Turner (3):

  • mesa: Drop dead #include “sparc/sparc.h”

  • freedreno/ir3: Move the texture array coord fixup to nir

  • freedreno/ir3: Pass 16-bit sampler coordinates when possible.

Matti Hamalainen (7):

  • gallium/tools: fixes to option handling

  • gallium/tools: add option for ignoring junk calls in trace dumper

  • gallium/tools: reimplement tracediff completely in Python

  • pytracediff: add per-line difference highlighting for blocks

  • pytracediff: make -M (“method only”) option print arguments for differing calls

  • pytracediff: change how ‘junk’ calls are handled

  • pytracediff: implement pager (‘less’) invocation internally

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 Olbrich (1):

  • crocus: export GEM handle with RDWR access rights

Michael Skorokhodov (2):

  • glsl: Fix ir_quadop_vector validation

  • anv: Update line range

Michel Zou (7):

  • gallium: fix unused symbols warnings

  • meson: call run_command with check=true

  • vulkan/wsi: fix missing unistd include

  • zink: fix pointer size conversion warning

  • lavapipe: allow null handleTypes

  • meson: drop dladdr check on win32

  • util/xmlconfig: fix -Wmaybe-uninitialized warning

Mihai Preda (28):

  • gallium: add opaque pointers shim for LLVM < 8.0

  • gallium: use LLVM opaque pointers in draw_llvm.c

  • gallium/llvmpipe: use LLVM opaque pointers in lp_bld_interp.c

  • gallium/llvmpipe: use LLVM opaque pointers in lp_bld_depth.c

  • gallivm: use LLVM opaque pointers in lp_bld_arit.c

  • gallivm: use LLVM opaque pointers in lp_bld_assert.c

  • gallivm: use LLVM opaque pointers in lp_bld_format_aos.c

  • gallivm: use LLVM opaque pointers in lp_bld_conv.c

  • gallivm: use LLVM opaque pointers in lp_bld_coro.c

  • gallivm: use LLVM opaque pointers in lp_bld_printf.c

  • gallivm: use LLVM opaque pointers in lp_bld_flow.c

  • gallivm: use LLVM opaque pointers in lp_bld_intr.c

  • gallivm: use LLVM opaque pointers in lp_bld_format_s3tc.c

  • gallivm: use LLVM opaque pointers in lp_bld_gather.c

  • gallivm: use LLVM opaque pointers in lp_bld_nir_soa.c

  • gallivm: use LLVM opaque pointers in lp_bld_sample.c

  • gallivm: use LLVM opaque pointers in lp_bld_sample_soa.c

  • gallivm: use LLVM opaque pointers in lp_bld_struct.c

  • gallivm: use LLVM opaque pointers in lp_bld_tgsi_soa.c

  • gallivm: use LLVM opaque pointers in lp_bld_tgsi_aos.c

  • gallivm: LLVM opaque pointers small changes

  • gallium: refactor a channel loop in draw_llvm.c

  • Revert “gallivm: use LLVM opaque pointers in lp_bld_tgsi_soa.c”

  • gallium: LLVM-15 contexts use non-opaque pointers

  • gallivm: fix a few llvm non-opaque pointers

  • gallivm: refactor a bit the cache access in view of LLVM opaque pointers

  • gallivm: add lp_build_struct_get() variants that take the LLVM type

  • gallivm: push LLVM version guard into assert

Mike Blumenkrantz (634):

  • nir/lower_tex: fix rect queries with lower_rect set

  • mesa/st: set normalized coords for RECT samplers if rects are unsupported

  • zink: unset PIPE_CAP_TEXRECT

  • zink: radv baseline fix

  • zink: nv ci update

  • zink: clamp max shader images to 32

  • zink: remove tcs patch slot map

  • zink: disable EXT_extended_dynamic_state2 on AMDPRO

  • zink: add baseline for amdpro

  • zink: reject resource creation if format features don’t match attachment

  • zink: use mixed zs renderpass for depth read/write

  • zink: unconditionally set line width on rasterizer state change

  • zink: support restart with PIPE_PRIM_LINES_ADJACENCY if ext is available

  • zink: fix extended restart prim types without dynamic state2

  • zink: do not create fences at all if timeline semaphores are supported

  • zink: require timeline semaphores

  • zink: remove batch lock

  • zink: rename zink_query::batch_id

  • zink: remove driver-based max_fences throttling

  • zink: hook up VK_KHR_create_renderpass2

  • zink: only use VK_DEPENDENCY_BY_REGION_BIT if sync2 is available

  • zink: require renderpass2

  • zink: require KHR_imageless_framebuffer

  • zink: delete all non-imageless framebuffer code

  • zink: remove framebuffer indirection

  • zink: rename imageless framebuffer functions

  • zink: remove the worst part of basic framebuffer support

  • zink: remove ZINK_NO_TIMELINES

  • zink: make a kopper debug print into an error

  • zink: rework zink_kopper_update() assert

  • zink: always bind gfx pipeline at the top of draw

  • zink: store min required stride values on the vertex state

  • zink: selectively disable dynamic vertex stride

  • nir/fold_16bit_sampler_conversions: add a mask for supported sampler dims

  • lavapipe: run nir_fold_16bit_sampler_conversions

  • zink: set VK_QUERY_RESULT_WAIT_BIT when copying to qbo

  • zink: NV_linear_color_attachment

  • zink: nv ci update

  • zink: fix synchronization when drawing from streamout

  • zink: fix xfb counter buffer barriers

  • zink: remove xfb_barrier flag

  • zink: handle device-local unsynchronized maps

  • util/draw: fix map size of indirect buffer in util_draw_indirect_read

  • util/draw: handle draw_count=0 when reading indirect parameters

  • util/draw: fix indirect draw count readback

  • gallium: add PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE

  • zink: unset PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE

  • zink: move the kopper present fence to the displaytarget object

  • wgl: support GL 4.6

  • zink: make unsupported blit formats an error

  • zink: make update_framebuffer_state() public

  • zink: rework clear_depth_stencil hook

  • zink: add a stencil blit fallback path

  • zink: fix tcs control barriers for use without vk memory model

  • zink: fix semantics mask for compute control barriers

  • zink: hook up VK_KHR_vulkan_memory_model

  • zink: use vulkan memory model shader semantics for tcs barriers

  • zink: always use vk mem model for shaders if available

  • zink: fix memory_barrier intrinsic

  • zink: fix stride=0 for dynamic state vertex stride checking

  • zink: add synchronization for buffer clears

  • mesa/st: clamp GL_RENDERBUFFER to GL_TEXTURE_2D for sparse queries

  • aux/trace: make get_sparse_texture_virtual_page_size useful

  • glsl/nir: set new_style_shadow for sparse tex ops as necessary

  • zink: fix group memory barrier emission

  • vulkan: bump layer api versions to current vk header version

  • vk/cache: unbreak vk_pipeline_cache_create with flags

  • kopper: add DISPLAY_TARGET bind for depth buffer

  • zink: fix/improve swapchain surface info updating

  • zink: fix up swapchain depth buffer geometry during fb update

  • drisw: remove dead code

  • kopper: always fetch and store drawable info

  • kopper: move drawable geometry updating up in function

  • kopper: store whether screen has dmabuf support

  • kopper: copy a bunch of code for texture_from_pixmap

  • zink: add supported present modes to kopper displaytarget

  • zink: add a util function for finding swapchain resource

  • zink: flag swapchains when updating fails

  • zink: handle dead swapchains in acquire

  • zink: unset image layout when killing swapchain

  • zink: rework swapchain object check for acquires

  • zink: fix return for zink_kopper_acquire

  • zink: handle swapchain acquire failures more directly

  • zink: flag swapchain resources as swapchains

  • zink/kopper: add a mechanism for checking swapchain status

  • zink: radv ci updates

  • ac: remove gallivm header include

  • kopper: add some error logging for pixmap->texture failure

  • kopper: check for modifiers to use modifier functionality

  • zink/kopper: add a function for determining if running on software

  • kopper: check whether zink is using sw

  • kopper: rename a confusing variable

  • kopper: implement texture-from-pixmap for software (non-dmabuf)

  • zink: fix dmabuf plane returns

  • zink: export fd info for all 2d images

  • zink: ignore KMS handle types

  • zink: remove drm_fd

  • llvmpipe: add a ci flake

  • llvmpipe: disable statistic queries during draw if queries are disabled

  • llvmpipe: remove misleading query comment

  • llvmpipe: disable compute statistics queries if queries are disabled

  • wgl: always set alpha on kopper windows

  • zink: hook up VK_EXT_primitives_generated_query

  • zink: pass query object to get_num_queries()

  • zink: pass query object to get_num_query_pools()

  • zink: pass query object to get_num_results()

  • zink: pass screen param to convert_query_type()

  • zink: add and use a function to detected emulated primgen queries

  • zink: add a flag to zink_query to trigger rasterizer discard workaround

  • zink: use VK_EXT_primitives_generated_query when available

  • wgl: don’t auto-load zink before software drivers

  • lavapipe: lower quad_broadcast intrinsics

  • zink: add a ci flake

  • kopper: invalidate drawables when resizing textures in place

  • kopper: pass the current context to dri_flush

  • util/blitter: fix sampler restore with 0 saved samplers

  • radv: emit fewer framebuffer registers

  • zink: restore conditional ordering for query begin/end

  • nir/gather_info: flag fbfetch on subpass image loads

  • llvmpipe: never infer early zs tests when fbfetch is active

  • zink: split renderpasses for TextureBarrierNV() usage

  • zink: scale depth bias by factor of 2

  • zink: pass sparse backing page offset to binding function

  • zink: pass sparse bind bo offset through for texture binds

  • zink: set all usage flags when querying sparse features

  • zink: fix multisample conditional in sparse image query

  • zink: bump number of image binds that can be batched to 50

  • zink: semi-handle 1D sparse texture rewrites for drivers that don’t support them

  • zink: decouple descriptor templates from layouts

  • zink: flatten push descriptor template into normal template array

  • zink: implement indirect buffer indexing

  • zink: delete nir_lower_dynamic_bo_access

  • lavapipe: enqueue pipeline destruction

  • zink: fix null buffer/surface formats

  • zink: add more image usage for null surfaces

  • zink: use descriptor surfaces for notemplates ref updating

  • lavapipe: handle null samplerviews

  • gallivm: fix ssbo oob reads

  • lavapipe: fix CmdPushDescriptorSetWithTemplateKHR with refcounting

  • st/draw_feedback: set constant buffer stride

  • gallivm/draw: fix oob ubo reads

  • llvmpipe: always set ssbo data pointers for draw

  • gallivm: fix oob txf swizzling

  • lavapipe: set robustBufferAccess2 and robustImageAccess2

  • lavapipe: ci updates

  • docs: EXT_robustness2 for lavapipe

  • zink: ci updates

  • kopper: remove unused zink include

  • zink: remove unused headers/struct members/linkage

  • zink: outdent some code

  • zink: add a flag to indicate whether a resource is exportable

  • zink: break out resource bind-adding into separate function for reuse

  • zink: introduce copy contexts

  • zink: create a copy context for the screen on init

  • Revert “zink: export fd info for all 2d images”

  • zink: always check for fb rebinds when starting renderpass

  • zink: unset pipe_resource::next pointers when creating resource copies

  • zink: add a bind flag to indicate a resource is exported as a dmabuf

  • zink: fix conditional for modifier usage

  • zink: force memory exports if dmabuf bind is specified

  • zink: add a LINEAR drm modifier if rebinding to add dmabuf export

  • zink: rebind resources for export as needed

  • zink: create images with modifiers any time there is an import handle

  • zink: fix up sparse texture sampling for shadow samplers

  • zink: clamp out min_lod operands for explicit lod ops

  • zink: fix sparse binding for arrayed textures

  • zink: set sparse flag in cubemap lowering

  • zink: remove misleading sparse comment

  • zink: fix sparse texture depth calcs for arrayed textures

  • zink: remove implicit query resets

  • zink: remove refs from shader images

  • zink: reuse local res pointer in set_shader_images

  • zink: simplify dumb update flagging in set_shader_images

  • zink: read shader image r/w usage from incoming data struct

  • zink: copy incoming shader image struct after doing updates

  • zink: stop leaking shader image surfaces

  • zink: fix 3d shader image miplevel calc for depth

  • zink: directly reuse surface ivci when rebinding

  • gallium/noop: implement pipe_screen::create_fence_win32

  • aux/trace: screen::create_fence_win32

  • zink: add win32 guards for device extensions with win32 in name

  • lavapipe: ignore depth/stencil states if attachment is not present

  • lavapipe: fix pipeline handling for dynamic render zs state with pipeline library

  • spirv: fix barrier scope assert

  • zink: manually validate shaders in debug builds

  • zink: fix init with MESA_SHADER_CACHE_DISABLE enabled

  • zink: use copy context to eliminate dependency on EXT_calibrated_timestamps

  • zink: move get_timestamp to screen

  • zink: add tu baseline for a630

  • zink: add an anv-tgl ci job

  • zink: never create a sw context unless sw is requested

  • zink: only reject non-blittable resource creation if it has no other binds

  • zink: add separate error message for push descriptor set alloc fail

  • zink: add extra validation for resource creation

  • zink: remove input attachment usage when pruning surface usage

  • zink: add extended usage and retry if resource creation fails

  • zink: fix surface/bufferview cache comparisons

  • zink: force render target usage for sampler-only resources

  • zink: clamp 1D_ARRAY sparse textures to 2D as needed

  • zink: handle PIPE_BUFFER sparse texture queries

  • zink: fix non-dynamic vertex stride update flagging

  • zink: add c++ guards for zink_screen.h

  • zink: add ZINK_DEBUG=sync

  • zink: update radv baseline

  • zink: rename a fb surface variables

  • zink: always use zink_batch_rp to init renderpass

  • zink: use zink_batch_no_rp to end renderpasses

  • zink: move renderpass handling to zink_render_pass.c

  • zink: use global image rebind counter for dmabuf export

  • zink: remove fb rebind check during renderpass begin

  • zink: use local variable for getting rt barrier info

  • zink: break out sample location updating to separate function

  • zink: break up swapchain renderpass update to util function

  • zink: remove renderpass state flag for swapchain

  • zink: pass rt attrib to zink_render_pass_attachment_get_barrier_info()

  • zink: fix indentation

  • zink: break out color rt attrib analysis into util function

  • zink: break out zs rt attrib analysis into util function

  • zink: track whether there’s any transient attachments bound

  • zink: lift some renderpass mechanics up a level in the api

  • zink: split out scissor flagging from framebuffer updating

  • zink: use dynamic rendering (most of the time)

  • turnip: fix assert for max xfb outputs

  • zink: only warn once for SRGB fb without KHR_swapchain_mutable_format

  • zink: clamp dynamic render layerCount to 1

  • zink: create all descriptor ref templates at once

  • zink: add screen-based indexing to descriptor sets

  • zink: use descriptor indices in compiler

  • zink: use descriptor set index indirection in program init

  • zink: use descriptor set index indirection in cache state updates

  • zink: flag descriptor sets as changed before updating hashes

  • zink: add a “compact” descriptor mode

  • zink: use XOR for descriptor hash accumulation

  • zink: radv ci updates

  • zink: use a zink_render_pass_pipeline_state bit for fbfetch

  • zink: add renderpass bits for color/depth r/w

  • zink: update radv piglit fails

  • vtn: assert that vector shuffle indices are in-bounds

  • vtn: assert that composite members have the same bit size as the result

  • zink: require draw params ext/cap in ntv if drawid is used

  • zink: emit spirv cap for subgroup vote ops

  • zink: use correct scope for subgroup vote ops

  • zink: fix subgroup vote detection

  • zink: lower subgroup width to 1 for unsupported subgroup vote stages

  • zink: remove first_frame stalling

  • zink: drop wideLines requirement

  • zink: drop largePoints requirement

  • st/pbo_compute: do pbo readback directly to the buffer object if it exists

  • st/pbo_compute: use different calc for non-3d compute buffer sizing

  • st/pbo_compute: make compute download conditional in shader slightly more readable

  • st/pbo_compute: fix z coords for compute pbos

  • zink: only infer modifiers if winsys handle has a stride

  • zink: drop requirement for 6 descriptorsets to use bindless

  • zink: store the real (non-compact) binding usage for programs

  • zink: fix change flagging for compact descriptor cache

  • zink: flag all cached descriptors as needing update on program change

  • zink: add a #define for descriptor compaction

  • zink: make swapchain kill message more descriptive

  • st/texture: use base teximage for compute blits

  • st/texture: allow compute blits for (some) non-finalized textures

  • lavapipe: fix dynamic patchControlPoints

  • mesa: throw a log warning any time a fallback texture is used

  • zink: fix radv piglit fails

  • zink: force queries to start/end out of renderpass

  • zink: tu ci updates

  • zink: reorder pipeline dynamic state1 substruct

  • zink: improve packing for pipeline dynamic state1 info

  • zink: break out dynamic state1 pipeline info to struct

  • zink: use memcmp for comparing dynamic state1 info

  • zink: use dynamic cull mode

  • zink: break out pipeline dynamic state2 into struct

  • zink: use dynamic patch vertices if available

  • zink: expand patch_vertices pipeline key bitsize

  • zink: fix framebuffer attachment usage asserts for dummy attachments

  • aux/trace: fix sampler view dumping

  • aux/trace: implement pipe_screen::is_compute_copy_faster

  • zink: disable compute pbos on turnip

  • egl/wayland: manually swap backbuffer when using zink

  • egl/wayland: skip buffer creation on zink

  • kopper: use get_drawable_info path for non-x11 drawables

  • ci: disable unit tests

  • zink: fix dmabuf plane layout struct scoping

  • zink: represent plane offsets using offset from plane 0 vs size of plane

  • zink: rename a variable

  • zink: handle aux plane imports

  • Revert “zink: remove drm_fd”

  • zink: add back kms handling

  • mesa: improve relocation problem message

  • mesa/st: bump param reservation to 20

  • format_utils: properly parenthesize macro params

  • d3d12: skip time-elapsed piglit tests in ci

  • virgl: add some ci flakes

  • mesa/st: bump param reservation to 28

  • mesa: add statevar for atomic counter offsets

  • mesa: conditionally set constants dirty for atomic counter binds

  • st/glsl_to_nir: call st_set_prog_affected_state_flags() as late as possible

  • mesa: handle atomic counter lowering for drivers with big ssbo offset aligns

  • zink: remove ANV depth clip control workaround

  • zink: disable EXT_primitives_generated_query on turnip

  • zink: track invalidation for image resources

  • zink: flag renderpass for change if image resource changes valid state

  • zink: rename renderpass attrib value

  • zink: split out a dynamic render ternary

  • zink: hook up surface invalidation to LOAD_OP_DONT_CARE

  • zink: invalidate blit dsts if fully covered

  • zink: remove buffer valid range tracking from blit

  • mesa/streaming-memcpy: add memcpy fallback

  • streaming-memcpy: move to src/util/ and compile unconditionally

  • mesa/st: use util_streaming_load_memcpy for compute pbo copying

  • zink: break out of zs mixed layout update loop when work is done

  • zink: only update layout when doing mixed zs attachment renderpass check

  • aux/trace: add pipe_context::link_shader

  • aux/tc: handle link_shader

  • zink: simplify some compiler bo code

  • zink: fix buffer descriptor hashing

  • zink: always create descriptor templates

  • zink: flag optimization pass after inlining uniforms

  • zink: break out nir alu typing in ntv

  • zink: run nir_lower_alu_to_scalar in optimizer loop for 64bit lowering

  • zink: always scalarize pack/unpack alu ops

  • zink: don’t lower pack/unpack intrinsics

  • zink: run more int64 passes during optimization loop if int64 isn’t available

  • zink: fix ntv partial stores

  • zink: flag all shader i/o variables as !is_xfb

  • zink: fix variable locations in manual xfb emission

  • zink: if a variable is flagged as being xfb, treat it as manual xfb output

  • zink: improve/expand manual xfb emission

  • zink: implement nir_op_unpack_64_2x32 in ntv

  • zink: rewrite 64bit shader i/o as 32bit

  • zink: scalarize when rewriting explicit 64bit io

  • zink: avoid adding more 64bit alus during bo rewriting

  • zink: fix 32bit bo rewriting

  • zink: update tu a630 baseline

  • zink: add new flakes

  • zink: fix feature requirement

  • zink: add feature req for border colors

  • zink: more requirement docs

  • zink: rewrite atomic ssbo intrinsics as atomic derefs

  • zink: run copy_prop_vars during optimization

  • zink: warn on missing customBorderColorWithoutFormat

  • zink: more lavapipe glcts fails

  • zink: cap driver inlining using ssa allocation limit

  • zink: use separate pointer for swapchain presents

  • zink: keep a count of async presents occuring for a given swapchain

  • zink: defer old swapchain destruction

  • zink: add implicit sync workaround for non-mesa drivers

  • zink: unset res->swapchain upon killing a swapchain

  • zink: fix up KILL to a more sensible log message

  • lavapipe: VK_EXT_border_color_swizzle

  • anv: VK_EXT_border_color_swizzle

  • zink: fix dynamic stride conditional in pipeline creation

  • zink: fix generated tcs update path

  • zink: use the patch_vertices value from the shader key, not the context

  • zink: unset generated tcs pointer from tes on deletion

  • zink: fix generated tcs deletion

  • zink: only add necessary binds during dmabuf export

  • zink: avoid uninit values in renderpass state

  • zink: don’t print VK_EXT_shader_atomic_float warning for nir_intrinsic_image_deref_atomic_exchange

  • zink: hook up VK_EXT_non_seamless_cube_map

  • zink: use VK_EXT_non_seamless_cube_map when available

  • zink: rename nonseamless struct members to emulate_nonseamless

  • zink: skip some emulated cube code if the extension is present

  • zink: fix cubemap lowering for array samplers

  • zink: fix cubemap lowering bit size

  • zink: clamp dynamic renderArea to framebuffer size

  • zink: check for pending clears to determine write status of zs attachments

  • zink: add a function for getting the minimum framebuffer layers

  • zink: clamp dynamic fb layers better

  • zink: clamp renderpass layers better

  • zink: anv ci updates

  • zink: use uint64_t for batch_id

  • zink: remove thread_queue

  • zink: use a dynarray for semaphore wait flags

  • zink: add batch api for adding a wait semaphore

  • zink: add semaphore handling for sparse binds

  • zink: detect sparse-only binding queue

  • zink: always bind on the sparse queue

  • zink: only enable vtn debugging if validation is active

  • zink: tu ci baseline update

  • zink: radv baseline updates

  • drisw: probe kms if fd is passed

  • kmsro: add error message on drm ioctl failure

  • zink: rename a variable

  • zink: unify actual map calls in buffer mapping

  • zink: use only the extents for buffer unmap flushes

  • zink: fix buffer transfer flushes with offsets

  • zink: store and reuse memory heap flags for buffer placement

  • zink: move BAR allocation demotion up the stack

  • zink: be a little selective about BAR fallback memory type

  • zink: hook up VK_EXT_border_color_swizzle

  • zink: use VK_EXT_border_color_swizzle

  • zink: print runtime warning on missing EXT_border_color_swizzle

  • mesa/st: add PIPE_CAP_DITHERING

  • zink: unset PIPE_CAP_DITHERING

  • mesa/st: increment num_uniforms for hw accel select shaders

  • zink: move draw-time barrier generation down a little

  • zink: track vertex buffer bind counts on resources

  • zink: rework buffer barrier generation

  • zink: track image binds

  • zink: add a #define for vk shader bits

  • zink: collect gfx stages for all bindings during barrier generation

  • zink: don’t short-circuit gfx stage finding during barrier generation

  • zink: relax zink_resource_buffer_needs_barrier checks

  • zink: ci updates

  • glx/drisw: store the flush extension to the screen

  • glx/drisw: invalidate drawables upon binding context if flush extension exists

  • zink: fix dual_src_blend driconf workaround

  • nir/lower_point_size: apply point size clamping

  • mesa: break out PointSizeIsOne setting to util function

  • mesa: rename PointSizeIsOne -> PointSizeIsSet

  • mesa: skip pointsize exports if pointsize attenuation is enabled

  • mesa: enforce pointsize exports if pointsize is being clamped

  • mesa: explicitly disallow multiple pointsize exports from generating

  • zink: ci updates

  • zink: add flag to indicate if a resource is a dmabuf

  • zink: flag dmabufs for foreign queue transition on flush_resource call

  • lavapipe: zero out blend info if blend isn’t enabled

  • lavapipe: copy more pNexts for pipeline creation

  • lavapipe: fix renderpass info handling during pipeline creation

  • lavapipe: add a pipeline library assert

  • lavapipe: skip post-copy pNext checking during pipeline creation for composites

  • zink: use the bigger of the variable type and interface type for bo sizing

  • zink: track ssbo bind counts

  • zink: track overall samplerview bind counts

  • zink: fix image bind counting

  • zink: track gfx/compute descriptor barrier info

  • zink: use tracked barrier info for generated barriers

  • zink: remove another zink/tu fail

  • zink: fix-ish depth clipping without VK_EXT_depth_clip_enable

  • zink: add a turnip driver workaround for EXT_depth_clip_enable

  • zink: remove swizzle from fbfetch lowering

  • lavapipe: always set point_tri_clip

  • zink: fix kopper_acquire return value

  • zink: track whether current swapchain has data

  • zink: move to AoS for storing swapchain struct data

  • zink: move ‘acquired’ flag onto swapchain struct

  • zink: use better determination for handling swapchain acquire submits

  • zink: remove broken kopper assert

  • zink: remove unnecessary code in kopper readback acquire

  • zink: improve no-op acquire detection

  • zink: flag batch as having work during frontbuffer flush

  • zink: ensure pending present flushes are handled during frontbuffer flush

  • zink: delete zink_resource_object::acquire

  • zink: no-op pixmap frontbuffer flush calls

  • zink: acquire swapchain images on image map

  • zink: use kopper_displaytarget type directly

  • zink: delete zink_resource_object::dt_has_data

  • zink: set PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY for device-local resources

  • lavapipe: break out part of shader optimization into function

  • lavapipe: streamline xfb shader setup

  • nir/types: fix glsl_matrix_type_is_row_major() assert

  • zink: store context flags

  • zink: don’t increment screen->num_contexts for copy context

  • zink: disable turnip traces temporarily

  • lavapipe: don’t remove xfb outputs

  • zink: enforce viewport depth clamping

  • zink: size uniform_0 ubo accurately

  • zink: further improve bo sizing

  • zink: force unsized array in bo creation using the last block member type

  • zink: move/refactor bo_vars struct creation in compiler

  • zink: handle bitsizes in get_bo_vars() analysis

  • zink: don’t run nir_lower_uniforms_to_ubo repeatedly

  • zink: pass zink_shader to optimize_nir during final optimize pass

  • zink: add an optimizer pass to enforce bo bounds

  • zink: use std430 packing by default

  • zink: use a std430 interface for bo types

  • mesa: remove incomplete texture warning

  • mesa/st: make get_sampler_view_format() public

  • mesa/st: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO

  • zink: init driver workarounds earlier in screen creation

  • zink: disable customBorderColorWithoutFormat on turnip

  • zink: don’t warn for missing customBorderColorWithoutFormat on turnip

  • zink: support PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO

  • zink: flush pending clears for fb texture barriers

  • mesa: fix SignalSemaphoreEXT behavior

  • lavapipe: don’t overwrite entire VkFormatProperties3 struct

  • lavapipe: don’t crash on null xfb buffer pointer

  • zink: reject swizzled format blits

  • lavapipe: support inlined shader spirv for compute

  • zink: allow multiple tex components for depth tg4

  • zink: always use 32bit sample ops

  • zink: add a compiler pass to match up tex op dest types

  • zink: use sampler_bind_count to simplify some code

  • zink: break out samplerview layout reset code

  • zink: always update sampler descriptor layouts on fb surface unbind

  • zink: always use 32bit floats for so output types

  • zink: handle bare matrix types in xfb emission

  • zink: split xfb block emission from array/matrix handling

  • zink: fix xfb array inlining

  • zink: use right glsl length getter for ntv partial stores

  • zink: bitcast extracted streamout components to uint before creating uvec

  • zink: add a compiler pass to split xfb block outputs

  • zink: fix xfb emit check in compiler

  • mesa: move is_wrap_gl_clamp() to samplerobj.h and deduplicate

  • mesa: track which sampler wrap params use GL_CLAMP

  • mesa: update GL_CLAMP emulation when binding/unbinding textures

  • zink: remove bogus range tracking from texture clear

  • zink: fix transient attachment rp assert

  • zink: remove format check from clear texture

  • zink: fix coverage check for texture clears

  • zink: stop using u_blitter for texture clears

  • zink: improve zink_clear_depth_stencil check for current attachment

  • zink: massively simplify zink_clear_depth_stencil

  • zink: remove non-renderpass clear path from zink_clear_texture

  • zink: remove u_blitter usage from zink_clear_render_target

  • zink: always use storeOp=STORE for depth renderpass

  • zink: track a bitmask of fb attachments with mismatched layer counts

  • zink: add explicit (awful) handling for fb layer mismatch clears

  • zink: clamp color clear values based on format

  • zink: lift clearing on fb state change up a level

  • zink: remove out-of-renderpass clears

  • zink: delete zink_fb_clear_util_unpack_clear_color

  • zink: delete srgb tracking for clears

  • zink: simplify zink_framebuffer_clear_data union

  • zink: inject a 0,0,0,1 clear for RGBX formats

  • zink: break out tc/trace context unwrapping

  • zink: nv baseline update

  • zink: tu a630 baseline update

  • mesa/st: add implicit zeroing of clipdistance array

  • zink: move descriptor_mode to be a global

  • zink: delete ZINK_DESCRIPTOR_MODE_NOFALLBACK

  • zink: add an explicit ZINK_DESCRIPTOR_MODE_CACHED

  • zink: default to lazy/templated descriptors

  • zink: handle max_vertices=0 in geometry shader

  • zink: handle null samplerview in get_imageview_for_binding()

  • zink: fix crashing on bo allocation failure

  • zink: improve oom error message

  • zink: call bind_last_vertex_stage() when binding vs

  • zink: fix viewport count tracking

  • zink: use gfx_barrier for synchronization when binding buffer descriptors

  • vulkan/wsi: fix multiple acquires for sw without mit-shm

  • llvmpipe: ignore multisample state for alpha_to_one

  • zink: don’t try to start a renderpass before CmdClearAttachments

  • zink: don’t flag renderpass change on depth write change as often

  • zink: flag renderpass change if renderpass clears change

  • zink: do dynamic render implicit clear updates on rp_changed

  • zink: unflag ctx->rp_changed after dynamic render update

  • zink: remove redundant renderpass update check for clears

  • zink: add an assert to verify that deferred clears aren’t added in renderpass

  • zink: split out rp_changed to be more granular for dynamic render

  • zink: break out renderpass attachment load op calc

  • zink: break out zs renderpass layout calc

  • zink: break out color rt layout calc

  • zink: reuse rt layout functions to refactor zink_render_pass_attachment_get_barrier_info()

  • zink: add a bits union for zink_render_pass_state comparisons

  • zink: improve granularity of renderpass switching

  • zink: allow no-op renderpass updates in zink_batch_rp()

  • zink: move layout-setting for dynamic render attachments after no-op case

  • zink: handle null samplerview/image rebinds more gracefully

  • zink: scale number of shader cache-get threads

  • zink: invoke descriptor_program_deinit for programs on context destroy

  • vulkan/wsi: return VK_SUBOPTIMAL_KHR for sw/x11 on window resize

  • zink: add env var to abort on device-lost if no reset callback is set

  • util/vbuf: handle multidraws

  • anv: disable dev.i915.perf_stream_paranoid=0 warning

  • lavapipe: propagate xfb info for pipeline library rasterization stages

  • zink: remove deqp fails for lavapipe

  • zink: only flag fbfetch as rp update if fbfetch wasn’t already configured

  • zink: assert !rp_changed after renderpass has started

  • zink: avoid crashing when bindless texture updates aren’t used

  • lavapipe: EXT_non_seamless_cube_map

  • lavapipe: accurately set image/ssbo access based on shader usage

  • lavapipe: implement extreme uniform inlining

  • lavapipe: remove some skips

  • zink: add a ci flake

  • lavapipe: move vertex input dynamic states into vertex input block

  • lavapipe: make binding/layout helper functions static inline

  • lavapipe: use correct offset calculation for flagging ssbo/image write access

  • lavapipe: use 64bit masks for shader access

  • lavapipe: set image access on pipeline bind, not descriptor bind

  • llvmpipe: remove weird clamping for format support with sample counts

  • llvmpipe: allow resource_copy_region to perform replicate operations

  • lavapipe: fix stencil clears

  • llvmpipe: add a shortcut for blitter resolves

  • vulkan: hook up VK_EXT_multisampled_render_to_single_sampled

  • lavapipe: VK_EXT_multisampled_render_to_single_sampled

  • lavapipe: advertise VK_EXT_multisampled_render_to_single_sampled

  • util/blitter: respect PIPE_TEXTURE_RECT

  • lavapipe: fix shader access stage conversion from mesa -> pipe

  • zink: stop ORing unordered barrier access

  • zink: convert ZINK_DEBUG to enum

  • zink: add doc for ZINK_DEBUG=compact

  • zink: add ZINK_DEBUG=noreorder

  • zink: zink_resource::unordered_barrier -> unordered_exec

  • zink: explicitly unset unordered_exec when resource can’t be unordered

  • zink: rework unordered_exec handling

  • zink: add a second resource param to get_cmdbuf() for unordered promotion

  • zink: promote image/buffer copy operations to unordered

  • zink: move buffer/image functions down in file

  • zink: expand unordered_exec

  • zink: make get_cmdbuf() public

  • zink: enable unordered blit/resolve ops

  • virgl: more ci flakes

  • d3dadapter: fix sw pipe loading

  • nine: set view_mask=0

  • zink: fix gfx program cache pruning with generated tcs

  • zink: don’t flag lazy push constant set dirty on batch change

  • zink: combine loops for lazy descriptor program deinit

  • zink: handle mutable swapchain images with dmabuf

  • zink: store VkFormatFeatureFlags on creation

  • zink: use modifier feature flags during surface creation when necessary

  • zink: init cache_put program fence on program creation

  • 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: 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

  • nine: check return on resource_get_handle

  • 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

  • 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

  • mesa: fix blending when using luminance/intensity emulation

  • mesa: require render target bind for A/L/I in format selection

  • vk/render_pass: don’t deref null resolve attachments

  • zink: handle nir_intrinsic_sparse_residency_code_and mechanics

  • zink: ignore nir_texop_lod for tex dest matching

  • tu: fix invalid free on alloc failure

  • zink: don’t call util_queue_fence_init in zink_screen_get_pipeline_cache()

  • 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: only add srgb mutable for images with modifiers

  • zink: don’t emit illegal interpolation

  • llvmpipe: don’t assume pipe_context is always available in flush_frontbuffer

  • zink: flag all assigned output slots as mapped

  • zink: handle split acquire/present

  • st_pbo/compute: fix 1D_ARRAY offsets

  • st_pbo/compute: fix 1D coord dimension by pre-trimming vectors

Mike Lothian (1):

  • util: Fix invalid usage of alignas in u_cpu_detect.c

Mykhailo Skorokhodov (3):

  • anv: Use sampleLocationsEnable for sample locations

  • iris: Move Wa_1806527549 and enable by default

  • anv: Move Wa_1806527549 and enable by default

Nagappa Koppad, Basanagouda (1):

  • iris:Duplicate DRM fd internally instead of reuse.

Nanley Chery (11):

  • iris: Return a 64B stride for clear color plane

  • intel/isl: Add a score for I915_FORMAT_MOD_4_TILED

  • isl,iris: Add DG2 CCS modifier support for XeHP

  • mesa: Simplify UNORM8 conversions for sRGB ASTC textures

  • mesa: Follow ASTC decode mode extension for RGBA8 output

  • iris: Don’t leak surface states for compressed resources

  • iris: Don’t leak compressed resources in iris_create_surface

  • iris: Use fill_surface_states for compressed resources

  • anv: Make the D16 reg mode single-sampled

  • iris: Make the D16 reg mode single-sampled

  • iris: Dedent enum iris_depth_reg_mode

Nicolas Caramelli (1):

  • egl: Fix EGL_EXT_platform_xcb name string to match the registry

Panagiotis Apostolou (1):

  • util: Don’t block SIGSEGV for new threads

Patrick Lerda (1):

  • panfrost: Fix unwanted valgrind message related to restart_index

Paulo Zanoni (4):

  • iris: fix race condition during busy tracking

  • intel/compiler: compute int64_options based on devinfo->has_64bit_int

  • intel/compiler: split handling of 64 bit floats and ints

  • intel/compiler: call ordered_unit() only once at update_inst_scoreboard()

Pavel Asyutchenko (7):

  • gallium: add PIPE_CAP_FBFETCH_ZS and expose extension

  • glsl: add language support for GL_ARM_shader_framebuffer_fetch_depth_stencil

  • nir_to_tgsi: Don’t count ZS fbfetch vars as outputs

  • llvmpipe: enable per-sample shading when FB fetch is used

  • llvmpipe: simplify early/late zs tests selection

  • llvmpipe: implement FB fetch for depth/stencil

  • llvmpipe: enable PIPE_CAP_FBFETCH_ZS

Pavel Ondračka (13):

  • r300: set PIPE_BIND_CONSTANT_BUFFER for const_uploader

  • r300: skip draws instead of using a dummy vertex shader

  • r300: fix vertex shader control flow in loops

  • r300: deduplicate common NIR options

  • r300: be less agresive with copy propagate in loops

  • r300: don’t try to use inline constants instead of constant swizzles

  • r300: Update list of RV515 dEQP failures and add some flakes

  • r300: merge simple movs with constant swizzles together

  • r300: expose PIPE_CAP_LEGACY_MATH_RULES

  • r300: only run merge_movs pass on R500

  • r300: Keep rc_rename_regs() from overflowing RC_REGISTER_MAX_INDEX

  • r300: disable PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF

  • r300: fix variables detection for paired ALU and TEX instructions in different branches

Pierre-Eric Pelloux-Prayer (81):

  • radeonsi: make si_pc_emit_shaders non static

  • radeonsi: add helpers to deal with spm counters

  • radeonsi: add spm counters setup code

  • radeonsi/sqtt: setup spm bo

  • radeonsi/sqtt: enable spm counters on gfx10+

  • radeonsi: make sure profile_peak is used before using sqtt

  • ac/spm: setup write broadcasting correctly

  • ac/surface: adjust gfx9.pitch[*] based on surf->blk_w

  • radeonsi: remove commutative_blend_add option

  • radeonsi: drop assume_no_z_fights option

  • drirc: remove i965 entry

  • gallium: add PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER

  • radeonsi: enable PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER

  • radeonsi: fix VS kill_outputs handling

  • radeonsi: don’t always strip NIR debug infos

  • radeonsi: generate unique shader name in si_get_nir_shader

  • amd: update gfx10_format_table.py for gfx11

  • radeonsi/gfx11: add assert in legacy vs path

  • radeonsi/gfx11: register changes

  • radeonsi/gfx11: image descriptor changes

  • radeonsi/tests: allow empty line and comments in csv files

  • radeonsi/tests: add a heuristic to pick the baseline

  • radeonsi/tests: reformat with black

  • u_threaded: clear non-async debug callback correctly

  • radeonsi: flush VGT streamout like PAL

  • radeonsi: implement pipeline stats workaround

  • gallium: add a union to access queries counters

  • gallium: always return the correct pipeline stats index

  • gallium: deduplicate target -> stats index code

  • radeonsi: deduplicate query offsets

  • radeonsi: store the pipeline stats index

  • radeonsi: implement GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB in shaders

  • radeonsi/test: update sienna_cichlid results

  • radeonsi/query: use the qbo correct size

  • radeonsi/ngg: reuse the pipeline stats buffer when using atomics

  • radeonsi: fix gs_invocation query with NGG

  • radeonsi: don’t use wave32 for GE on gfx10 if culling is used

  • amd: fix ac_build_mbcnt_add in wave32 mode

  • util/u_queue: rework UTIL_QUEUE_INIT_SCALE_THREADS to scale faster

  • radeonsi: remove unused params from si_shader_select_with_key

  • radeonsi: scale the number of shader compiler threads

  • radeonsi: store shader variants in an array

  • glx: set max values for pbuffer width / height

  • radeonsi: fix glTexBuffer max size handling

  • radeonsi: wait for PS idle in si_set_framebuffer_state

  • radeonsi/tests: add a –slow option

  • radeonsi/tests: use a smaller tests-per-group value

  • radeonsi: don’t use sel->nir in si_check_blend_dst_sampler_noop

  • ac: export LLVM c++ ResetCommandLineParser method

  • ac: reset LLVM command line parser

  • ac/llvm: add use_waterfall_for_divergent_tex_samplers option

  • radeonsi: enable use_waterfall_for_divergent_tex_samplers

  • st/mesa: use mutex in st_get_texture_sampler_view_from_stobj

  • gallium: update winsys_handle documentation

  • gallium: add size attribute to winsys_handle

  • va/surface: set the correct size in vaExportSurfaceHandle

  • radeonsi: set size in si_texture_get_handle

  • tradeonsi: fix preamble state producing incorrect packets

  • radeonsi: prevent recursion in si_decompress_dcc

  • radeonsi: add helper to use si_screen::aux_context

  • radeonsi: use helpers to access si_screen::aux_context

  • Revert “winsys/amdgpu: use AMDGPU_IB_FLAG_PREAMBLE for the CS preamble on gfx10+”

  • dri: store internal_format when known

  • mesa/st: don’t guess the internal format if it’s known

  • util/blob: use memcpy in read functions

  • mesa: skip draws with invalid indices offset

  • vulkan/wsi: define pWaitDstStageMask in the blit submission

  • ac: use LLVMContextSetOpaquePointers if available

  • radeonsi: use LLVMBuildLoad2 where possible

  • ac: add per output is_16bit flag to ac_shader_abi

  • ac/llvm: handle opaque pointers in visit_store_output

  • ac/llvm: use LLVMBuildLoad2 in visit_load

  • radeonsi: use LLVMBuildLoad2 in llvm PS

  • radeonsi: use LLVMBuildLoad2 for inter-stage outputs loads

  • radeonsi: check last_dirty_buf_counter and dirty_tex_counter

  • amdgpu/bo: update uses_secure_bos when importing buffers

  • nir: add a nir_opt_if_options enum

  • radeonsi: prevent u_blitter recursion in si_update_ps_colorbuf0_slot

  • radeonsi: use nir_opt_large_constants earlier

  • mesa: avoid reading back textures from VRAM

  • radeonsi: invalidate L2 when using dcc stores

Qiang Yu (63):

  • radeonsi: lower nir_intrinsic_sparse_residency_code_and

  • mesa/program: fix nir output reg overflow

  • mesa/vbo: remove unused vbo_context->binding

  • nir/builder: add load/store array variable helper functions

  • mesa: add hardware accelerated select constant

  • mesa: add _mesa_bufferobj_get_subdata

  • mesa: refine name stack code to prepare for hw select

  • mesa: add hw select name stack code path

  • mesa/vbo: enclose none-vertex functions with HW_SELECT_MODE

  • mapi: add api setup header for hw select mode

  • mesa: set CurrentServerDispatch too when glBegin/End

  • mesa: add HWSelectModeBeginEnd dispatch table

  • mesa: pass select result buffer offset as attribute/varying

  • mesa/st: implement hardware accelerated GL_SELECT

  • zink: reset PIPE_CAP_ACCELERATED when cpu soft rendering

  • virgl: return -1 for PIPE_CAP_ACCELERATED

  • mesa: enable HardwareAcceleratedSelect

  • ac/llvm: get back nir_intrinsic_load_tess_rel_patch_id_amd

  • nir: add nir_intrinsic_load_lshs_vertex_stride_amd

  • ac/nir: use nir_intrinsic_load_lshs_vertex_stride_amd

  • radeonsi: implement load_lshs_vertex_stride abi

  • radeonsi: add tcs_vgpr_only_inputs parameter to si_get_nir_shader

  • ac/nir: skip gl_Layer/gl_ViewportIndex write for LS

  • radeonsi: replace llvm ls/hs interface lds ops with nir lowered ones

  • gallium: disable hardware select for crocus

  • ac/llvm: conditionally check wave id in gs sendmsg

  • radv: no need to do gs_alloc_req for newer chips in ngg vs/tes

  • radeonsi: deserialize nir binary in si_check_blend_dst_sampler_noop

  • radeonsi: use si_shader as parameter in si_get_nir_shader

  • radeonsi: support multi stage shader state creation in nir shaderlib

  • radeonsi: add si_create_passthrough_tcs

  • radeonsi: replace llvm based fixed tcs with nir

  • radeonsi: implement nir_intrinsic_load_tcs_num_patches_amd

  • ac/nir: remove unused parameter in tes input lower

  • ac/nir: add nir_intrinsic_load_hs_out_patch_data_offset_amd

  • ac/nir: use nir_intrinsic_load_hs_out_patch_data_offset_amd in tess lower

  • ac/nir: add pass_tessfactors_by_reg param to hs output lower

  • ac/nir: add wave_size parameter to ac_nir_lower_hs_outputs_to_mem

  • radeonsi: preload tess offchip ring for tcs

  • radeonsi: implement nir_intrinsic_load_ring_tess_offchip(_offset)_amd

  • radeonsi: implement nir_intrinsic_load_tess_rel_patch_id_amd for both tcs and tes

  • ac/llvm: handle write mask for nir_intrinsic_store_buffer_amd

  • ac/nir: add no_input_lds_space param to hs output lower

  • radeonsi: replace llvm tcs output with nir lower pass

  • radeonsi: enable PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS

  • radeonsi: set uses_vmem_load_other for nir_intrinsic_load_buffer_amd

  • radeonsi: replace llvm tes input load with nir lowering

  • ac/llvm: fix code format alignment in visit_load_local_invocation_index

  • radeonsi: implement two esgs ring nir intrinsic

  • ac/nir: skip gl_ViewportIndex and gl_Layer write in ES

  • radeonsi: set lds for gs/es to handle nir shared memory load/store

  • ac/nir: remove unused param num_reserved_es_outputs from gs input lower

  • ac/nir: change es output lower param to esgs_itemsize

  • radeonsi: replace llvm es output with nir lowering

  • ac/nir: add triangle_strip_adjacency_fix to gs input lower

  • ac/llvm: get back nir_intrinsic_load_gs_vertex_offset_amd

  • radeonsi: replace llvm gs input handle with nir lowering

  • ac/nir/ngg: fix nogs culling scratch size

  • ac/nir/ngg: add a barrier before prim id export

  • ac/nir/ngg: Decouple primitive ID store and primitive export.

  • 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

Rajnesh Kanwal (29):

  • pvr: Remove double error reporting in error path.

  • pvr: Change phase_rate_change type to bool from uint32_t.

  • pvr: Setup common nop shader.

  • pvr: Add services winsys transfer context support.

  • pvr: Add support to create transfer context and setup required shaders.

  • pvr: Add vk_sync support and remove service winsys syncobjs interface.

  • pvr: Fix argument comments in render job submission.

  • pvr: Pass device info struct in pds generator.

  • pvr: Add support for R32G32B32A32_UINT, R32_UINT and R8_UINT formats.

  • pvr: Allow signal_sync pointer to be NULL in job submission.

  • pvr: Remove vk_format_is_pure_integer and use common helper.

  • pvr: Add transfer 3d parameter heap support.

  • pvr: Fix ISP_RENDER_MODE_TYPE enum in rogue_cr.xml

  • pvr: Restrict argument to dev_info where possible.

  • pvr: Fix UTIL_ARCH_BIG_ENDIAN check in vk_format.h.

  • pvr: Change ALIGN macro to ALIGN_ATTR.

  • pvr: Add services winsys transfer cmd submit interface.

  • pvr: Move transfer logic to pvr_job_transfer.[ch]

  • pvr: Remove clang-format off comment from vk_format.h

  • pvr: Implement vkCmdDraw API.

  • pvr: Init and store default sampler in pvr_device.

  • pvr: Use common vk_buffer implementation.

  • pvr: Implement vkCreateBufferView and vkDestroyBufferView.

  • pvr: Move binding related checks in common code.

  • pvr: Add support for sampler descriptor.

  • pvr: Add support for combined image and sampler descriptor.

  • pvr: Add support for image descriptor.

  • pvr: Add support for storage and uniform texel descriptor.

  • pvr: Add support for input attachment descriptor.

Renato Pereyra (4):

  • venus: add support for vk_xwayland_wait_ready

  • venus: Add driconf option to enable implicit fencing

  • Revert “wsi/x11: Don’t leak xcb_get_geometry_reply_t.”

  • Revert “wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes”

Rhys Perry (94):

  • aco: fix disassembly of SMEM with both SGPR and constant offset

  • ac/nir: properly handle large global access constant offsets

  • nir/gather_info: fix system_value_read for rt/mesh system values

  • nir/builder: add nir_{ine,ibfe,ubfe}_imm() helper

  • radv: remove unnecessary align_mul/offset initialization

  • radv: initialize meta shader options earlier

  • radv: use radv_meta_build_nir_vs_generate_vertices() more

  • radv: use nir_op_imm helpers

  • radv: use inot(a) instead of ine(a, true)/ieq(a, false)

  • ac/nir: fix 64-bit NGG GS output stores

  • radv: always use nir_lower_io_lower_64bit_to_32

  • nir/copy_prop_vars: fix non-vector shader call payloads

  • radv: fix clearing of TRUNC_COORD with tg4 and immutable samplers

  • radv: consider radix sort shaders to be internal/meta

  • aco/ra: fix vgpr_limit

  • aco: ensure that definitions fixed to operands have matching regclasses

  • radv: add radv_has_shader_buffer_float_minmax

  • radv: allow LBVH on GFX6+

  • radv: remove subtractions in address calculations

  • radv: use SMEM for a few load_global

  • aco: split load_sbt_amd result

  • aco: skip s_barrier if TCS patches are within subgroup

  • ac/nir: skip s_barrier if TCS patches are within subgroup

  • aco: fix cmpswap global atomic definition on GFX6

  • nir: allow NIR_PASS(_, )

  • nir: print file when validation fails

  • nir: call nir_metadata_preserve in nir_io_add_const_offset_to_base

  • nir: call nir_metadata_preserve in nir_vectorize_tess_levels

  • nir: call nir_metadata_preserve in nir_lower_memory_model

  • radv: call nir_metadata_preserve in various lowering passes

  • radv: add missing NIR_PASS() and switch from NIR_PASS_V()

  • radv: validate shaders after linking passes

  • aco: fix p_constaddr with a non-zero offset

  • aco/tests: add test for p_constaddr with a non-zero offset

  • aco: only add/subtract low bits of program addresses

  • aco/ra: fix usage of invalidated iterator

  • aco: use p_parallelcopy for uniform reduction with zero source

  • aco: clarify a portion of do_pack_2x16

  • aco/tests: disable regalloc.subdword_alloc.reuse_16bit_operands on GFX11

  • aco/tests: fix gfx11 variants printed as gfx12

  • aco: disable sdwa on gfx11

  • aco: use v_perm_b32 to copy 0xff00/0x00ff/0xff/0x00

  • aco/tests: update for GFX11’s removal of SDWA

  • radv,aco: disable shader cache when ACO debug options are used

  • aco: fix SMEM load_global_amd with non-zero offset

  • aco: fix SMEM load_global with VGPR address and non-zero offset

  • aco: consider fma with multiplication by power-of-two unfused

  • ac: use ResetAllOptionOccurrences instead of ResetCommandLineParser

  • gitlab: ask for useful titles

  • gitlab: ask that reporters don’t include long logs in descriptions

  • nir/deref: stop assuming coherent accesses of different SSBOs may alias

  • aco: update SMEM offset workaround for LLVM 15

  • aco: don’t skip VS->TCS barrier if TCS output vertices doesn’t match input

  • aco: cleanup force-waitcnt output

  • aco/ra: update register file when updating phi definition

  • radv/ci: re-enable vega10 fossils testing

  • aco: add and use constantValue16()

  • aco: don’t accept med3 opcodes in get_minmax_info()

  • aco: include _e64 variants of 16-bit min/max in minmax optimizations

  • aco: ignore precise flag when optimizing integer clamps

  • aco: fix single-alignbyte do_pack_2x16() path with fp inline constants

  • aco: fix propagate_constants_vop3p with integer vop3p and 16-bit constants

  • aco: don’t use opsel to fold constants into dot accumulation sources

  • aco: fix redirect combine in propagate_constants_vop3p() with negatives

  • aco: try sign-extending or shifting constants in propagate_constants_vop3p

  • aco: don’t use 32-bit fp inline constants for fp16 vop3p literals

  • aco/tests: add vop3p constant combine tests

  • nir: rename fsin_r600/fcos_r600 to fsin_amd/fcos_amd

  • nir/algebraic: optimize bcsel(c, fsin/cos_amd(a), fsin/cos_amd(b))

  • nir: allow 16-bit fsin_amd/fcos_amd

  • radv,aco,ac/llvm: use nir_op_f{sin,cos}_amd

  • aco: make flat access latency match mtbuf/mubuf/mimg

  • aco: include flat-like in vmem clause statistics

  • aco: make FLAT_instruction::offset signed

  • aco: improve support for scratch_* instructions

  • aco: combine additions and constants into scratch load/store

  • aco: handle subtractions in parse_base_offset

  • aco: refactor VGPR spill/reload lowering

  • aco: avoid WAW hazard with BVH MIMG and other VMEM

  • aco: include scratch/global in VMEM WAW optimization

  • aco: treat flat-like as vmem in some scheduling heuristics

  • aco: initialize scratch base registers on GFX9-GFX10.3

  • aco: use scratch_* for scratch load/store on GFX9+

  • aco: use scratch_* for VGPR spill/reload on GFX9+

  • radv: fix vbo_bound_mask indexing

  • radv: don’t update misaligned_mask in CmdBindVertexBuffers2

  • aco: remove unnecessary exp_cnt increments

  • aco: fix LdsBranchVmemWARHazard with 2+ branch chains

  • aco: fix hash statistic

  • 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

  • aco: don’t expand vec3 VS input load to vec4 on GFX6

  • aco: add SCC clobber in build_cube_select

Ricardo Garcia (1):

  • vulkan: allow null descriptor set layouts in pipeline layouts

Riteo (1):

  • vulkan/device_select_wayland: fix a memory leak with DRM device handling

Rob Clark (64):

  • freedreno: Misc indent fixes

  • freedreno/drm/virtio: Appease valgrind

  • freedreno/drm: Drop FD_PP_PGTABLE

  • freedreno/drm: Close bo handle after bo->destroy()

  • freedreno/drm: Move bo common init

  • freedreno/drm/virtio: Support ring_idx

  • freedreno/drm/virtio: Use userspace IOVA allocation

  • freedreno/drm/virtio: Drop blocking in host

  • freedreno/drm/virtio: Fix SHAREABLE+MAPPABLE

  • freedreno/drm/virtio: Protocol updates

  • freedreno/drm/virtio: Pass guest handles to execbuf

  • freedreno/drm/virtio: Async ccmd batching

  • freedreno/drm/virtio: Split up large uploads

  • freedreno/a6xx: A couple more FD_BO_NOMAP

  • freedreno: Split out helper for staging blit

  • freedreno: Use staging transfer if mmap fails

  • freedreno/drm: Fix bos_on_stack calculation

  • drm-shim: Add GET_UNIQUE support

  • freedreno/drm-shim: Update to latest uapi version

  • freedreno/drm-shim: Robustify error handling

  • drm-shim: Better mmap offsets

  • drm-shim: Add error handling for bo_init()

  • freedreno/drm-shim: Better iova handling

  • drm-shim: Cleanup on device file close

  • freedreno/drm: Use DEBUG_GET_ONCE_OPTION()

  • freedreno/drm/virtio: Don’t try to mmap imported bo’s

  • freedreno/devices: Add another SKU

  • Revert “ci: freedreno farm is down”

  • freedreno: Add pkt4 assert

  • freedreno/registers: Small cleanup

  • freedreno/a6xx: Split VFD_FETCH[] if needed

  • freedreno/a6xx: Initialize VFD_FETCH[n].SIZE to zero

  • freedreno/a6xx: assert valid vertex_flags reg

  • turnip: assert valid vertex_flag reg

  • freedreno/ir3: Don’t lower_gs multiple times

  • freedreno/ir3: Add copy_vars() helper

  • freedreno/ir3: Copy vars if needed on EndPrimitive()

  • freedreno/ir3: Add more tess varying slots

  • freedreno/a6xx: Fix indentation

  • freedreno/a6xx: Fix VS const packet size

  • freedreno/ir3: Fix GS clip-plane lowering

  • freedreno: rename ir3_emit_driver_params()

  • freedreno/a6xx: Handle driver-params in GS/DS

  • freedreno/a6xx: Do clip-plane lowering in backend

  • freedreno/gmem: Reverse order of alternative tile rows

  • util: Fix c++ enum casting pickiness

  • libsync: Fix compiler warning

  • freedreno/a6xx: Remove fd6_format.[ch]

  • freedreno/a6xx: Fix enum tag

  • freedreno: Extract common helper macros

  • freedreno/ir3: Remove unneeded forward declaration

  • freedreno/autotune: Make ‘offset’ macro “private”

  • freedreno/drm: Combine upper and lower 32b of OR val

  • freedreno/a6xx: De-open-code CACHE_FLUSH enum

  • freedreno: Use enum for primtypes table

  • freedreno/ci: Update unit test reference decodes

  • freedreno/registers: Whitespace fix for gen_header.py

  • freedreno/registers: Allow varset to be specified on enum

  • freedreno/registers: Move varset to <enum>

  • freedreno/registers/a6xx: Some reg64 conversion

  • freedreno/drm: Fix potential bo cache vs export crash

  • freedreno/gmem: Fix col0 calc

  • llvmpipe: Add some missing locking

  • freedreno: We really don’t need aligned vbo’s

Roman Stratiienko (3):

  • Android.mk: Fix c11-related build failures

  • v3dv: Enable sync_fd importing/exporting on Android

  • v3dv: Limit API version to v1.0 for Android

Ruijing Dong (6):

  • radeonsi/vcn: Add support of array_mode for gfx11

  • radeonsi/vcn: update av1 decoding to support vcn4

  • radeonsi/vcn: prepare for unified queue in vcn4

  • radeonsi/vcn: support unified queue in vcn4

  • frontends/va: do texture_map when needed

  • frontends/va: WA for ffmpeg 10bit encoding crash

Ryan Neph (5):

  • venus: update venus-protocol with VK_EXT_image_view_min_lod

  • venus: enable VK_EXT_image_view_min_lod

  • venus: support VK_KHR_copy_commands2

  • venus: refactor VkCommandBufferBeginInfo fixups to function

  • venus: add support for VK_KHR_dynamic_rendering

Sagar Ghuge (1):

  • anv: Disable storage image compression for possible atomic ops

Sami Kyöstilä (2):

  • subprojects: Roll Perfetto to v27.1

  • util: Shut down Perfetto before driver unload

Samuel Pitoiset (213):

  • radv: exclude PRIMITIVE_{COUNT,INDICES} from the per-vertex output mask

  • radv: use shader_info::writes_memory

  • radv: use shader_info::gs::active_stream_mask

  • radv: use shader_info::inputs_read/outputs_written for FS IO

  • radv: use shader_info::outputs_written/per_primitive_outputs for VS outputs

  • radv: use shader_info::system_values_read

  • radv: fix enabling adjust_frag_coord_z and apply per-pipeline

  • radv: add support for independent descriptor set layouts

  • radv: add support for VkShaderModuleCreateInfo as pNext

  • radv: fix initializing pipeline_key::topology for GFX9 and older

  • radv: mark all active stages earlier in the pipeline creation path

  • radv: use the hardware primitive topology everywhere

  • radv: initialize the vertex input interface state in only one place

  • radv: do not support UNIFORM_TEXEL_BUFFER with SRGB

  • radv: only apply enable_mrt_output_nan_fixup for 32-bit float MRTs

  • radv/ci: update the flakes list for GFX9 chips

  • aco: fix load_barycentric_at_{sample,offset} on GFX6-7

  • nir: fix marking XFB varyings as always active IO

  • nir: mark XFB varyings as unmoveable to prevent them to be remapped

  • radv: clarify why STAGE_2_CLEAR_BIT needs to wait for CP DMA to be idle

  • radv: remove redundant VK_PIPELINE_STAGE_2_TRANSFER_BIT for CP DMA idle

  • radv: add an SQTT workaround for chips with disabled RBs

  • radv: fix handling divisor == 0 with dynamic vertex input state

  • radv: allow to disable sinking of load inputs for FS via drirc

  • radv: enable radv_disable_sinking_load_input_fs for Grid Autosport

  • radv: use correct push constants range for internal operations

  • radv/ci: update list of expected failures for Bonaire (GFX7)

  • radv/ci: remove empty flakes lists for GFX9

  • radv: fix the number of generated primitive queries with NGG GS vs legacy

  • radv/ci: stop skipping dEQP-VK.synchronization.* on Bonaire

  • radv: use 3D views for 3D internal operations on GFX6-8

  • radv: re-emit dynamic line stipple state if the primitive topology changed

  • radv/radix: handle intentional allocation failures properly

  • ac,radeonsi: add has_sqtt_auto_flush_mode_bug

  • radv/sqtt: fix configuring AUTO_FLUSH_MODE on GFX10.3

  • radv: only init acceleration structure if RT is enabled

  • radv: disable instance packing to fix pipeline query stats

  • radv: remove useless check against nir_texop_samples_identical

  • radv/winsys: allow to use RADV_FORCE_FAMILY=gfx1100

  • radv: disable DCC for Senra Kagura Shinovi Versus

  • aco: recognize GFX11 in few places

  • aco: do not align VGPRS to 8 or 16 on GFX11

  • radv,aco: add support for packed threadID VGPRs on GFX11

  • radv,aco: use the new TCS WaveID SGPR to compute vs_rel_patch_id on GFX11

  • aco: export MRT0 instead of NULL on GFX11

  • aco: do not set DLC for loads on GFX11

  • aco: do not set GLC stores on GFX11

  • aco: update LDS allocation granularity for PS on GFX11

  • aco: update waitcnt on GFX11

  • aco: do not set RESOURCE_LEVEL for buffer descriptors on GFX11

  • aco: do not set COMPR for exports but use 0x3 channel mask on GFX11

  • radv,aco: export alpha-to-coverage via MRTZ on GFX11

  • aco: only retrieve the scratch offset when it’s declared

  • radv,aco: do not implicitly export the primitive ID for mesh shaders

  • aco: remove unreachable code about viewport index/layer and mesh shaders

  • radv,aco: add a workaround for binding 2D views of a 3D image on GFX9

  • radv: implement VK_EXT_image_2d_view_of_3d

  • radv: advertise VK_EXT_image_2d_view_of_3d

  • radv: do not declare the scratch offset on GFX11

  • aco: do not emit the primitive ID twice for NGG VS or TES with GS

  • radv: do not align VGPRS to 8 or 16 on GFX11

  • radv: use the new format table on GFX11

  • radv: update scratch buffer registers on GFX11

  • radv: update sampler registers on GFX11

  • radv: update buffer descriptor registers on GFX11

  • radv: update image descriptor registers on GFX11

  • radv: use PIXEL_PIPE_STATE_DUMP event instead of ZPASS_DONE on GFX11

  • radv: configure DB_RENDER_CONTROL on GFX11

  • radv: do not emit non-existent CP_COHER_START_DELAY on GFX11

  • radv: do not emit FLUSH_AND_INV_DB_META on GFX11

  • radv: update TF_RING_size to a per-SE size on GFX11

  • radv: update VRS registers on GFX11

  • radv: apply a workaround for CB perf counters on GFX11

  • radv: limit CP DMA to max 32KB sizes on GFX11

  • radv: more register changes on GFX11

  • radv: do not lower loading TESS/ESGS rings using the ABI for LLVM

  • aco: use ac_is_llvm_processor_supported() for checking LLVM asm support

  • radv: rename shader compile functions to spirv_to_nir/nir_to_asm

  • radv: do not try to dump the NIR of the trap handler shader

  • radv: add new pipeline helpers for NIR->ASM compilation

  • radv: init states from pTessellationState at only one place

  • radv: init states from pViewportState at only one place

  • radv: init states from pRasterizationState at only one place

  • aco: remove unnecessary intrinsics that are lowered at the ABI level

  • radv: determine if shaders use NGG before linking

  • radv: export implicit primitive ID in NIR for legacy VS or TES

  • radv: constify radv_pipeline in more radv_pipeline_generate_XXX() helpers

  • radv: rename radv_pipeline_generate_XXX() to radv_pipeline_emit_XXX()

  • radv: remove couple of useless pCreateInfo pointers in the emit path

  • radv: remove unused radv_get_conservative_raster_mode() helper

  • radv: move gs_table_depth to the physical_device

  • radv: cleanup using device/physical_device during pipeline creation

  • radv: split radv_pipeline into radv_{graphics,compute,library}pipeline

  • radv: introduce radv_graphics_pipeline_info and split existing info structs

  • radv/ci: fix fails list for NAVI21

  • radv: move HS info and task_num_entries to the physical device

  • radv: rename radv_cmd_state::pipeline to graphics_pipeline

  • radv: unify radv_pipeline_has_XXX() helpers

  • radv: move streamout_shader to radv_graphics_pipeline

  • radv: move active_stages to radv_graphics_pipeline

  • radv: rename VERT_GRP_SIZE to VERTS_PER_SUBGRP on GFX11

  • radv: do not emit more non-existent registers on GFX11

  • radv: update framebuffer registers on GFX11

  • radv: update VRS rates on GFX11

  • radv: use the fragment resolve path by default on GFX11

  • radv: report adjusted LDS size for fragment shaders on GFX11

  • radv: fix configuring COLOR_INVALID on GFX11

  • radv: fix VK_BLEND_FACTOR_CONSTANT_COLOR translation on GFX11

  • radv: configure DB_Z_INFO.NUM_SAMPLES correctly on GFX11

  • radv: disable VK_AMD_shader_fragment_mask on GFX11

  • radv: disable attachementFragmentShadingRate on GFX11

  • radv: use pipeline->slab_bo in more places

  • radv: fix writing buffer markers with non-zero memory offset

  • radv: copy viewport/scissor when initializing radv_viewport_info

  • radv: init states from pMultisampleState at only one place

  • radv: init states from pDepthStencilState at only one place

  • radv: init states from VkPipelineRenderingCreateInfo at only one place

  • radv: use AMD values for computing blend related state

  • radv: init states from pColorBlendState at only one place

  • radv: init states from VkAttachmentSampleCountInfo at only one place

  • radv: init states from VkPipelineDiscardRectangleState at only one place

  • radv: init states from VkPipelineFragmentShadingRateState at only one place

  • radv: ignore DYNAMIC_STENCIL_OP if stencil test isn’t enabled

  • radv: reduce radv_tessellation_info::patch_control_points to 8-bit

  • radv: reduce radv_input_assembly_info::primitive_topology to 8-bit

  • radv: reduce radv_rasterization_info::polygon_mode to 8-bit

  • radv: reduce radv_discard_rectangle_info::count to 8-bit

  • radv: fix lowering GS intrinsics if NGG is disabled per pipeline

  • radv/ci: update list of failures for Pitcairn

  • radv: enable radv_zero_vram for Hammerting

  • radv/winsys: add get_chip_name() to the null winsys

  • radv: report the marketing name as part of the device name

  • radv: rename ngg_gs_state to ngg_query_state

  • radv: track if primitives generated query features are enabled

  • radv: add primitives_generated_query to the graphics pipeline key

  • radv: declare the NGG query argument for primitives generated query

  • ac/nir/ngg: count the number of generated primitives for VS and TES

  • radv: flush the NGG query state when the argument is declared

  • radv: add few helpers related to streamout

  • radv: implement VK_EXT_primitives_generated_query

  • radv: advertise VK_EXT_primitives_generated_query

  • radv/ci: rename deqp-XXX jobs to vkcts-XXX

  • zink/ci: skip two KHR-GL46 tests that timeout most of the time with RADV

  • zink/ci: update list of expected failures with RADV

  • radv: remove redundant check when importing vertex input info

  • radv: update radv_is_vrs_enabled() to use radv_graphics_pipeline_info

  • radv: update the check to determine if dynamic discard rectangle is needed

  • radv: update the check to determine if dynamic sample location is needed

  • radv: update the check to determine if rasterization is enabled

  • radv: remove remaining unused pCreateInfo pointers

  • ci: bump the hang-detection tool in the test image for Vulkan

  • ci: fix passing down MESA_LOADER_DRIVER_OVERRIDE for zink-anv-tgl

  • zink/ci: change the surface type used for dEQP

  • ci/valve: split .b2c-test into .b2c-test-vk and .b2c-test-gl

  • radv/ci: add GLES/GLCTS testing with Zink on NAVI10

  • zink/ci: update list of failures again

  • radv/ci: refactor test machines and dEQP rules to reduce copy&paste config

  • ci: update vkd3d-proton builder/runner

  • ci: print a message when vk3d-proton returns successfully

  • ci: add VKD3D_PROTON_RESULTS to the list of variables to pass down for testing

  • radv/ci: add vkd3d-proton testing

  • radv: advertise VK_EXT_border_color_swizzle on GFX10+

  • ci: uprev vkd3d-proton to 39d07dea2cef34bfb3ed39741f026bc637e3eec4

  • radv/amdgpu: make sure to reset the number of BO when there is no ranges

  • radv/amdgpu: do not add “global” BO to the virtual BO list

  • aco: fix validation of SOP1 instructions without definitions

  • radv,aco: rename radv_prolog_binary/radv_shader_prolog to shader_part

  • radv/llvm: always emit a null export even if the FS doesn’t discard

  • radv: disable small primitive culling for user sample locations

  • radv: use RADEON_FLAG_VA_UNCACHED for the trace BO

  • radv: fix command line for dumping waves with UMR

  • radv: dump UMR waves before UMR rings

  • radv: do not emit SQTT user data packets on the SDMA queue

  • radv/ci: add CI lists for LLVM on NAVI21

  • radv: use LOAD_CONTEXT_REG to load the opaque buffer size on GFX10+

  • radv: do not abort if SPM isn’t supported for the current GPU

  • radv: remove old workaround for HTILE layers with F1 2021

  • zink/ci: update list of failures for piglit with RADV

  • radv: disable DCC for Melty Blood Actress Again Current Code

  • radv: always enable VK_EXT_debug_utils

  • zink/ci: update list of failures

  • radv/ci: update list of failures against CTS 1.3.3.0

  • aco: fix load_barycentric_at_sample without MSAA

  • radv: fix dumping VS prologs assembly

  • radv/ci: enable fossils testing for GFX1100

  • radv: remove the radv_report_apu_as_dgpu workaround for Red Dead Redemption 2

  • radv: fix wide points/lines by configuring the guardband correctly

  • zink/ci: update list of CTS flakes for RADV

  • ci: uprev vkd3d-proton to 5b73139f182d86cd58a757e4b5f0d4cfad96d319

  • radv,aco: track if a fragment shader needs an epilog

  • radv,aco: introduce {radv,aco}_ps_epilog_key

  • radv: declare a new user SGPR arg in FS for the epilog PC

  • radv: add a function that declares PS epilog shader arguments

  • aco: add new pseudo instruction p_jump_to_epilog

  • aco: emit p_jump_to_epilog if the main fragment shader has an epilog

  • aco: do not abort if the FS doesn’t export anything but has an epilog

  • aco: prevent adding DONE/VM to the last export if the FS has an epilog

  • aco: add aco_postprocess_shader() helper

  • radv,aco: rename radv_aco_build_prolog to radv_aco_build_shader_part

  • aco: refactor export_fs_mrt_color() for PS epilogs preparation

  • aco: add support for compiling PS epilogs

  • radv: implement PS epilogs

  • radv: disable viewport depth clamping only when necessary

  • aco: requires Exact for p_jump_to_epilog

  • radv: only force 1x sample for Bresenham lines when pipeline draws lines

  • 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: fix gathering XFB info if there is dead outputs

  • radv: fix cleaning the meta query state if an error occured

  • radv: re-emit viewports if negative one to one or depth clamp mode changed

  • radv: fix bogus assertion with RADV_FORCE_VRS

  • radv: fix pipelineStageCreationFeedbackCount when it’s 0

Sarah Walker (2):

  • pvr: Update for firmware 1.17@6256262

  • pvr: Move BRN 44079, 48492 and 66011 code into pvrsrvkm specific directory

Sathishkumar S (2):

  • radeon/vcn: skip create and destroy message for jpeg

  • radeon/vcn: engage all available jpeg engines

Sebastian Keller (1):

  • egl/wayland: Don’t try to access modifiers u_vector as dynarray

Sergi Blanch Torne (1):

  • ci/crosvm: clean crosvm socket

Sidney Just (19):

  • wgl: add a flag to determine if running on zink

  • wgl: add zink to the list of auto-loaded drivers

  • zink: support VK_KHR_win32_surface

  • kopper: add win32 loader interface

  • zink: support win32 wsi

  • wgl: support kopper

  • gallium: support for implementing EXT_external_objects_win32

  • mapi: added EXT_external_objects_win32 definitions

  • gallium/noop: implement win32 device LUID and node mask getters

  • gallium/trace: implement win32 device LUID and node mask getters

  • mesa: implement GL_DEVICE_LUID_EXT and GL_DEVICE_NODE_MASK_EXT getters

  • mesa: implement import win32 memory and semaphore

  • mesa: pipe cap for EXT_memory_object_win32 and EXT_semaphore_win32

  • zink: codegen for Win32 external object extensions

  • zink: implement win32 fence import

  • zink: implement win32 memory handle import

  • zink: implement device LUID and node mask

  • zink: enable pipe cap for win32 external memory and fences

  • docs: updated zink features and release notes

Sil Vilerino (39):

  • gallium/vl: Add software winsys and offscreen winsys

  • util/u_format: Drop assert that has valid/well-defined behavior

  • util/vl_vlc: Support compiling in C++

  • st_vdpau: Pass format when opening resource from handle in st_vdpau_resource_from_description

  • d3d12: Add .clang_format file

  • gallium/va/radeonsi: Using private as a parameter name conflicts with C++ keywords

  • gallium va: VaDeriveImage support stride/offset being different for NV12 planes

  • gallium: Add values to pipe_video_cap for multi-slice and multi-reference encode

  • gallium va: Handle new VA attributes with new pipe video caps

  • gallium: Add multiple slice support to pipe_h264_enc_picture_desc

  • gallium va: Add support for multiple slices encoding

  • gallium radeon/r600/omx/va: Adds support for multiple reference encoding

  • gallium: Add MinLumaBiPredSize8x8 to pipe_h264_sps, pic_init_qs_minus26 to pipe_h264_pps

  • gallium omx: Fill out MinLumaBiPredSize8x8 and pic_init_qs_minus26

  • gallium vdpau: Fill out level_idc and MinLumaBiPredSize8x8

  • gallium va: VaHandlePictureParameterBufferH264 fill out new pipe params MinLumaBiPredSize8x8, pic_init_qs_minus26, chroma_format_idc, bit_depth_chroma, bit_depth_chroma_minus8

  • d3d12: Add d3d12_promote_to_permanent_residency

  • ci: Update x86 debian build to pick up tag v1.602.0-r1 from DirectX-Headers

  • d3d12: Add video decode implementation of pipe_video_codec

  • d3d12: Add video encode implementation of pipe_video_codec

  • d3d12: Add create_video_codec and create_video_buffer entrypoints

  • d3d12: Add util video functions to d3d12_format

  • d3d12: Improve planar resource support to handle video requirements

  • d3d12: Add support for d3d12 video in d3d12_screen

  • d3d12: Add GLSL singleton refcounting to screen for offscreen non-GL rendering

  • meson: Support d3d12 as a video-supporting driver

  • winsys: Do not use Display type when X11 is not present in build

  • meson: Update DirectX-Headers dependency to 1.602.0 version with fallback to the wrap

  • meson: Add build option for gallium-d3d12-video feature

  • d3d12: Align output buffer offset access to D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS.CompressedBitstreamBufferAccessAlignment

  • d3d12: Fix debug_printf format strings for cross platform builds

  • d3d12: Video - Remove unused spCopyQueues from enc/dec objects

  • pipe/video: Add PIPE_VIDEO_ENTRYPOINT_PROCESSING

  • vl: Replace usage of entrypoint UNKNOWN with PROCESSING for VP

  • va: Replace usage of entrypoint UNKNOWN with PROCESSING for VP

  • gallium/video: Add video post processing interface

  • va: Add support for VPP rotation, flip, alpha blend, crop, scaling

  • d3d12: Add pipe_video_codec::process_frame implementation

  • d3d12: Enable VPP rotation, flip, alpha blend, crop, scaling via pipe_video_codec::process_frame

SoroushIMG (4):

  • zink: Fix BO size when it’s not aligned to 16 bytes

  • zink: Fix spirv stream 0 vertex emit for multistream shaders

  • Zink: Fix clear being missed when using emulated draws in zink_blit

  • zink: Fix incorrect emission of SPIR-V shift ops

SureshGuttula (4):

  • radeonsi: Set display_remote for non-refernced frames

  • radeonsi/vcn : update enc->dpb ref_use for index 0

  • Revert “radeonsi: Set display_remote for non-refernced frames”

  • Revert “radeon: hardcode uvd/vce encoder not_referenced value to false”

Sviatoslav Peleshko (7):

  • mesa: flush bitmap caches when changing scissors or window rects state

  • anv: workaround apps that assume full subgroups without specifying it

  • intel/blorp/gen6: Set BLEND_STATEChange only if emitting the blend state

  • anv: Dirty all dynamic state bits when creating command buffer state

  • intel/blorp: Dirty depth bounds dynamic state bits after blorp

  • intel/nullhw: Use correct macro to fix build regression

  • iris: Always initialize shader compilation queue ready fence

TSnake41 (1):

  • zink: print result code string on vulkan failure

Tapani Pälli (5):

  • isl: disable mcs (and mcs+ccs) for color msaa on DG2

  • anv: use anv_cmd_dirty_mask_t type for dynamic state

  • intel/fs: setup SEND message descriptor from nir scope

  • iris: implement Wa_14015264727 for DG2

  • anv: implement Wa_14015264727 for DG2

Tatsuyuki Ishi (9):

  • radv: Fix redundant subpass barriers due to erroneous comparison

  • radv/ci: skip dEQP-VK.fragment_operations.transient_attachment_bit

  • radv/ci: Move transient_attachment_bit from fail to skip list

  • radv/ci: skip image.sample_texture.*_compressed_format*

  • radv/ci: Move sample_texture.*_compressed_format_* to faillist for gfx<=9

  • radv: Fix vkCmdCopyQueryResults -> vkCmdResetPool hazard.

  • amd: Revert gfx10 addrlib changes

  • radv: Only set pstate for the first hw_ctx.

  • radv: Implement radv_flush_before_query_copy to workaround UE Vulkan bugs.

Thomas Debesse (2):

  • gallium/clover: LLVM setLangDefaults moved from clangFrontend to clangBasic

  • gallium/clover: pass -no-opaque-pointers to Clang

Tiago Koji Castro Shibata (2):

  • d3d12: fallback to integrated adapter instead of arbitrary one

  • d3d12: add more formats to supported conversions

Timothy Arceri (71):

  • glsl/st: vectorise interfaces of SSO shader programs

  • nir: fix setting varying from uniform as flat

  • nir: fix sorting before assigning varying driver locations

  • nir: always set the exact_trip_count_unknown loop terminator property

  • nir: remove unreachable loop terminators

  • svga: remove duplicate nir compile options

  • nir/glsl: add glsl_record_compare() wrapper

  • nir/glsl: wrapper contains_{double,interger}()

  • nir/glsl: wrapper field_index()

  • nir/glsl: wrap component_slots_aligned()

  • glsl/mesa: move parse_program_resource_name() to common linker_util code

  • glsl: add new build program resource helpers

  • nir: add variable data fields required for NIR glsl varying linking

  • nir: abort io info gathering if location is not set or is a temp value

  • nir: skip lowering io to scalar for must_be_shader_input

  • glsl: implement lower_packed_varyings() as a NIR pass

  • glsl: add a NIR based varying linker

  • glsl: implement opt_dead_builtin_varyings() as a NIR pass

  • glsl: implement lower_xfb_varying() as a NIR pass

  • glsl: enable the use of the nir based varying linker

  • glsl: remove now unused GLSL IR varying linker code

  • glsl: simplify finding cursor in varying packing code

  • nir: add support for forced sampler indirect loop unrolling

  • gallium/drivers: set force_indirect_unrolling_sampler for all required drivers

  • glsl: move validation of sampler indirects to the nir linker

  • i915g: use a valid setting for force_indirect_unrolling

  • softpipe: switch to NIR loop unrolling

  • asahi: switch to NIR loop unrolling

  • d3d12: switch to NIR loop unrolling

  • etnaviv: switch to NIR loop unrolling

  • i915g: switch to NIR loop unrolling

  • r300: disable GLSL IR loop unrolling

  • r600: switch to NIR loop unrolling

  • vc4: disable GLSL IR loop unrolling

  • nir/i915g/r300/nv30: skip marking varyings as flat in some drivers

  • etnaviv: assert if etna_shader_io_file reg overrun

  • etnaviv: vectorise io

  • nir/gcm: fix pushing instructions into if blocks

  • ci: uprev piglit 2022-05-31

  • nir: add nir based version of the lower_const_arrays_to_uniforms pass

  • glsl/nir: skip adding hidden uniforms to the remap tables

  • glsl/nir: allow the nir linker to remove dead uniforms we created

  • glsl: move common link time optimisation calls to linker code

  • glsl: move gl_nir_link_opts() call out of the st code

  • glsl: switch to NIR based implementation of lower_const_arrays_to_uniforms()

  • glsl: remove now unused lower_const_arrays_to_uniforms()

  • gallivm: disable GLSL IR loop unrolling in LLVMPIPE

  • freedreno/ir3: tidy up duplication of common nir options

  • freedreno: switch to NIR loop unrolling

  • lima: lower all undefs to zero in vs

  • lima: fixup nir indirect unroll options to match gallium CAP

  • lima: switch to NIR loop unrolling

  • nouveau/nv30: disable GLSL IR loop unrolling

  • nouveau/nv50: disable GLSL IR loop unrolling

  • nouveau/nvc0: disable GLSL IR loop unrolling

  • svga: disable GLSL IR loop unrolling

  • gallium: remove PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT CAP

  • glsl: remove the now unused GLSL IR loop unrolling code

  • glsl: drop extra optimise swizzles call

  • glsl: tidy up link_varyings_and_uniforms()

  • glsl: remove never true do_dead_code() parameter

  • glsl: inline do_common_optimization() call

  • util: add dri config option to disable GL_MAP_UNSYNCHRONIZED_BIT

  • util: use force_gl_map_buffer_synchronized workaround with RAGE

  • glsl: merge lower_buffer_access with lower_shared_reference

  • glsl: drop non-nir path for atan in builtin functions

  • st/glsl: fix broken vertex attrib mapping

  • nir/loop_unroll: clean up after complex_unroll_single_terminator()

  • glsl: correctly track cross slot component packing

  • Revert “nir: Preserve offsets in lower_io_to_scalar_early”

  • glsl: dont lower precision for textureGatherOffsets

Timur Kristóf (119):

  • radv: Minor formatting fix in radv_device.c file.

  • radv: Move queue submit sparse bindings to a separate function.

  • radv: Move empty queue submit code path to a separate function.

  • radv: Move normal (non-empty) queue submit to a separate function.

  • radv: Move up early exit for transfer queues in radv_get_preamble_cs.

  • radv: Simplify some boolean code in radv_get_preamble_cs.

  • radv: Initialize BO pointers when creating preambles.

  • radv: Refactor cache flush code for the initial preambles.

  • radv: Don’t create continue preamble when it’s not needed.

  • radv: Rename fill_geom_tess_rings to radv_fill_shader_rings.

  • radv: Don’t use pointers to pointers when updating the preambles.

  • radv: Only emit what is appropriate to the queue family for preambles.

  • ac/nir: Add ac_nir_load_arg helper for shader arguments.

  • radv: Move radv_nggc_settings enum out of radv_cmd_buffer.

  • nir: Add upper bound for AMD shader arg intrinsics.

  • radv: Lower ABI in NIR for tess/ESGS/NGG shader arguments.

  • ac/nir: Remove now-superfluous ac_nir_lower_tess_to_const.

  • aco: Remove now-superfluous intrinsics.

  • ac/llvm: Remove now-superfluous intrinsics and ABI callbacks.

  • radv/amdgpu: Group queue submit info into a structure.

  • radv/amdgpu: Initialize semaphore info with a designated initializer.

  • radv/amdgpu: Pass new queue submit info structure to internal function.

  • radv/amdgpu: Pass correct struct type instead of repeating the cast.

  • radv/amdgpu: Use scheduled dependency for submitting to multiple queues.

  • ac/nir: Add I/O lowering for task and mesh shaders.

  • ac: Add task ring entry shader argument.

  • radv: Add radv_pipeline_has_task helper.

  • radv: Set user data register for task shaders.

  • radv: Set wave size for task shaders.

  • radv: Fill task shader info.

  • radv: Add task shader arguments.

  • radv: Add task ring entry argument for mesh shaders.

  • radv: Implement task shader intrinsics in the ABI.

  • radv: Enable nir_opt_offsets for task shaders.

  • radv: Use I/O lowering for task and mesh shaders.

  • radv: Postprocess task shader configuration.

  • radv: Allow linking task shaders.

  • radv: Lower shared and task_payload variables in task/mesh shaders.

  • radv: Print task shader stage name before disasm.

  • radv: Fix task shader info.

  • radv: Fix loading task shader ring buffer addresses.

  • aco: Fix scratch with task shaders.

  • radv: Introduce ring info structure for queues, refactor preamble generation.

  • radv: Use a ws variable during preamble creation.

  • radv: Pass radv_device pointer to some functions.

  • radv: Refactor queue state to separate structure.

  • radv: Clarify emitting graphics shader pointers.

  • nir: Add explicit task payload atomic intrinsics.

  • radv: Implement conditional rendering for async compute queue.

  • ac: Remove trailing white space.

  • aco: Remove trailing whitespace.

  • radv: Remove trailing whitespace.

  • radv: Disable predication for supass clear and image clears.

  • nir: Add new launch_mesh_workgroups intrinsic.

  • nir: Add common task shader lowering to make the backend’s job easier.

  • radv: Add mesh and task stage names to pipeline executable properties.

  • nir: Keep track of cross-invocation mesh shader output access.

  • radv, ac/nir: Fix multiview layer export for mesh shaders.

  • ac/nir/taskmesh: Use task shader lowering from common NIR code.

  • ac/nir/taskmesh: Use 3 dimensional workgroup ID.

  • ac/nir: Add remappability to tess and ESGS I/O lowering passes.

  • ac: Add RDNA2 task+mesh shader draw packet opcodes.

  • ac: Add task shader ring information.

  • radv: Implement task shader draw and payload rings.

  • nir: Introduce new intrinsics for AMD specific mesh shader task ring.

  • ac/nir/ngg: Clean up mesh shader output LDS layout.

  • ac/nir/ngg: Use mesh shader scratch ring when outputs don’t fit LDS.

  • ac/nir/ngg: Use variables for outputs without cross-invocation access.

  • radv: Implement mesh shader scratch ring.

  • radv: Enable NGG wave ID for mesh shader scratch ring.

  • ac/nir/ngg: Add mesh shader workgroup index.

  • radv: Lower mesh shader 3D workgroup ID to 1D index.

  • ac/nir/taskmesh: Preserve workgroup ID Y and Z when applying firstTask.

  • radv: Always use 3D block ID and grid size in task shaders.

  • gallium/u_blitter: Fix depth.

  • zink: Enable the VK_EXT_depth_clip_enable extension.

  • zink: Always enable depth clamping, make depth clipping independent.

  • nir/lower_task_shader: don’t use base index for shared memory intrinsics

  • ac/nir/ngg: Refactor LDS instructions in NGG GS vertex emit and export.

  • ac/nir/ngg: Ignore driver location for mesh shader outputs.

  • radv: Don’t assign driver locations to mesh shader outputs.

  • radv: Add CULL_PRIMITIVE to special output mask.

  • radv: Use NIR optimization to move discards to the top.

  • radv: Only initialize DGC state when DGC is enabled.

  • radv: Remove trailing whitespace introduced by DGC commits.

  • radv: Refactor predication for compute queues.

  • radv: Refactor some CP DMA functions to work with radeon_cmdbuf.

  • radv: Refactor radv_emit_userdata_address to work with radeon_cmdbuf.

  • radv: Refactor radv_emit_descriptor_pointers to work with radeon_cmdbuf.

  • radv: Refactor radv_emit_inline_push_consts to work with radeon_cmdbuf.

  • radv: Refactor view index emit to use a per-stage function.

  • radv: Move inline push constants to a new function.

  • radv: Minor cleanup of radv_queue_submit_normal.

  • radv: Allow reusing pipeline compute state emit functions.

  • radv: Add dispatch_initiator_task field to radv_device.

  • radv: Create internal cmdbuf when a graphics pipeline needs compute.

  • radv: Flush descriptors and push constants for task shaders.

  • radv: Introduce radv_before_taskmesh_draw.

  • radv: Implement mesh shading draw calls with task shaders.

  • radv: Synchronization for task shaders.

  • radv: Support task shaders in secondary cmd buffers.

  • radv: Workaround MEC taskmesh dispatch hang when count buffer has zero.

  • radv: Submit internal compute cmdbuf.

  • radv: Copy BO list to ACE internal CS.

  • radv: Enable task shader feature for NV_mesh_shader.

  • ac/nir/ngg: Move primitive ID workgroup barrier to proper place.

  • aco: Remove hack for primitive ID export.

  • ac/nir/ngg: Create output variable for primitive ID export.

  • ac/llvm: Implement load_num_subgroups for NGG shaders.

  • ac/llvm: Add LLVM bug workaround to ac_build_mbcnt_add.

  • ac/llvm: Use gs_prim_id for NGG VS.

  • ac/nir/ngg: Copy comment about LDS layout for NGG GS.

  • ac/nir/ngg: Remember proper bit sizes of GS output variables.

  • ac/llvm: Implement GDS atomic add NIR intrinsic.

  • radv/llvm: Remove incorrect hardcoded workgroup size from NGG GS.

  • radv: Properly set LDS size for LLVM NGG shaders.

  • radv: Use NIR-based NGG lowering with LLVM.

  • aco: Fix p_init_scratch for task shaders.

  • nir/gather_info: Clear cross-invocation output mask.

Tomeu Vizoso (4):

  • lima/ci: Disable lima-mali450-piglit-gpu:arm64

  • panvk/ci: Disable CI for a while

  • ci: Disable jobs to the Collabora lab

  • Revert “ci: Disable jobs to the Collabora lab”

Vadym Shovkoplias (4):

  • anv: Fix geometry flickering issue when compute and 3D passes are combined

  • driconf: Add a limit_trig_input_range option

  • drirc: Set limit_trig_input_range option for the Wolfenstein Youngblood

  • drirc: Set limit_trig_input_range option for glmark2

Vasily Khoruzhick (7):

  • lima: Implement texture_barrier

  • lima: enable PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT

  • lima: Lower nir_op_idiv with other scalar math operations.

  • u_transfer_helper: flush temporary transfer first for MSAA

  • lima: implement lima-specific blitter

  • lima: wire up MSAA 4x support

  • lima: fix buffer overallocation for index, vertex and constant buffers

Victor Hermann Chiletto (1):

  • radv: always check entry count in descriptor pool when allocating

Viktoriia Palianytsia (1):

  • anv: Add workaround for sample mask with multisampling

Vinson Lee (14):

  • panfrost: Fix memory leaks on unit test failures.

  • zink: Fix memory leak on error path.

  • radeonsi: Move NULL check before dereference.

  • dri2: Fix memory leak.

  • d3d12: Initialize d3d12_video_encoder_bitstream member m_uiOffset.

  • amd: Initialize Gfx11Lib members in constructor.

  • d3d12: Remove unnecessary NULL check.

  • clc: Fix build with llvm-15.

  • microsoft/spirv_to_dxil: Fix missing-prototypes errors.

  • radv: Remove unnecessary null check.

  • microsoft/compiler: Fix assert.

  • tu: Check dereferenced value of rop_reads_dst.

  • aco: Initialize spill_ctx members in constructor.

  • r600/sfn: Initialize TestShaderFromString member m_instr_factory.

Vlad Zahorodnii (2):

  • winsys/amdgpu-radeon: Allow specifying context priority

  • radeonsi: Add support for EGL_IMG_context_priority

Yevhenii Kolesnikov (1):

  • nir: Remove single-source phis before opt_if_loop_last_continue

Yiwei Zhang (51):

  • venus: override aspectMask for internal tiling modifier

  • venus: use linear modifier for legacy common wsi path

  • venus: fix view format for ahb image

  • venus: refactor to add struct vn_env

  • venus: add env perf options and introduce no_async_set_alloc

  • venus: add VN_PERF option no_async_buffer_create

  • venus: add VN_PERF option no_async_queue_submit

  • venus: refactor vn_cmd_submit

  • venus: flush when batched draw calls reach a threshold

  • venus: disable VK_EXT_extended_dynamic_state2

  • venus: refactor android gralloc pieces

  • venus: cache front_rendering_usage bit at gralloc init

  • venus: update vn_GetSwapchainGrallocUsage2ANDROID for shared present

  • venus: enable ANB shared presentable image prop

  • venus: add VN_RELAX_BASE_SLEEP_US env var for tuning cpu utils

  • venus: log performance envs upon instance creation with debug init

  • venus: extend buffer cache to cover layering usage

  • vulkan: remove the VkPhysicalDeviceMemoryProperties workaround

  • radv: remove VkPhysicalDeviceMemoryProperties2 workaround

  • venus: use common entry point for VkPhysicalDeviceMemoryProperties

  • venus: resolve AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 to external format

  • venus: fix a bug on buffer cache init failure path

  • venus: fix the queue init failure path

  • venus: fix a missing mtx_destroy in vn_device_init

  • venus: adjust device resources init order

  • venus: let device track queue families used for device creation

  • venus: add vn_feedback_pool backed by coherent buffer (part 1)

  • venus: add vn_feedback_pool backed by coherent buffer (part 2)

  • venus: add feedback check/set/reset helpers

  • venus: add event feedback

  • venus: add NO_FENCE_FEEDBACK perf option and disable sparse resource

  • venus: create per queue family command pool for feedback cmd

  • venus: renderer to store allow_vk_wait_syncs capset

  • venus: add fence feedback

  • venus: resolve YV12 AHB to VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM

  • venus: use narrow range to match up with mesa EGL

  • venus: swizzle the chroma channels for YVU420 to match the VkFormat

  • venus: GetPhysicalDeviceSparseImageFormatProperties to match sparse support

  • venus: suballocate more for layering

  • venus: add more tracepoints for perf analysis

  • venus: filter out VK_EXT_physical_device_drm on the driver side

  • venus: check dynamic state for raster enablement

  • venus: reenable VK_EXT_extended_dynamic_state2

  • Revert “venus: suballocate more for layering”

  • anv: enable VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM for modifier support

  • venus: fix external memory ext filtering

  • venus: avoid feedback for external fence

  • venus: allow no external memory handle when renderers lacks support

  • zink: fix zink_create_fence_fd to properly import

  • zink: fix in-fence lifecycle

  • venus: ignore pInheritanceInfo if not secondary command buffer

Yogesh Mohan Marimuthu (12):

  • radeonsi/gfx11: make flat_scratch changes for graphics

  • radeonsi/gfx11: make flat_scratch changes for compute

  • radeonsi/gfx11: interp changes for 32bit

  • radeonsi/gfx11: interp changes for 16bit

  • radeonsi/gfx11: instruction cache line size is 128 bytes

  • radeonsi/gfx11: program inst_pref_size for compute

  • radeonsi/gfx11: program db render control register

  • radeonsi/gfx11: export alpha through mrtz for alpha-to-coverage if mrtz is there

  • ac,radeonsi/gfx11: swizzle MRT0/1 for dual source blending

  • vulkan/wsi: fix extra free if buffer_blit_queue

  • radeonsi: remove tabs from code

  • radeonsi: no need to call si_pm4_clear_state() in si_pm4_free_state()

Yogesh Mohanmarimuthu (1):

  • radeonsi/gfx11: use PIXEL_PIPE_STATE_DUMP event instead of ZPASS_DONE

Yonggang Luo (119):

  • zink: Remove redundant framebuffer_mtx from zink_screen.h

  • win32: Fixes 32 bits visual studio module definition files by add script gen_vs_module_defs.py

  • win32: Do not use BUILD_GL32, we use def file to export win32 dll symbols.

  • misc: Replace `#ifdef\t__cplusplus` with `#ifdef\s\s__cplusplus`

  • misc: replace `#ifdef\s\s__cplusplus` with `#ifdef\s__cplusplus`

  • zink: Trim spaces in zink.rst

  • zink: Improve zink.rst with links

  • st: Improve _mesa_error about GL_OUT_OF_MEMORY in st_cb_texture.c

  • llvmpipe: Do not use _Atomic keyword that doesn’t support by MSVC

  • radv: fixes msvc compiling error

  • radv: Fixes compiling error with msvc

  • radv: Add losing member hw_ip_version_major and hw_ip_version_minor for win32

  • radv: Add macros for win32 that accessed

  • nir: Fixes MSVC compiling error about unused variable `_`

  • egl/wgl: On win32, there is no support for EGL_EXT_device and EGL_EXT_platform_device

  • util: Fixes test_util_get_process_exec_path on windows host with msys2/mingw

  • util: Fixes typo in test_util_get_process_exec_path

  • ci/vs2019: Clear CI_COMMIT_MESSAGE and CI_COMMIT_DESCRIPTION for please meson

  • radv: Remove usage of `cnd_monotonic.h`

  • d3d12: Fixes d3d12 compiling errors in `D3D12ResourceState.h` for mingw

  • d3d12: Move shared code that include d3d12 headers into d3d12_common.h

  • d3d12: Fixes compiling error by include `<unknwn.h>`

  • d3d12: `#include <windows.h>` instead `#include <Windows.h>` for building under linux with mingw

  • d3d12/wgl/test: Fixes wgl_tests.cpp for d3d12 with mingw

  • dzn: Fixes compiling error when build with msys2/mingw

  • dzn: Fixes compiling error by include `<unknwn.h>`

  • microsoft/clc: Fixes compiling of microsoft clc with mingw

  • docs: Fixes dispatch.rst with __THREAD_INITIAL_EXEC

  • meson: Fixes timespec_get detect code

  • c11/threads: Remove the detecting code for `HAVE_TIMESPEC_GET` in threads_win32.h

  • c11: Implement c11/time.h with c11/impl/time.c

  • c11: Implement timespec_get on win32 properly when not available

  • util: Use timespec_get directly, it’s always present

  • util: Remove usage of designated initializers in timespec_test.cpp

  • util: always enable timespec_test.cpp

  • util: Remove unused function timespec_passed

  • util: Add unittest for timespec_get

  • ci/vs2019: There is no meaning to set $env:ErrorActionPreference

  • ci/vs2019: switch to powershell 7

  • ci/vs2019: Update editorconfig for ps1 files

  • ci/vs2019: Give each option its own line in mesa_build.ps1

  • ci/vs2019: Rename to vsInstallPath

  • ci/vs2019: Do not install subprojects

  • ci/vs2019: Ignore cert install output, it’s too long

  • ci/vs2019: Ignore error when removing directory recursively

  • ci/vs2019: Disable progress when install python

  • ci/vs2019: Disable progess bar for pip3 install

  • ci/vs2019: Use shared VULKAN_SDK_VERSION for install and build vulkan related packages

  • ci/vs2019: Add a dedicated script for entering VS dev shell

  • ci/vs2019: Split call to C:\vs_buildtools.exe into multiple lines

  • ci/vs2019: Show the total vs2019 install time

  • ci/vs2019: Reduce the vs2019 build tools components to be installed

  • ci/vs2019: ignore _build and _install directory by write * into .gitignore

  • ci/vs2019: Install all build artifacts into C:\mesa-deps

  • ci/vs2019: Split choco install output

  • ci/vs2019: Split install of vs2019 and choco into separate Docker image

  • ci/vs2019: Remove comment for windows_test_vs2019 that not true

  • ci/vs2019: Convert mesa_build.ps1 to using PowerShell 7 && operator

  • microsoft/compiler: Include stddef.h before using size_t

  • microsoft/compiler: Fix error from double extern

  • dxil: Fixes compiling dxcapi.h with mingw.

  • dxil: Sync dxil_spirv_shader_stage with gl_shader_stage

  • dxil: Fixes warning about comparing different enum value and enum literal

  • microsoft/spirv_to_dxil: Delete unused local variable

  • microsoft/clc: Delete unused local variables

  • microsoft/clc: Add missing void to no-parameter function signature

  • microsoft/spirv_to_dxil: Fixes maybe-uninitialized compiling error in dxil_spirv_nir.c

  • ci: Building spirv-to-dxil on both mingw and debian/x64

  • intel: using C++11 keyword thread_local

  • glx: using C++11 keyword thread_local

  • util: Define WIN32_LEAN_AND_MEAN before include of `windows.h` in u_thread.h

  • c11: Move the implementation of threads.h into c source code

  • c11: Fixes memory leak of pack in thrd_create on win32

  • c11: Implement thread_local in c11/threads.h

  • util/c11: Update function u_thread_create to be c11 conformance

  • meson: Using get_argument_syntax as the `–compiler_id` option for gen_vs_module_defs.py

  • meson: Use cc.get_argument_syntax instead cc.get_id when possible.

  • meson/rtti: Using get_argument_syntax to check msvc compatible compiler

  • meson/clover: Getting clover can be built with no-rtti llvm in mingw

  • ci/vs2019: Upgrade Windows 10 SDK version to 20348

  • docs: Update windows build requirement with Visual Studio

  • d3d12: Use static_cast instead of dynamic_cast in d3d12_video_enc_h264.cpp

  • d3d12: Convert #include <Windows.h> to #include <windows.h> for mingw on linux

  • d3d12: Fixes compiling error in d3d12/wgl/d3d12_wgl_framebuffer.cpp with gcc

  • microsoft/clc: Fixes narrowing error in clc_compiler_test.cpp with mingw/gcc

  • microsoft/clc: Disable clc_compiler_test on non-windows platform

  • dzn: Fixes incompatible pointer type error

  • ci/x86_build: Getting pushd popd be paired, avoid using cd

  • ci: Prepare the container for building all mesa components with mingw under linux

  • ci: Trigger the new mingw/linux dockers to be build

  • d3d12: Turn d3d12_format.h to include d3d12_common.h

  • ci: Building all mesa functional with mingw on debian

  • meson: Enable wgl tests on mingw

  • CODEOWNERS: Update c11 code owners

  • CODEOWNERS: evelikov renamed to xexaxo

  • gallium: Move -DHAVE_PIPE_LOADER_DRI and -DHAVE_PIPE_LOADER_KMS to be pre_args

  • gallium: Do not call to pipe_loader_sw_probe_kms when not present

  • gallium: Rename macros HAVE_PIPE_LOADER*

  • gallium: Disable dri2 interface on OSX

  • glx: __glX_tls_Context should use __THREAD_INITIAL_EXEC

  • util: thread_local doesn’t support to be exported on OSX

  • glx: Convert tab to space in applegl_glx.c

  • dri: Trim trailing space in dri/dri_util.*

  • ci: Building osmesa on OSX

  • util: Disable tests/sparse_array_test.cpp on MacOS as it’s too slow

  • mapi: Trim trailing spaces in stub.c and u_current.c

  • meson: Remove usage of use_elf_tls

  • egl: Remove usage of USE_ELF_TLS macro

  • mapi: Remove usage of USE_ELF_TLS

  • loader: Remove usage of USE_ELF_TLS in loader.c

  • glx: Remove usage of USE_ELF_TLS

  • util: Remove usage of USE_ELF_TLS in u_thread.h

  • meson: Remove pre_args += ‘-DUSE_ELF_TLS’

  • glx: Remove usage of pipe_tsd_set and pipe_tsd_get

  • auxiliary: Remove pipe_tsd

  • d3d12: Fixes compile error with mingw/gcc-x64 when static linkage to runtime library

  • microsoft/clc: Fixes compiling errors with clang/mingw64 in clc/clc_compiler_test.cpp

  • util: Fixes invalid assumption that return non null by function util_format_fetch_rgba_func

  • c11: #include <threads.h> when the os/platform provide it

Yurii Kolesnykov (2):

  • Remove Travis CI config

  • Init macOS GitHub Action

Zack Rusin (4):

  • svga: Don’t try to build x86/x64 assembly on different arch’s

  • svga: finish readbacks before mapping resources

  • svga: Use direct maps when GB objects are present

  • svga: Add support for SVGAv3

Zhang, Jianxun (1):

  • iris: Wa_14016820455 for GFX_VERx10 == 12.5

illiliti (1):

  • Use proper types for meson objects

jheaff1 (1):

  • build(glx): Fix build by adding missing deps

naveen (1):

  • github/ci: Set permissions for GitHub actions

newbluemoon (1):

  • nine: replace ulimit with sysconf call

prashanth (1):

  • vulkan/device_select: force default device if environment variable set

sjfricke (2):

  • isl: fix bug where sb.MOCS is not being set

  • anv: fix assert to build with shader cache disabled

xperia64 (1):

  • wgl: Add driver_zink as a dependency of the wgl frontend

İlhan Atahan (1):

  • Add Adreno 616 and 620 to use turnip on these GPU’s .