Mesa 23.1.0 Release Notes / 2023-05-10

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

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

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

a9dde3c76571c4806245a05bda1cceee347c3267127e9e549e4f4e225d92e992  mesa-23.1.0.tar.xz

New features

  • VK_EXT_pipeline_library_group_handles on RADV

  • VK_EXT_image_sliced_view_of_3d on RADV/GFX10+

  • VK_KHR_map_memory2 on ANV and RADV

  • fullyCoveredFragmentShaderInputVariable on RADV/GFX9+

  • VK_EXT_discard_rectangles version 2 on RADV

  • VK_EXT_graphics_pipeline_library on RADV

  • extendedDynamicState3ColorBlendEquation on RADV

  • primitiveUnderestimation on RADV/GFX9+

  • VK_KHR_fragment_shading_rate on RADV/GFX11

  • VK_EXT_mesh_shader on RADV/GFX11

  • RGP support on RADV/GFX11

  • GL_NV_alpha_to_coverage_dither_control on r600/evergreen+

Bug fixes

  • [radeonsi] flickering debug chunk border lines in Minecraft

  • radv, radeonsi: Rogue Legacy 2 alpha-to-coverage rendering issues

  • [r600, TURKS] R600: Unsupported instruction: vec1 32 ssa_1 = intrinsic image_samples (ssa_0) on spec@arb_shader_texture_image_samples@compiler@fs-image-samples.frag (23.1.0-rc4)

  • vulkan/device_select: no way to select between GPUs of the same model due to bugs

  • Intel/anv: Modifier problems running gamescope embedded

  • radv: 7900 XTX hair flickering/rendering issues in VaM

  • radv: cache crashing

  • nouveau: Regression in arb_transform_feedback_overflow_query-basic from multithreading patches

  • radeonsi: vaapi: `width >2880 && width % 64 != 0` results in wrong width in h265 stream

  • [regression] iris: unable to use driver as secondary GPU (primary AMD GPU)

  • iris: steam doesn’t render on dg2

  • [llvm 16+] [microsoft-clc] opencl-c-base.h does not exist

  • Vulkancts clipping / tesselation tests trigger gpu hang on DG2

  • Swaped fields in picture in vlc and mythtv if hw accel is on

  • WGL: Assert assigns dwThreadId variable

  • nine regression with r600 (bisected)

  • [ACO] [RADV] Flickering squares in some areas in The Last of Us Part 1 (with workaround)

  • radv: Jedi Fallen Order flickering & blocky plants

  • nouveau: NV50 (NVAC) broken in latest master

  • rusticl failed to build with rust-bindgen 0.65.0

  • Regression, Bisected: glsl: Delete the lower_tess_level pass breaks r600 tesselation

  • vkcts-navi21-valve failing often with GCVM_L2_PROTECTION_FAULT_STATUS:0x00X00830

  • Deep Rock Galactic GPU freeze (AMD, DX11 DXVK Proton)

  • radv: Resident Evil 4 Chainsaw Demo GPU hang with Navi 24

  • radv: Gotham Knights GPU hang with Navi 24

  • aco: s_load_dword with negative soffset cause GPU hang

  • piglit.spec.ext_image_dma_buf_import.ext_image_dma_buf_import crash shutting down

  • overlay layer: unable to launch titles on steam

  • radv/zink: spec@ext_texture_integer@multisample-fast-clear gl_ext_texture_integer

  • VAAPI: Wrong H.264 playback on RX 6900 XT and RX 6700 XT (all Sienna?)

  • radv: possibly not setting state dirty bits correctly

  • RADV: VRS attachment not working in specific scenario

  • rusticl: invalid SPIR-V kernel causes panic

  • [RADV] The Last Of Us Part 1: artifacting in the menu (with workaround)

  • AMD va-api outputs corrupt encoding

  • !20673 regressed `dEQP-VK.wsi.xlib.surface.query_formats`

  • aco: missing dependency on generated header

  • zink: spirv validation errors with spirv 1.6

  • freedreno/a6xx: Assertion `view->rsc_seqno == rsc->seqno’ failed.

  • iris regression in map stride after import with gen9 parts

  • anv: zink ADL failures

  • Vulkan loader `vk_common_GetPhysicalDeviceFormatProperties` fails to sanitize properties bits.

  • Loading a model in PrusaSlicer 2.6.0-alpha5 crashes GNOME on radeonsi

  • [glx][bisected][regression]Intel HD 3000 failing to create context on applications like Unity

  • v3d: dEQP-GLES3.functional.texture.specification.teximage2d_pbo.rg32f_cube and similar fails when run together with other tests

  • standalone glsl compiler not getting built with mingw

  • !22191 broke test-docs-mr

  • mesa: index buffer leaking

  • RadeonSI: null dereference in amdgpu_cs_add_buffer, potential refcount mismatch, running BeyondAllReason

  • NIR can’t unroll any loop from nine

  • Steel Division 2 - radv/gpu hang - bisected

  • Turnip: VKD3D can’t run due to lack of memory property flag

  • eglCreateImageKHR, error: EGL_BAD_ALLOC (0x3003), message: “createImageFromDmaBufs failed” on AMD multi-gpu with explicit format modifiers

  • radv: In the game Quake II RTX appeared artifacts at fresh mesa builds

  • radv: Vampire: The Masquerade - Bloodline (Unofficial Patch) regression

  • radeonsi broken for gcn1 card

  • libgrl.a installed but not used?

  • radv: crash compiling UE5 lumen hardware RT shader

  • spec@ext_transform_feedback@builtin-varyings gl_culldistance fail

  • Panfrost T860 - broken system with latest mesa on gnome wayland jammy

  • aco: unused vtmp_in_loop

  • FTBFS: src/amd/llvm/ac_llvm_util.c:248:4: error: implicit declaration of function ‘LLVMAddIPSCCPPass’ (LLVM C interface removed upstream)

  • vulkan: new generated physical_device_feature missing meson dependency

  • Build broken on old-ish Python versions

  • radv: Support fullyCoveredFragmentShaderInputVariable from VK_EXT_conservative_rasterization on RDNA2+

  • radv,nir: dEQP-VK.ray_query.builtin.rayqueryterminate.* failures

  • RFE: Use _mesa_is_foo(ctx) helpers more

  • spec@ext_transform_feedback@builtin-varyings gl_culldistance fail

  • ci: infinite XDG_RUNTIME_DIR spam

  • ci: XDG_RUNTIME_DIR spam

  • [KBL] iris failures with dEQP-GLES3.functional.texture.compressed.astc.void_extent*

  • glsl compiled error when the RHS of operator `>>` is int64_t by enabling GL_ARB_gpu_shader_int64 extension

  • turnip: inline uniforms regression

  • QPainter fails to render multiple shapes with a brush set since Mesa 23.0

  • eglSwapBuffers blocks in wayland when it’s wl_surface_frame event is stolen.

  • plasmashell sometimes hangs with mesa_glthread

  • pps_device.h:23:11: error: ‘uint32_t’ does not name a type

  • Build fails with llvm 17: llvm/ADT/Triple.h: No such file or directory

  • nir: i2f32(i2i32(x@8)) isn’t being collapsed to i2f32(x)

  • zink-lvp no longer running tests

  • radv: Immortals Fenyx Rising: Grass Flicker on R9 380X and Steam Deck

  • radv: A Plague Tale: Requiem black “flash” on 7900XTX

  • 7900 XTX: Graphical corruption / artifacts in Cyberpunk

  • radeonsi draws spurious values to depth buffer

  • Commit ccaaf8fe04c956d9f16f98b7f7fa69a2526283bc causes GPU ring timeouts on BONAIRE

  • radv: CmdCopyQueryPoolResults broken for VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT with queryCount > 1

  • rusticl over llvmpipe + ffmpeg’s Opencl filter = error -51

  • rusticl over llvmpipe + ffmpeg’s Opencl filter = error -51

  • ci: Remove LAVA Gitlab section handler workaround

  • System freeze when playing some h264 videos with VA-API on Rembrandt

  • OpenGL crashes in X-Plane 11

  • r600/TURKS: NIR Shader related errors on CLI with the game “A Hat in Time” and Gallium Nine

  • agx: shifts aren’t sound

  • ci: build logs hidden

  • fatal error: intel/dev/intel_wa.h: No such file or directory

  • [Bisected] Regression: Project Zomboid renders black

  • hasvk: Black pixels with 8xMSAA and fast clears on Intel(R) HD Graphics 4400 (HSW GT2)

  • radv: GTA IV graphical artifacts on 7900XTX

  • radv: Resident Evil Revelations 2 artifacts on 7900XTX with DCC

  • radv: Prototype 2 black textures on RDNA 3 when DCC is enabled

  • Mesa 23.0.0 crashes immediately with indirect rendering

  • virpipe-on-gl: arb_enhanced_layouts@matching_fp64_types crashes

  • [RADV] Returnal - pistol muzzle flash fills whole screen (graphical artifact)

  • ACO: dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers1_sets3_imm_samplers hangs on NAVI10

  • Build failures with recent lld

  • r600,regression: Glitches on terrain with the NIR backend on Transport Fever 2

  • [radeonsi] Regression with MSAA fix for Unreal / Unreal Tournament 99

  • spirv: Switch Vulkan drivers to use `deref_buffer_array_length`

  • r600/TURKS: Crash of the game “A Hat in Time” with Gallium Nine and NIR path (third report)

  • [gen9atom] Vulkan tests cause gpu hang: dEQP-VK.memory_model.*

  • GL_SHADER_BINARY_FORMAT_SPIR_V is not added to the list of GL_SHADER_BINARY_FORMATS even if GL_ARB_gl_spirv is supported.

  • mesa: “Fragmented” dynamic lights in IronWail with `r_fsaamode 1` on

  • [ANV/DG2] Vertex explosion in nvpro-samples/vk_raytracing_tutorial_KHR/ray_tracing_gltf

  • CUEtools FLACCL hit assert in rusticl

  • Assertion Failed on Intel HD 5500 with Linux / Mesa 22.3.1 / OpenGL

  • Rise of the Tomb Raider’s Ambient Occlusion pass misrenders (swimming shadows)

  • vk_enum_to_str: missing VkPipelineCreateFlags

  • [glsl] [spirv] ssbo unsizied array not supported ?

  • Creating a vulkan physical device on an AMD GPU causes following calls to drmModeAddFB to fail with ENOENT

  • Minecraft: spec related compile errors

  • mesa: _mesa_glthread_upload crash

  • glthread: OpenGL submission blocks while swapping buffers

  • glthread: Loading a shader cache in yuzu slows down with mesa_glthread=true

  • Commit “”radeonsi: enable glthread by default”” (d6fabe49cd72fb) causes a regression in gstreamer gtkglsink element

  • llvmpipe: linear rasterizer / depth bug

  • radv: (Using mesh shader) NIR validation failed after nir_lower_io_to_scalar_early

  • panfrost Mali-G31 glamor regression

  • allwinner a64: DRM_IOCTL_MODE_CREATE_DUMB failed: Cannot allocate memory after some time of apps usage

  • turnip: dEQP-VK.ubo.random.all_shared_buffer.48 slow

  • wine + dxvk + Rise of the Tomb Raider crashes in Soviet Installation 20% with VK_ERROR_DEVICE_LOST

  • Sometimes VLC player process gets stuck in memory after closure if video output used is Auto or OpenGL

  • ci: Remove LAVA Gitlab section handler workaround

  • kwin_wayland crashes involving dri2_create_drawable when Plasma starts and the llvmpipe driver from Mesa 23.0-rc3 and 23.0-rc4 is used

  • turnip: no ubwc fast clear for depth on a618

  • anv: VK_ACCESS_2_SHADER_READ_BIT doesn’t seem to be handled correctly

  • Vulkan WSI flags leak into NIR, breaking build on BSDs

  • Iris corruptions in zoom calls

  • Sampling with aux enabled with ISL_AUX_STATE_PASS_THROUGH seems broken on Tigerlake+

  • anv: incorrect task shader payload

  • radv: Hi-Fi Rush incorrectly rendering face shadows with DCC on 7900 XTX

  • [iris] isl_calc_min_row_pitch seems incorrect on a750

  • DG2: incorrect rendering in Sascha Willems raytracing callable demo

  • turnip: conditional load/store hurts some workloads

  • Some blackouts / rendering issues with RADV_PERFTEST=gpl in Battlefield 1 (DX11)

  • radv/zink: ACO assert with DOOM2016

  • Registered special XGE not unregistered

  • draw_llvm.c:788:7: error: implicit declaration of function ‘LLVMContextSetOpaquePointers’

  • asahi: Optimize lower_resinfo for cube maps

  • Metro Exodus hits nir validation with a driver supporting raytracing.

  • ANV Gen 9.5 swapchain corruption when using newer `VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL` layout

  • turnip: optimal bin layout

  • piglit.spec.arb_shader_texture_image_samples.compiler.fs-image-samples_frag regression

  • lavapipe assert fails on Windows

  • zink: itoral-gl-terrain-demo rendering failure

  • asahi: Implement a shader disk cache

  • [ICL] Trine 4 trace causing GPU HANG

  • radv: Segfault during createAccelerationStructure when the backing buffer is not bound to memory

  • 7900 XTX stuck at ‘compiling shaders’ in Monster Hunter Rise

  • radv: slow GPL (fast) link times

  • libEGL warning: failed to get driver name for fd -1

  • iris: Context incorrectly marked as guilty

  • simple_mtx.h:34:12: fatal error: valgrind.h: No such file or directory

  • [ANV] Commit 4ceaed78 causes misrendering on Cyberpunk 2077

  • adding eglGetMscRateANGLE support for multiple monitors with different refresh rates

  • Performance regression in Chromium WebGL when implement ANGLE_sync_control_rate with egl/x11

  • ci: Ensure that the Intel/Freedreno trace pipelines only show up in relevant MR’s

  • anv: Performance issue with Vulkan on Wayland KWin

  • Incorrect format conversion on big endian

  • radv: State of Decay 2 character rendering regression

  • aco_tests assembler.gfx11.vop12c_v128/gfx11 failure

  • r600,regression: Loading of DOOM stuck at 0% with the NIR backend

  • RADV: enabling TC-compat HTILE in GENERAL for compute queues is likely broken

  • Confidential issue #8065

  • VAAPI HEVC encode broken since 22.3

  • GPU HANG: ecode 12:1:859ffffb (Resetting rcs0 for stopped heartbeat on rcs0) - reproducible

  • zink: src/gallium/auxiliary/pipebuffer/pb_slab.c:138: Assertion failed: `heap < slabs->num_heaps`

  • [zink] Assertion `heap < slabs->num_heaps’ failed on Pascal (bisected)

  • [RADV] Incorrect copies to/from compressed textures with mipmaps

  • mesa_glthread=true and probably ANY id Tech 3 engine games, offroad…

  • radeonsi: VRAM Leak/abnormally high usage in Minecraft mod pack

  • nir/lower_blend: Bogus assert

  • anv-tgl-vk: fails a multiple jobs after changing sharding

  • radv CTS crashes since ebec42d799b22b7b3d06acd710f5687252446a06

  • llvmpipe: dEQP-EGL programs.link failures.

  • libmesa_util depends on gallium

  • EGL report EGL_EXT_create_context_robustness with kms_dri drvier while can’t create context with EGL_LOSE_CONTEXT_ON_RESET_EXT attribute.

  • v3d: missing drm format modifier support on Raspberry Pi 4 required for mpv

  • Return To Monkey Island black screen

  • Return To Monkey Island black screen

  • navi22 amdgpu: bo 000000002843d677 va 0x0800000400-0x08000005ff conflict with 0x0800000400-0x0800000600

  • Ryzen 6800H laptop amdgpu: bo 00000000b1eb583a va 0x0800000200-0x08000003ff conflict with 0x0800000200-0x0800000400

  • [RADV] [MISSED PERFORMANCE POTENTIAL] Vulkan not working when Color Depth is set to “16”, but Vulkan works when Color Depth is set to “24”

  • v3dv: f2f16_rtz lowering could be improved

  • debug build compilation failed: inlining failed in call to ‘always_inline’ ‘src_is_ssa’: indirect function call with a yet undetermined callee

  • radv: regression: broken UI rendering in Elden Ring

  • radv: Missing implementation of VkImageSwapchainCreateInfoKHR and VkBindImageMemorySwapchainInfoKHR

Changes

Adam Jackson (22):

  • glx/dri3: Simplify protocol version tracking

  • glx: Remove glx_context::screen

  • glx: Remove a can’t-happen NULL check

  • glx: Remove support for glXGetDriverConfig for old drivers

  • glx: Clean up some funny business from context bind/unbind

  • glx: Reflow MakeContextCurrent a little

  • glx: Check for initial “glX” first in glXGetProcAddress

  • glx: Move 1.2 GLXPixmap code into glx_pbuffer.c

  • glx: Inline a few single-use constant strings into their user

  • glx: Fix drawable type inference in visual/fbconfig setup

  • glx: Harmonize glXCreateGLXPixmap with glXCreatePixmap

  • mesa: Fix extension table formatting

  • mesa: Trivially advertise NV_generate_mipmap_sRGB

  • wsi/x11: Make get_sorted_vk_formats handle varying channel widths

  • wsi/x11: Infer the default surface format from the root window’s visual

  • wsi/x11: Support depth 16 visuals

  • glx/dri: Use X/GLX error codes for our create_context_attribs

  • dri: Validate more of the context version in validate_context_version

  • glx/dri: Fix error generation for invalid GLX_RENDER_TYPE

  • glx: Disable the indirect fallback in CreateContextAttribs

  • glx: Fix error handling yet again in CreateContextAttribs

  • mesa: Enable NV_texture_barrier in GLES2+

Adam Stylinski (2):

  • glx: fix a macro being invoked with the wrong parameter name

  • mesa: fix out of bounds stack access on big endian

Alan Coopersmith (1):

  • util/disk_cache: Handle OS’es without d_type in struct dirent

Alejandro Piñeiro (17):

  • vulkan/wsi: check if image info was already freed

  • v3dv/format: remove unused v3dv_get_tex_return_size

  • v3dv/pipeline: rename lower_tex_src_to_offset to lower_tex_src

  • v3dv: pass alignment to v3dv_buffer_init

  • v3dv/image: use 64-byte alingment for linear images if needed

  • v3dv: skip two ycbcr tests

  • broadcom/compiler: v3d_nir_lower_txf_ms doesn’t need v3d_compile

  • broadcom/compiler: treat PIPE_FORMAT_NONE as 32-bit formats for output type

  • v3dv: enable shaderStorageImageReadWithoutFormat

  • broadcom/compiler: fix indentation at v3d_nir_lower_image_load_store

  • nir: track if var copies lowering was called

  • radv: use shader_info->var_copies_lowered

  • anv: use shader_info->var_copies_lowered

  • v3d/v3dv: use shader_info->var_copies_lowered

  • v3dv: handle ASPECT_MEMORY_PLANE aspect flags when getting plane number

  • v3dv/debug: add debug option to disable TFU codepaths

  • v3dv/pipeline: use pipeline depth bias enabled to fill up CFG packet

Alexandros Frantzis (2):

  • egl/wayland: Fix destruction of event queue with proxies still attached.

  • vulkan/wsi/wayland: Fix destruction of event queue with proxies still attached.

Alyssa Rosenzweig (351):

  • nir/peephole_select: Allow load_preamble

  • agx: Peephole select after opt_preamble

  • asahi: Handle sampler->compare_mode

  • panfrost: Don’t use AFBC of sRGB luminance-alpha

  • pan/bi: Fix incorrect compilation of fsat(reg.yx)

  • pan/bi: Add a unit test for fsat(reg.yx)

  • panfrost: Enable NV_primitive_restart on Valhall

  • panfrost: Fix logic ops on Bifrost

  • panfrost: Stop testing CAP_INT16

  • panfrost: Remove PAN_MESA_DEBUG=deqp

  • panfrost: Remove unused debug parameter

  • panfrost: Fix clears with conditional rendering

  • panfrost: Document render_condition_check contract

  • nir: Add Midgard-specific fsin/fcos ops

  • nir: Optimize vendored sin/cos the same way

  • pan/mdg: Use special NIR ops for trig scaling

  • pan/mdg: Scalarize LUT instructions in NIR

  • pan/mdg: Remove MSGS debug

  • mesa: Set info.separate_shader for ARB programs

  • nir/lower_blend: Fix alpha=1 for RGBX format

  • nir/lower_blend: Clamp blend factors

  • nir/lower_blend: Fix SNORM logic ops

  • nir/lower_blend: Avoid useless iand with logic ops

  • nir/lower_blend: Don’t do logic ops on pure float

  • nir/lower_blend: Handle undefs in stores

  • nir/lower_blend: No-op nir_color_mask if no mask

  • asahi: Omit extra call to clock_gettime

  • nir/opt_preamble: Treat *size as an input

  • nir/opt_preamble: Consider load_preamble as movable

  • agx: Lower system values in NIR in the driver

  • agx: Bump preamble_storage_size to 512

  • agx: Centralize texture lowering

  • asahi: Use non-UAPI specific BO create flags

  • nir: Add a late texcoord replacement pass

  • asahi: Run nir_lower_fragcolor during preprocessing

  • asahi: Lower texcoords late

  • panfrost: Implement GL_EXT_render_snorm on Bifrost+

  • ail: Add layout->mipmapped_z input

  • ail: Test mipmapped_z behaviour

  • ail: Test 63x63 cube map

  • asahi: Set layout->mipmapped_z for 3D textures

  • asahi: Fix encoding of uniform size

  • asahi: Strengthen agx_usc_uniform contract

  • asahi/nir_lower_sysvals: Split large ranges

  • asahi: Correct alignment for USC Uniform packets

  • agx: Support uniform registers as LODs

  • asahi: Use writeback when it looks beneficial

  • asahi: Make STAGING resources linear

  • asahi: Prefer blit-based texture transfer

  • asahi: Implement nontrivial rasterizer discard

  • asahi: DRY dirty tracking conditions

  • asahi: Remove redundant tri merge disable bit

  • asahi: Merge fragment control XML

  • agx: Keep varyings forwarded to texture as fp32

  • asahi: Don’t use 16-bit inputs to 32-bit st_tile

  • docs/asahi: Document clip distance varyings

  • agx: Fix storing to varying arrays

  • agx: Handle constant-offset in address matching

  • asahi: Add XML for custom border colours

  • agx/decode: Add a data parameter to stateful

  • agx/decode: Handle extended samplers

  • asahi: Implement custom border colours

  • asahi: Fix delete_vs_state implementation

  • asahi: Add compute kernel scaffolding

  • asahi: Don’t leak shader NIR

  • asahi: Add hooks for SSBO and images

  • asahi: Fake more caps for dEQP-GLES31

  • asahi: Advertise seamless cube maps

  • asahi: Stub out MSAA for dEQP

  • asahi: Bump PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS

  • asahi: Add compute batches

  • asahi: Implement load_ssbo_address/get_ssbo_size

  • asahi: Identify more compute-related XML

  • agx: Implement compute ID intrinsics

  • agx: Implement barriers

  • nir/print: Extract get_location_str

  • nir/print: Pretty-print I/O semantic locations

  • nir/print: Pretty-print color0/1_interp

  • agx: Allow uniform sources on phis

  • agx: Run DCE twice

  • agx: Lower uniform sources with a dedicated pass

  • agx: Don’t scalarize preambles in NIR

  • nir/lower_clip: Only emit 1 discard

  • tu,vulkan: Add common Get*OpaqueCaptureDescriptorDataEXT

  • radv: Use common Get*OpaqueCaptureDescriptorDataEXT

  • agx: Remove unused AGX_MAX_VARYINGS

  • agx: Respect component in frag load_input

  • agx: Fix AGX_MAX_CF_BINDINGS

  • agx: Remove bogus gl_Position assertion

  • agx: Implement load_helper_invocation

  • agx: Write sample mask even with no colour output

  • asahi: Submit batches that don’t touch RTs

  • asahi: Add XML for indirect dispatch

  • asahi: Add XML for indirect draws

  • asahi: Add XML for VDM memory barriers

  • panvk: Take lock when tracing

  • panvk: Fix varying linking

  • panvk: Disable SNORM rendering

  • asahi: Remove default=true on index list values

  • asahi: Refactor index buffer upload for indirect

  • asahi: Implement indirect draws

  • panfrost: Fix some fields in v10.xml

  • pan/decode: Add support for decoding CSF

  • asahi: Vectorize background colour load

  • panfrost: Disable CRC by default

  • panfrost: Fix prim restart XML on Valhall

  • nir: Augment raw_output_pan with IO_SEMANTICS+BASE

  • pan/lower_framebuffer: Operate on lowered I/O

  • nir/lower_blend: Don’t touch store->dest

  • nir/lower_blend: Don’t handle gl_FragColor

  • nir/lower_blend,agx,panfrost: Use lowered I/O

  • asahi: Lower clip distances late

  • asahi: Move agx_preprocess_nir to CSO create

  • agx: Don’t treat clip distances specially

  • agx: Do more work in agx_preprocess_nir

  • asahi: Fix rendering into mipmapped framebuffers

  • agx: Lower offsets in NIR

  • agx: Model and pack gathers

  • agx: Implement gathers (nir_texop_tg4)

  • docs/features: Sync Asahi with reality

  • asahi: Advertise ARB_derivative_control

  • asahi: Advertise ARB_texture_barrier

  • agx: Model atomic instructions

  • agx: Model local loads/stores

  • agx: Disallow immediate bases to device_load

  • agx: Pack global atomics

  • agx: Pack local load/store instructions

  • agx: Translate NIR atomics

  • agx: Translate load/store_shared

  • agx: Lower shared memory offsets to 16-bit

  • agx: Pack local atomics

  • agx: Implement b2b32

  • agx: Handle group_memory_barrier

  • agx: Add and use agx_nir_ssa_index helper

  • agx: Handle ssa_undef as zero

  • agx: Add agx_internal_format_supports_mask helper

  • asahi: Implement color masks with masked stores

  • asahi: Make shader-db work again

  • panfrost: Use proper locations in blend shaders

  • nir/lower_blend: Consume dual stores

  • nir: Add nir_texop_lod_bias_agx

  • asahi: Lower lod_bias_agx to uniform registers

  • agx: Lower sampler LOD bias

  • nir/lower_blend: Don’t dereference null

  • docs/feature: Mark ARB_sync as done on Asahi

  • asahi/decode: Handle VDM barriers

  • nir: Add nir_lower_helper_writes pass

  • pan/mdg: Use nir_lower_helper_writes

  • asahi: Advertise dual-source blending

  • agx: Mask shifts in the backend

  • agx: Fix 2D MSAA array texture register allocation

  • asahi: Mark PIPE_FORMAT_NONE “supported”

  • agx: Don’t write sample mask from preambles

  • agx: Add AGX_MESA_DEBUG=nopreamble option

  • agx: Clean up after lowering address arithmetic

  • agx: Factor out allows_16bit_immediate check

  • agx: Inline 16-bit load/store offsets

  • agx: Constify agx_print

  • agx: Refactor vector creation

  • agx: Use agx_emit_collect for st_tile

  • agx: Don’t print pre-optimization shader

  • agx: Only lower int64 late

  • asahi: Bump shader buffers

  • asahi/meta: Use lowered I/O

  • agx: Disable tri merging with side effects

  • agx: Handle fragment shader side effects

  • asahi: Rework system value lowering

  • asahi: Wire up compute kernels

  • nir/lower_tex: Add lower_index_to_offset

  • pan/bi: Use lower_index_to_offset

  • ir3: Use lower_index_to_offset

  • nir/opt_barrier: Generalize to control barriers

  • glsl/nir: Use scoped_barrier for control barrier

  • pan/bi: Drop control_barrier handling

  • pan/mdg: Drop control_barrier handling

  • ir3: Drop non-scoped barrier handling

  • gallivm: Drop non-scoped barrier handling

  • agx/lower_address: Break on match

  • agx/lower_address: Optimize “shift + constant”

  • agx/lower_address: Handle large shifts

  • agx/lower_address: Handle 8-bit load/store

  • agx/lower_address: Fix handling of 64-bit immediates

  • agx/lower_address: Handle 16-bit offsets

  • agx: Assert that memory index is 32-bit reg

  • agx: Fix clang-formatting

  • agx: Pack indirect texture/sampler handles

  • agx: Handle indirect texture/samplers

  • asahi: Don’t allow linear depth/stencil buffers

  • asahi, agx: Implement dummy samplers

  • asahi,agx: Implement buffer textures with gnarly NIR

  • panfrost: Remove some unused definitions

  • docs/panfrost: Move description of instancing

  • panfrost: Don’t use DECODE_FIXED16 for sample position

  • panfrost: Handle fixed-point packing in GenXML

  • panfrost: Add XML for framebuffer pointers

  • panfrost: Use framebuffer pointer XML

  • panfrost: Remove FBD tag enum from XML

  • panfrost: Inline the last MALI_POSITIVE use

  • panfrost: Remove MALI_POSITIVE macro

  • pan/mdg: Remove reference to removed macro

  • agx: Don’t set lower_pack_split

  • agx: Make partial DCE optional

  • agx: Fix subdivision coalescing

  • agx: Implement extract_[ui]16

  • agx: Use nir_lower_mem_access_bit_sizes

  • agx: Switch to scoped_barrier

  • nir/lower_point_size: Use shader_instructions_pass

  • ail: Restructure generated tests

  • agx: Lower discard late

  • util/prim_convert: Don’t set index_bounds_valid

  • pan/bi: Ignore signedness in vertex fetch

  • panfrost: Identify “Base vertex offset” signedness

  • panfrost: Assert that we don’t see unsupported vertex formats

  • panfrost: Defeature 24-bit textures

  • panfrost: Handle null textures robustly

  • panfrost/ci: Skip draw_buffers_indexed.random.* on Midgard

  • panfrost/ci: Identify some Piglit flakes

  • panfrost/ci: Add some Piglit skips

  • panfrost/ci: Remove fbo-mrt-new-bind fail+flake

  • panfrost: Note glDrawRangeElements underflow

  • asahi: Fix occlusion query lifetime

  • panfrost: Don’t round up Midgard polygon list BOs

  • panvk: Use vk_get_physical_device_features

  • asahi: Use a dynarray for writers

  • ci: Add clang-format to the amd64 container

  • ci: Enforce clang-format for asahi

  • gallium: Fix u_stream_outputs_for_vertices with QUADS

  • nir/builder: Add nir_umod_imm helper

  • blorp,anv,hasvk: Use umod_imm

  • v3d,v3dv: Use udiv_imm/umod_imm

  • radv: Use umod_imm

  • ir3: Use umod_imm

  • nir: Add Panfrost intrinsics to lower sample mask

  • nir: Add Mali load_output taking converison

  • panfrost: Use 0/~0 boolean for MSAA sysval

  • pan/bi: Don’t duplicate texture op cases

  • pan/bi: Lower sample mask writes in NIR

  • pan/bi: Lower load_output to make sysval explicit

  • pan/bi: Allow specializing bifrost_nir_options by arch

  • pan/bi: Lower gl_VertexID in NIR

  • pan/bi: Remove bi_load_sysval

  • pan/mdg: Use I/O semantics for MRT blend stores

  • panfrost: Remove inputs->blend.rt

  • panfrost: Remove unused inputs.nr_cbufs

  • pan/bi: Only lower once

  • pan/mdg: Only lower once

  • pan/bi: Split out early preprocessing from late

  • pan/mdg: Split out early preprocessing from late

  • pan/lower_framebuffer: Only call for FS

  • pan/lower_framebuffer: Use nir_shader_instructions_pass

  • pan/blit: Lower load_sampler_lod_parameters_pan

  • panfrost: Preprocess shaders in the driver

  • pan/lower_framebuffer: Lower MSAA blend shaders

  • panfrost: Lower clip_fs late

  • panfrost: Lower texcoords late

  • panfrost: Effectively lower gl_FragColor late

  • panfrost: Preprocess shaders at CSO create time

  • panfrost: Remove stale TODO

  • panvk: Lower sysvals in NIR

  • panvk: Don’t use vec4 for vertex_instance_offsets

  • panvk: Inline blend constants as syvals

  • panfrost: Add NIR-based sysval lowering pass

  • panfrost: Lower sysvals in GL

  • panfrost: Move sysvals to GL driver struct

  • panvk: Remove unused function

  • panfrost: Move panfrost_sysvals to GL driver

  • pan/bi: Export bifrost_nir_lower_load_output

  • pan/bi: Call pan_nir_lower_zs_store late

  • panvk: Lower blending late

  • panfrost: Remove Midgard RSD fields from Bifrost

  • asahi: Convert to SPDX headers

  • mesa/st: Only set seamless for GLES3

  • mesa/st: Normalize wrap modes for seamless cubes

  • asahi: Don’t lie about seamless cube maps

  • panfrost: Print perf debug when flushing everything

  • panfrost: Print perf debug on seqnum overflow

  • panfrost: Don’t redundantly call emit_const_buf

  • panfrost: Mark packs as ALWAYS_INLINE

  • panfrost: Don’t update access with a single batch

  • panfrost: Add a v9 fast path for no images

  • panfrost: Clean up tiler calculations

  • panfrost: Estimate vertex count for hier mask

  • panfrost: Choose hierarchy masks by vertex count

  • docs: Remove docs about macOS hardware drivers

  • nv50,nvc0: Use u_pipe_screen_get_param_defaults

  • panfrost: Always upload a workaround sampler

  • pan/{mdg,bi}: Always use sampler 0 for txf

  • panfrost: Unset TEXTURE_BUFFER_SAMPLERS

  • gallium: Remove PIPE_CAP_TEXTURE_BUFFER_SAMPLER

  • docs/gallium: Note samplers are not used for txf

  • nir/print: Don’t print sampler_index for txf

  • asahi: Support more renderable formats

  • agx: DCE even with noopt

  • agx: Assert that we don’t overflow registers

  • agx: Constify agx_{read,write}_registers

  • agx: Don’t allow uniform source to local_atomic

  • agx: Don’t destroy usub_sat with constant

  • asahi: Add perf debug for generate_mipmap

  • asahi: Add perf debug for shader variants

  • agx: Set loads_varying accurately

  • agx: Add helper for calculating occupancy

  • asahi/decode: Remove agxdecode_dump_bo

  • asahi/decode: Print VDM barriers

  • asahi: Set PIPE_CAP_LOAD_CONSTBUF

  • agx: Coalesce more collects

  • agx: Don’t overallocate registers

  • asahi: Honour sampler count

  • asahi: Implement null textures

  • asahi: Lower 1D to 2D

  • asahi: Dirty track depth bias uploads

  • asahi: Clamp texture buffer sizes

  • agx: Tease apart some sample_mask packing magic

  • agx: Rename writeout to wait_pix

  • agx: Make signal_pix instructions explicit

  • vulkan: Add common features2_to_features

  • radv: Use vk_features2_to_features

  • v3dv: Use vk_features2_to_features

  • lavapipe: Use vk_features2_to_features

  • pvr: Use vk_features2_to_features

  • anv,hasvk: Use vk_features2_to_features

  • tu: Use vk_features2_to_features

  • nir: Combine if_uses with instruction uses

  • nir/opt_ray_queries: Don’t use list_length

  • nir/opt_loop_unroll: Avoid list_length

  • nir: Remove 2nd argument from nir_before_src

  • nir/validate: Don’t treat if-uses specially

  • dxil: Avoid list_length

  • nir: Reduce indirection

  • nir: Factor out nir_src_rewrite_ssa helper

  • nir: Use nir_src_rewrite_ssa

  • dxil: Use nir_src_rewrite_ssa

  • nir: Remove nir_if_rewrite_condition_ssa

  • nir/repair_ssa: Refactor some use handling

  • nir/validate: Only walk uses once

  • mailmap: Update my e-mail

  • panfrost: Symlink gallium .clang-format to common

  • panfrost/winsys: Add .clang-format for winsys folder

  • panfrost/winsys: Clang-format

  • pan/decode: Move comment out of designated initializer

  • panfrost: Re-run clang-format

  • panvk: Clang-format

  • ci: Run clang-format on panfrost

  • mesa/st: Set uses_sample_shading when forcing per-sample

  • nir/lower_blend: Set uses_fbfetch_output conservatively

  • nir/lower_blend: Enable per-sample shading

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

  • pan/bi: Respect swizzles for more vector ops

  • pan/bi: Use nir_lower_mem_access_bit_sizes

  • panfrost: Allocate shared memory in OpenCL

  • pan/decode: Print compute job payloads

  • asahi: Fix disk cache disable with AGX_MESA_DEBUG

Amber (15):

  • util/u_trace: pass utrace context to marker functions.

  • freedreno: add support for markers.

  • ir3, isaspec: add raw instruction to assembler/disassembler.

  • ir3: support texture and sampler index with offsets

  • nir: support lowering nir_intrinsic_image_samples to a constant load

  • ir3: use lower_image_samples_to_one

  • intel/compiler: use lower_image_samples_to_one

  • freedreno: make sure depth/stencil layouts are always tiled

  • freedreno: use A6XX_GRAS_SC_CNTL_SINGLE_PRIM_MODE with fb readback

  • gallium: make BlendCoherent usable from gallium drivers

  • freedreno: use blendcoherent to set FLUSH_PER_OVERLAP

  • freedreno: check for conditional rendering in launch_grid

  • nir: allow nir_lower_fb_read to support multiple render targets

  • nir: Add memory coherency information to shaders.

  • freedreno, nir, ir3: implement GL_EXT_shader_framebuffer_fetch

Andres Calderon Jaramillo (1):

  • r600: Report multi-plane formats as unsupported

André Almeida (2):

  • radv: Implement vk.check_status

  • winsys/amdgpu: Fix amdgpu_cs_query_reset_state2 error log

Antonio Gomes (11):

  • rusticl: Enabling reading/writing for images created from buffers

  • rusticl: Enabling image fill for images created from buffers

  • rusticl: Enable copy for images created from buffers

  • rusticl: Enable mapImage for images created from buffers

  • gallium, rusticl: Add tex2d_from_buf in image_view and sampler_view

  • mesa/st, nine, nouveau: Fix uninitialized pipe_sampler_view structs

  • lvmpipe/cs: Add support for 2d images created from buffers

  • gallium: Add new caps PIPE_CAP_LINEAR_IMAGE_(PITCH_ALIGNMENT|BASE_ADDRESS_ALIGNMENT)

  • rusticl: Implement spec for cl_khr_image2d_from_buffer

  • llvmpipe: Add new caps PIPE_CAP_LINEAR_IMAGE_(PITCH_ALIGNMENT|BASE_ADDRESS_ALIGNMENT)

  • iris: Add support for 2d images created from buffers

Anuj Phogat (3):

  • anv: implement TES distribution mode WA 22012785325

  • iris: implement TES distribution mode WA 22012785325

  • intel/genxml/125: Add preferred SLM allocation size field

Asahi Lina (43):

  • asahi: Split off common BO code into its own file

  • asahi: Split off macOS support into its own file

  • asahi: Refuse to transfer out-of-bounds mip levels

  • meson: Fix Asahi build on macOS

  • asahi: Fix shader key cloning overreads

  • asahi: Do not use memctx for pools / meta cache

  • asahi: Drop agx_device.memctx

  • asahi: Only apply FS lowerings to fragment shaders

  • asahi: Add BO_SHAREABLE flag

  • asahi: Add readonly BO flag

  • asahi: Identify USC cache invalidate

  • asahi: Flush USC caches on the first draw

  • asahi: Drop macOS backend

  • asahi: Add nocluster,sync,stats debug flags

  • asahi: Align device submission API with upcoming UAPI

  • asahi: Implement Linux driver scaffolding, sans UAPI

  • asahi: Add APIs for DMA-BUF sync file import/export

  • asahi: Add agx_debug_fault() helper

  • asahi: Add result buffer to context/batches

  • asahi: Add agx_bo_mmap() calls to transfer path

  • asahi: Pull device name from device struct

  • asahi: Do not overread user index buffers

  • asahi: Fix scissor culling check when out of bounds for FB/viewport

  • asahi: Fix device fd leak in agx_close_device

  • asahi: Destroy the renderonly context on screen destroy

  • asahi: clang-format the world again

  • asahi: Assert on TIB strides > 64

  • asahi: Support importing sync objects on BO export

  • asahi: Make agx_flush_resource reallocate non-shareable resources

  • asahi: Extend batch tracking for explicit sync

  • Revert “asahi: Advertise dual-source blending”

  • asahi: Make agx_alloc_staging() take a screen instead of a context

  • asahi: Enable glthread

  • asahi: Locate low VA BOs correctly

  • asahi: Fix style nits

  • asahi: Implement valid buffer range tracking

  • asahi: Make BO import path failures more robust

  • asahi: Add a helper macro for debug/error messages

  • asahi: Add resource debugging

  • asahi: Print reasons why compression is disabled

  • asahi: Fix compressed ZS support

  • asahi: Flip kmsro around to allocate on the GPU

  • asahi: Allow explicit non-LINEAR modifiers for scanout

Axel Davy (1):

  • frontend/nine: Fix num_textures count

Bas Nieuwenhuizen (26):

  • aco: Pass correct number of coords to Vega 1D LOD instruction.

  • radv: Strictly limit alignment needed within a descriptor set.

  • radv: Reduce descriptor pool allocation for alignment.

  • radv: Set FDCC_CONTROL SAMPLE_MASK_TRACKER_WATERMARK

  • radv: Shift left the tile swizzle more on GFX11.

  • nir: Apply a maximum stack depth to avoid stack overflows.

  • radv: Add helper to hash stages.

  • radv: Hash group handles as part of RT pipeline key.

  • radv: Use provided handles for switch cases in RT shaders.

  • radv: Use group handles based on shader hashes.

  • radv: Implement & expose VK_EXT_pipeline_library_group_handles.

  • Update my mailmap aliases

  • ac/surface,radv: Avoid pitch weirdness if image not used for rendertarget.

  • ac/surface: Only allow stencil pitch adjustment for mipmaps.

  • ac/surface,radv: Opt out of stencil adjust.

  • util: Add aligned int64_t types for x86(non 64).

  • util/disk_cache: Align atomic size.

  • radv: Align atomic values.

  • radv: Reserve space in framebuffer emission.

  • radv: Reserve space in various streamout functions.

  • radv: Reserve space in conditional rendering functions.

  • radv: Reserve space in si_cs_emit_cache_flush.

  • radv: Reserve space for updating DCC metadata.

  • radv: Reserve space for fast clear related writes.

  • radv: Reserve space for indirect descriptor set address writes.

  • radv: Move all the dirty flags from TES binding to TCS binding.

Benjamin Cheng (1):

  • radv: initialize cmd_buffer upload list earlier

Boyuan Zhang (6):

  • radeonsi/vcn: check fence before destroying dpb

  • radeonsi/vcn: check fence before destroying decoder

  • radeonsi/vcn: validate fence handle before using it

  • virgl/video: disable decoder fence

  • virgl: add more formats to conv table

  • frontends/va: check decoder in va surface call

Brian Paul (9):

  • anv: add a third memory type for LLC configuration

  • llvmpipe: do additional checks in lp_state_fs_analysis.c for linear shaders

  • llvmpipe: remove debug printf spam in lp_setup_wait_empty_scene()

  • gallium/xlib: call fence_finish() in XMesaSwapBuffers()

  • llvmpipe: fix ps invocations query bug

  • llvmpipe: rename some vars related to occlusion query and ps invocations

  • llvmpipe: s/tabs/spaces/

  • llvmpipe: s/unsigned/enum pipe_query_type/

  • llvmpipe: clean-up llvmpipe_get_query_result()

Błażej Szczygieł (1):

  • glx: Fix glXGetFBConfigFromVisualSGIX

Caio Oliveira (26):

  • glsl: Account for unsized arrays in NIR linker

  • hasvk: Update driver name in debug information

  • intel: Add extra zeros at the end of debug identifiers

  • iris, crocus: Align workaround address to 32B

  • anv, hasvk: Align workaround address to 32B

  • nir: Add nir_intrinsic_rotate

  • nir/lower_subgroups: Add option lower_rotate_to_shuffle

  • spirv: Implement SPV_KHR_subgroup_rotate

  • nir: Support use_scoped_barrier in nir_lower_atomics_to_ssbo

  • microsoft/compiler: Handle scoped barrier in Tess splitting

  • gallivm: Fix handling of nir_intrinsic_scoped_barrier

  • glsl: Implement use_scoped_barrier option for lowering memory barriers

  • intel/compiler: Mark various memory barriers intrinsics unreachable

  • pan/compiler: Fix handling of nir_intrinsic_scoped_barrier

  • pan/midgard: Handle nir_intrinsic_scoped_barrier in Midgard compiler

  • panfrost: Use NIR scoped barriers instead of memory barriers

  • spirv: Don’t specify nir_var_uniform or nir_var_mem_ubo in barriers

  • spirv/tests: Subclass spirv_test helper to namespace the tests

  • spirv/tests: Add script to generate C array from SPIR-V source

  • spirv/tests: Parametrize stage in get_nir() helper

  • spirv/tests: Add some basic control flow tests

  • spirv: Add skip_os_break_in_debug_build option to use in unit tests

  • intel/fs: Handle scoped barriers with execution scope

  • intel/vec4: Handle scoped barriers with execution scope

  • intel/compiler: Drop brw_nir_lower_scoped_barriers

  • intel/compiler: Drop non-scoped barrier handling

Caleb Cornett (6):

  • d3d12: Lower minimum supported Shader Model to 6.0

  • futex: Change INT_MAX to INT32_MAX.

  • util: Add #ifdefs for Xbox GDK support.

  • dxil_validator: Add support for Xbox GDK.

  • wgl: Add support for Xbox GDK.

  • d3d12: Add support for Xbox GDK.

Charlie Birks (1):

  • docs: add a few vulkan extensions supported by multiple drivers

Charmaine Lee (5):

  • svga: fix resource_get_handle from resource created without SHARED bind flag

  • svga: fix compatible formats for shareable surfaces

  • svga: use upload buffer if texture has pending changes

  • translate: do not clamp element index in generic_run

  • svga: set PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY for VGPU10 device

Chia-I Wu (38):

  • turnip: replace TU_DEBUG_DONT_CARE_AS_LOAD by a bool

  • turnip: make debug_flags a global variable

  • freedreno: add has_implicit_modifier helper

  • freedreno: support UBWC scanout

  • turnip: add a comment to tu_format_for_aspect

  • turnip: move a comment about FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8

  • turnip: remove tu_native_format::tile_mode

  • turnip: make tu6_format_*_supported static

  • turnip: let tu6_format_vtx* take pipe format

  • turnip: add blit_format_texture

  • turnip: add blit_format_color and blit_base_format

  • turnip: handle ubwc in blit_base_format

  • turnip: reorder tu6_format_*

  • freedreno/registers: correct WFM bit in CP_REG_TEST

  • turnip: add a comment to tu_render_pass_cond_config

  • turnip: skip unnecessary CP_REG_TEST for cond load/store

  • freedreno/registers: document more bits of CP_REG_TEST

  • freedreno: avoid conditional ib in fd6_emit_tile

  • radv: fix a hang with binning on CHIP_RENOIR

  • turnip: fix a major leak with GPL LTO

  • turnip: fix a null descriptor set dereference

  • turnip: avoid FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8 for event blits

  • radv: add a size check in radv_create_buffer for Android

  • util/log: refactor mesa_log

  • util/log: allow multiple loggers

  • util/log: improve logger_file newline handling

  • util/log: improve logger_android

  • util/log: add logger_syslog

  • util/log: add support for MESA_LOG_FILE

  • util/log: add logger_windbg

  • mesa: add missing newlines for _mesa_debug/_mesa_log callers

  • mesa: use mesa_log from output_if_debug

  • anv: process utrace payloads on queue submission

  • ci/radv: remove dEQP-VK.image.sample_texture.* fails/flakes

  • radv: set RADEON_FLAG_GTT_WC for external mem on vram

  • radv: rework radv_layout_fmask_compressed

  • radv: add RADV_FMASK_COMPRESSION_PARTIAL

  • radv: disable tc_compatible_cmask on GFX9 in some cases

Christian Gmeiner (1):

  • etnaviv: nir: use lower_fround_even

Collabora’s Gfx CI Team (3):

  • Uprev Piglit to 60e7f0586bac0cfcfcb5871046e31ca2057a5117

  • Uprev Piglit to 2391a83d1639a7ab7bbea02853b922878687b0e5

  • Uprev Piglit to 355ad6bcb2cb3d9e030b7c6eef2b076b0dfb4d63

Connor Abbott (12):

  • freedreno/a6xx: Rename CP_CSQ_IB*_STAT

  • freedreno/a6xx: Add CP_ROQ_*_STAT

  • freedreno/a6xx: Fix CP_ROQ_THRESHOLDS_1

  • freedreno/a6xx: Fill in ROQ status registers

  • freedreno/crashdec: Fix apparent off-by-one with ROQ size

  • freedreno/crashdec: Add prefetch test

  • tu: Fix tile_align_h on a650

  • freedreno: Fix or/and’ing two BitmaskEnums

  • tu: Use vk_pipeline_get_renderpass_flags()

  • vk/render_pass: Support VK_EXT_fragment_density_map

  • nir, spirv: Add support for VK_EXT_fragment_density_map

  • tu: Don’t override depth for GMEM

Constantine Shablya (12):

  • anv: handle ATTACHMENT_OPTIMAL layout

  • anv: use Vulkan runtime’s robust buffer access

  • hasvk: use Vulkan runtime’s robust buffer access

  • anv,hasvk: flush what UNIFORM_READ flushes on SHADER_READ

  • vulkan: relocate rmv to its correct home

  • vulkan: tidy up vk_physical_device_features

  • vulkan: delete trailing namespace

  • vulkan: add hepler for vkGetPhysicalDeviceFeatures2

  • vulkan: use vk_features for vk_device::enabled_features

  • anv: use vk_get_physical_device_features

  • vulkan: fix building with python3.8

  • vulkan: depend idep_vulkan_runtime_headers on vk_physical_device_features.h

Corentin Noël (12):

  • ci/venus: Remove failure now passing

  • kopper: Do not free the given screen in initScreen implementation

  • ci: uprev virglrenderer

  • ci/venus: Skip tests risking out of memory issues

  • ci: uprev virglrenderer and crosvm

  • ci: Setup XDG_RUNTIME_DIR in crosvm-init

  • ci: Allow to use crosvm-runner before deqp-runner

  • ci: Uprev crosvm and virglrenderer

  • venus/ci: Only run one crosvm instance

  • mesa: OpenGL ES 3.0 requires EXT_instanced_arrays

  • glapi: Make EXT_draw_instanced functions available for GLES 2.0

  • mesa: Add EXT_instanced_arrays support

Daniel Schürmann (82):

  • radv: CSE ray_launch_{size|id}

  • radv: rename shader_info->cs.uses_sbt -> shader_info->cs.is_rt_shader

  • radv: unconditionally enable scratch for RT shaders

  • radv/rt: introduce and set rt_pipeline->stack_size

  • radv/rt: use dynamic_callable_stack_base also for static stack_sizes

  • radv/rt: don’t hash maxPipelineRayRecursionDepth

  • nir: add Continue Construct to nir_loop

  • nir: add assertions that loops don’t have a Continue Construct

  • nir: create nir_push_continue() and related helpers

  • nir: add lowering for Loop Continue Constructs

  • spirv: use Loop Continue Construct to emit SPIR-V loops and lower after parsing

  • nir/lower_continue_constructs: special-case Continue Constructs with zero or one predecessors

  • nir/lower_continue_targets: only repair SSA when necessary

  • nir: simplify nir_block_cf_tree_{next|prev}

  • radv/rt: rename library_pipeline->groups to library_pipeline->group_infos

  • radv/rt: defer library_pipeline allocation

  • radv/rt: introduce struct radv_ray_tracing_module

  • radv/rt: move stack_sizes into radv_ray_tracing_module

  • radv/rt: only reserve stack_sizes after rt_case insertion

  • radv: expose radv_postprocess_nir()

  • radv: expose radv_pipeline_capture_shaders()

  • radv/rt: introduce and use radv_rt_pipeline_compile()

  • radv: remove unused parameters from radv_compute_pipeline_compile()

  • radv/rt: move radv_pipeline_key from rt_variables to traversal_data

  • nir/gather_info: allow terminate() in non-PS

  • aco: fix NIR infinite loops

  • radv/rt: use terminate() when returning from raygen shaders

  • aco/dominance: set immediate dominator for any BB without predecessors

  • aco/value_numbering: clear hashmap between disconnected CFGs

  • aco/dead_code_analysis: don’t add artificial uses to p_startpgm

  • aco/insert_exec_mask: allow for disconnected CFG

  • aco/spill: allow for disconnected CFG

  • radv/rt: place any-hit scratch vars after intersection scratch vars

  • radv/rt: Fix any_hit scratch variables.

  • mesa: add gl_shader_stage_is_rt()

  • radv: add RT shader args

  • radv: handle RT stages in radv_nir_shader_info_pass()

  • radv: add RT stages to radv_get_shader_name()

  • radv: add RT shader handling to radv_postprocess_config

  • aco: add RT stage enums

  • aco: don’t set private_segment_buffer/scratch_offset on GFX9+

  • aco: move rt_dynamic_callable_stack_base_amd to VGPR

  • aco: implement load_ray_launch_{id|size}

  • aco: create hw_init_scratch() function for p_init_scratch lowering

  • aco: implement select_rt_prolog()

  • radv: add radv_create_rt_prolog()

  • radv: compile rt_prolog

  • radv/rt: use prolog for raytracing shaders

  • aco: remove aco::rt_stack variable

  • radv: remove unused parameter from radv_open_rtld_binary()

  • radv: separate radv_postprocess_binary_config() from radv_shader_create()

  • radv: remove unnecessary copy of binary->config

  • radv: inline radv_postprocess_config()

  • radv: separate radv_capture_shader_executable_info() from radv_shader_create()

  • radv: move gl_shader_stage from radv_binary to radv_shader_info

  • radv: remove radv_create_gs_copy_shader()

  • radv: refactor shader_compile()

  • radv: skip pipeline caching with RADV_DEBUG=shaders

  • radv: fix radv_shader_binary member fields to 32 bit.

  • radv/rt: Fix VK_KHR_pipeline_executable_properties

  • aco: split ps_epilog args before exporting them

  • aco/ra: adjust_max_used_regs() for fixed Operands

  • aco: don’t use shared VGPRs for shaders consisting of multiple binaries

  • radv: update PS num_vgprs in case of epilogs rather than overallocating VGPRs

  • vulkan/pipeline_cache: remove vk_device from vk_pipeline_cache_object

  • vulkan/pipeline_cache: Don’t re-insert disk-cache hits into disk-cache

  • vulkan/pipeline_cache: implement vk_pipeline_cache_create_and_insert_object()

  • vulkan/pipeline_cache: use vk_pipeline_cache_create_and_insert_object() during vk_pipeline_cache_load()

  • vulkan/pipeline_cache: add cache parameter to deserialize() function

  • vulkan/pipeline_cache: move vk_log on failed deserialization to vk_pipeline_cache_load()

  • radv: derive struct radv_shader from vk_pipeline_cache_object

  • radv: unconditionally store the binary code in radv_shader

  • radv: add radv_shader_serialize() and radv_shader_deserialize() functions

  • radv: add struct radv_pipeline_cache_object

  • radv: implement radv_shader_create_cached()

  • radv: use vk_pipeline_cache

  • radv: clean up pipeline-cache interface

  • radv/ci: add 2 more Flakes for Navi21

  • radv/rt: fix total stack size computation

  • radv/rt: properly destroy radv_ray_tracing_lib_pipeline on error

  • vulkan/pipeline_cache: replace raw data objects on cache insertion of real objects

  • radv: add padding to radv_shader_binary_legacy

Daniel Stone (18):

  • ci/fdno: Only run full tests on a limited subset of machines

  • ci/radv: Skip vkCreateInstance memory-fail test

  • ci/anv: Temporarily halve TGL testing load

  • intel/isl: Don’t scream FINISHME into logs for 3D vs. CCS

  • ci/radv: Drop raven quick_shader load

  • ci/fdno: Add a618 Vulkan flakes

  • ci/zink: Add flake seen in the wild

  • ci/radv: Lower stoney CTS load

  • ci/android: Use a more aggressive timeout for the job

  • ci: Actually run Piglit on LAVA

  • ci: Disable Collabora LAVA farm

  • Revert “ci: Disable Collabora LAVA farm”

  • CI: Disable Windows runners

  • CI: Disable mingw job

  • ci/panfrost: Add texturesize flake seen in the wild

  • CI: Disable freedreno

  • ci/radeonsi: sort and dedup stoney skips

  • ci/radeonsi: Skip really slow tests on stoney

Danylo Piliaiev (52):

  • tu/kgsl: do not use kgsl_command_object::offset

  • tu: Prevent using stale value of RB_UNKNOWN_88D0 on BLIT

  • tu: Prevent using stale value of GRAS_SC_CNTL in sysmem clear

  • freedreno: Document A6XX_GRAS_SC_CNTL::rotation field

  • turnip: Ensure that there is no renderpass rotation in binning

  • turnip: Disable draw states after dyn renderpass in all cases

  • ir3: Consider dst type in ubo_vec4 to ldc lowering

  • tu: Don’t expose KHR_present_id,KHR_present_wait without KHR_swapchain

  • turnip: Add debug option to find usage of stale reg values

  • docs/freedreno: Add info about stale reg stomper dbg option

  • ci/tu: Add 1/200 pass to test for stale reg usage

  • ir3: Add cat5/cat7 cache related instructions

  • ir3: Add cat7 sleep instruction

  • freedreno/register: Define chip enum values

  • util/perf: C++-proof util/perf

  • util/format: Make format_table compatible with C++

  • spirv: sort spirv_supported_capabilities

  • vk/vk_extension_gen: Make table struct initializable in C++ on older gcc

  • vk/wsi: C++-proof wsi_common_drm.h

  • vk/util: remove (void *) casts from vk_foreach_multi_draw macros

  • vk/util: Generate defines to help casting structs with vk_find_struct

  • freedreno/common: C++-proof freedreno_uuid.h

  • ir3: C++-proofing

  • tu: C++-proofing: fix offsetof with dynamic array index

  • tu: C++-proofing: fix struct initializers

  • tu: C++-proofing: various enum fixes

  • tu: C++-proof: do not goto over variables initialization

  • tu: C++-proofing: fix designator initializer order

  • tu: C++-proofing: fix extension table initialization

  • tu: C++-proofing: Initialize tu_reg_value in-order by pack funcs

  • tu: C++-proofing: fix casting from void * fpermissive warnings

  • tu: C++-proofing: ease access to global bo struct

  • tu: C++-proofing: prevent taking address from rvalue

  • tu: C++-proofing: cast result when extracting field from reg value

  • tu: C++-proofing: misc fixes

  • freedreno/msm: Rename drm_msm_gem_submit_reloc::or in C++ code

  • tu: compile as C++

  • vk/entry_points: Add option to generate template entrypoints

  • freedreno/regs: Include assert.h in generated headers

  • tu: Generate entrypoints for each gen

  • turnip: add cached and cached-coherent memory types

  • tu/drm: Support cached non-coherent memory

  • freedreno/registers: Document new CP_EVENT_WRITE::SEQNO

  • freedreno/registers: More a7xx regs

  • freedreno/computerator: C++ proofing

  • freedreno: C++ fixes for computerator to compile

  • freedreno/computerator: Convert to C++

  • freedreno: Move fd6_pack.h to common code accessible by computerator

  • freedreno: Add dummy a730/a740 definition

  • freedreno/computerator: Templatize a6xx backend

  • freedreno/computerator: Add support for a7xx

  • vulkan: Sanitize pSampleMask in CmdSetSampleMaskEXT

Dave Airlie (37):

  • ci: bump vk cts to 1.3.3.1 + and a crash fix.

  • vulkan/video: add common h264/h265 parameter set management code.

  • vulkan/format: add a 10-bit video format

  • radv: remove the status query mark it unsupported.

  • radv: add new upload alloc aligned api

  • ac: add name to codec info struct

  • radv: adding video decode queue support

  • radv: add video decoder register setup.

  • radv/video: add initial frameworking.

  • radv/video: add initial h264 decoder for VCN

  • radv/video: add h264 support for uvd

  • radv: add vcn h265 decode.

  • radv/video: add h265 decode UVD support

  • radv/vcn: enable dynamic dpb tier 2 for h264/h265 on navi21+

  • anv: add video engine support in various places

  • anv: set Y/4 tiling for video decode images

  • anv: add video format features for the one supported video output format

  • anv/format: handle video extensions structs by ignoring them

  • intel/genxml: align some of the fields with the media driver

  • intel/genxml: add missing power well control bits

  • anv/image: allocate some memory for mv storage after video images.

  • anv: add initial video decode support for h264.

  • anv/query: add query status report

  • anv: enable video decode extensions.

  • anv/video: fix video memory bindings.

  • crocus: disable Y tiling for render targets properly.

  • crocus: switch gen4/5 tiling flags to follow suggestions.

  • llvmpipe: fix compute address bits to return native pointer size.

  • anv: always pick graphics queue to execute prime blits on.

  • radv: add video format support to format probing.

  • anv/video: fix chroma qp to be a integer value.

  • anv/video: disable picture id reampping.

  • anv: fix image height for field pictures.

  • radv/video: fix h264 frame heights when field images are in use

  • radv/video: fix used for reference flags.

  • radv/video: fix h265 decoding sizes.

  • radv/trace: don’t attempt to emit trace on non-graphics/compute queues

David (Ming Qiang) Wu (1):

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

David Heidelberg (73):

  • ci/zink: Penumbra is now fixed.

  • freedreno/ci: Switch also performance a630 job to manual

  • ci/anv: add multiple fails uncovered by change of sharding

  • ci/intel: fully utilize asus-cx9400-volteer

  • ci/piglit: explicitely define we want GLX tests

  • ci: migrate from wget to curl

  • ci/piglit: 2023-01-19 uprev

  • ci: bump ci-fairy with session support (robust downloads)

  • ci: Sir trace has small invisible change in rendering

  • ci: bump Mold to the 1.10.0

  • ci: uprev piglit (etag md5 checksumming support)

  • ci/lavapipe: use dxvk for the traces

  • ci: revert download of git cache to the wget

  • ci/llvmpipe: add flake timeout for rusticl program@execute@builtin@builtin-float-sincos-1.0

  • util/process_test: make the error variable static

  • intel: enable -mfpmath=sse on x86

  • intel: use c_see2_arg instead of explicit -msse2

  • ci/freedreno: add flaking KHR-GL45.buffer_storage.map_persistent_dispatch

  • meson: print c_cpp_args

  • intel/vulkan: add missing dependency on generated headers

  • ci/freedreno: add flaking KHR-GL45.buffer_storage.map_persistent_flush

  • ci/alpine: keep the curl inside the image

  • ci: alpine: install bash and coreutils for date -d

  • ci: implement unified sections

  • ci: make meson build and test uncollapsed

  • ci: deqp-runner: drop already unused function

  • ci: Retry, retry, retry… No one likes to trigger Marge more than once.

  • ci/zink: add skip for the Single-GL46.enhanced_layouts.ssb_member_align_non_power_of_2

  • ci/lavapipe: add recent occasional flake

  • ci/freedreno: rare flake KHR-GL45.sample_variables.mask.rgba8i.samples_4.mask_3

  • crocus/meson: add dependency on libintel_dev also for versioned static libraries

  • ci/ci_run_n_monitor: while we usually disable many jobs, print them inline

  • ci: do not exit when an error happens inside the section

  • ci/lavapipe: fixes typo

  • ci/zink: fixup the zink-lvp job

  • ci: disable mesa-swrast runner jobs

  • ci/lava: implement the priority

  • ci/weston: before testing, verify that XWayland is really running

  • ci/weston: add background PID

  • ci: add and utilize dalboz devices

  • ci/amd: move skqp and va jobs on raven from XOrg to the XWayland

  • ci/panfrost: correct the job name, as it runs on gles2

  • ci/lava: every LAVA job doesn’t want to run gles2 deqp, drop it

  • ci: build Wayland support for the amd64

  • ci/iris: update apl and glk expectations, after enabling Wayland support

  • ci/clover: disable the jobs

  • ci/traces: disable nheko trace with zink since it flakes

  • ci/freedreno: add recent occasional flakes

  • ci/traces: add two skips due to flakes

  • ci/intel: add dEQP-EGL.functional.wide_color.window_fp16_default_colorspace flake

  • ci: distribute XDG_RUNTIME_DIR with setup-test-env script

  • ci: disable weston session timeout for llvmpipe

  • meson: implement quirk for the compilation under armv7 GCC with LTO

  • aco: drop leftover variable

  • ci: bump Alpine to 3.17 (again)

  • ci/freedreno: do not build tools executables without explicitly enabling them

  • freedreno/decode: fix possible overflow

  • ci: rename .lava-test to .lava-test-deqp to describe it correctly

  • ci: create lava-test without deqp HWCI_TEST_SCRIPT

  • ci: remove deqp from lava piglit and traces runs

  • ci/freedreno: split deqp from other jobs

  • ci/freedreno: define Google farm specific includes

  • ci/freedreno: Make traces work on LAVA caching proxy

  • ci/broadcom: test occasionally fails, but typically passes

  • ci: disable lima farm, currently out-of-space, needs to be fixed

  • ci: implement sections for cuttlefish

  • ci/v3d: add flaking spec@ext_framebuffer_blit@fbo-sys-blit

  • Revert “mesa: Enable NV_texture_barrier in GLES2+”

  • ci/amd: update device status

  • ci/amd: raven is currently downgraded to 2 machines only, adapt

  • ci/amd: add draw.dynamic_rendering flake

  • ci/freedreno: fix the a530_piglit job and switch to Weston

  • panvk: clear dangling pointers

David Redondo (1):

  • egl/wayland: fix oob buffer access during buffer_fds clean up

David Rosca (2):

  • frontents/va: Use PIPE_USAGE_STAGING for coded buffer

  • frontends/va: Map VAEncCodedBufferType buffer as PIPE_MAP_READ

Dmitry Baryshkov (2):

  • freedreno/a5xx: reorder GPMU registers

  • freedreno/a5xx: add SP clock control register

Dmitry Osipenko (6):

  • util/cache_test: Unset env vars left after Cache.List test

  • util/mesa-db: Don’t account header size

  • util/mesa-db: Support removal of cache entries

  • util/cache_test: Remove dummy cache entry added by cache_exists()

  • util/mesa-db: Introduce multipart mesa-db cache

  • util/disk_cache: Switch to multipart mesa-db cache

Dylan Baker (38):

  • VERSION: bump to 23.1.0-devel for further development

  • docs: reset new_features.txt

  • meson: bump minimum required version to meson 0.59

  • meson: replace has_exe_wrapper with can_run_host_binaries

  • meson: replace uses of ExternalProgram.path with .full_path

  • meson: drop meson < 0.54 workaround

  • meson: use a feature option for dri3

  • meson: use a feature option for gallium-vdpau

  • meson: use a feature option for gallium-va

  • meson: use a feature option for gallium-xa

  • meson: use a feature option for shader_cache

  • meson: use a feature option for shared-glapi

  • meson: use a feature option for gles1

  • meson: use a feature option for gles2

  • meson: use a feature option for gbm

  • meson: use a feature option for llvm

  • meson: use a feature option for valgrind

  • meson: use a feature option for libunwind

  • meson: use a feature option for lmsensors

  • meson: use a feature option for power8

  • meson: use a feature option for xlib-lease

  • meson: use a feature option for zstd

  • meson: use a feature option for egl

  • meson: use a feature option for shared-llvm

  • meson: Use feature option methods for xmlconfig

  • meson: remove version checks for < 0.59

  • meson: use builtin support for reading version from a file

  • meson: use [] instead of ‘lib for !windows name_prefix

  • meson: use the same workaround for setting ‘lib’ on windows

  • meson: combine checks for linker –gc-sections support

  • util: rzalloc and free hash_table_u64

  • iris: consider bufmgr creation to have failed if `dup`ing of the fd fails

  • intel/mi: use 64bit constant for bitshift

  • intel/dev: create a helper dependency for libintel_dev

  • docs: Add calendar entries for 23.0 release.

  • docs: add release notes for 23.0.0

  • docs: Add sha256 sum for 23.0.0

  • docs/relnotes: add 23.0.0 to relnotes.rst

Ella Stanforth (1):

  • v3dv: add support for multi-planar formats, enable YCbCr

Emma Anholt (211):

  • dri2: Fix exposing robustness with swkms.

  • ci/llvmpipe: Drop dEQP-EGL.functional.sharing.*.link.7 flakes.

  • ci/iris: Add known flakes for skqp.

  • ci/iris: Generalize the 8888_pbuffer EGL known flakes and share with GLK.

  • ci/zink: Add more blit conversion xfails for a618.

  • freedreno: Skip CPU/GPU timestamp sync when not supported.

  • ci/freedreno: Add glx-swap-event-async as a flake.

  • freedreno/pps: Fix a signed/unsigned complaint.

  • ci: Enable building the testing drivers with perfetto.

  • ci: Add some new folks to the restricted-traces access list.

  • Revert “nouveau/ci: temporary disable gk20a-gles”

  • ci/virgl: Disable iris traces for now while it’s unstable.

  • ci: Drop windowoverlap xfails, since it’s always skipped.

  • ci/zink: Drop xfail for copy-sub-buffer.

  • ci/zink: Drop glx-swap-copy xfails.

  • ci/zink: Clear issue #7781 flakes.

  • ci/freedreno: Switch the piglit job to using a deqp-runner suite.

  • ci: Move PIGLIT_PLATFORM settings out of the .tomls.

  • ci/piglit: Add some common piglit skips for Mesa CI’s testing of glx.

  • ci/piglit: Exclude swapbuffers front-readback tests with PIGLIT_PLATFORM=gbm.

  • zink: Fatal error if requesting validation and we fail to load the layer.

  • zink: Add missing Flat decorations on some inputs.

  • zink: Fix validation failure for maxLod < minLod.

  • zink: Fix up mismatches of memory model vs addressing model.

  • zink: Re-emit the SpvBuiltInSampleMask access chain each load.

  • ci/zink: Add coverage using the vulkan validation layer on lvp.

  • ci/zink: Update TGL full-run xfails.

  • ci/zink: Update radv xfails for the recent shadow fixes.

  • ci/freedreno: Mark max-texture-size as a flake.

  • ci: Move the performance jobs’ allow_failure:true to the gl rules.

  • ci: Add manual rules variations to disable irrelevant driver jobs.

  • freedreno: Don’t sync timestamps while perfetto isn’t running.

  • ci/zink: Disable Amnesia trace until the linked issue gets fixed.

  • ci/zink: Move the zink-anv-tgl manual full run to custom manual deps.

  • ci: Run our manual jobs during the nightly scheduled run.

  • ci: Fix perf jobs blocking Marge pipelines.

  • ci: Fix perf job condition.

  • ci: Drop the itoral-gl-terrain demo from traces.

  • tu: Mark tiling impossible if we couldn’t lay out gmem in the first place.

  • turnip: Optimize tile sizes to reduce the number of bins.

  • tu: Only emit the conditional gmem subpass resolves when gmem is possible.

  • turnip: Make the tiling-impossible case have an impossible tile layout.

  • gallivm: Optimize emit_read_invocation’s first-invocation loop.

  • gallivm: Refactor out a shared “get the first active invocation” loop.

  • gallivm: Return 0 first_active_invocation when we know that up front.

  • gallivm: Use cttz instead of a loop for first_active_invocation().

  • gallivm: Use first active invocation in some image/ssbo accesses.

  • ci/lvp: Drop the subgroupbroadcast skips.

  • llvmpipe: Enable LP_DEBUG on normal builds.

  • gallivm: Enable GALLIVM_DEBUG (mostly) on non-DEBUG builds.

  • gallivm: Fix the type of array nir_registers.

  • gallivm: Fix codegen performance for constant-index register array stores.

  • gallivm: Do the same codegen improvement for constant-index array loads.

  • ci/swrast: Drop skips for tests whose perf had been fixed.

  • ci/llvmpipe: Drop skip of InteractionFunctionCalls2.

  • ci/freedreno: Don’t forget to report flakes on a618, too.

  • u_trace: Add an interface for checking trace enablement outside a context.

  • zink: Add tracing of blit operations.

  • ci: Disable systems in my farm that haven’t recovered.

  • ci/zink: Update TGL full-run xfails.

  • ci/freedreno: Disable the a306_piglit_gl job.

  • ci/freedreno: Update a530 manual-run xfails.

  • ci/freedreno: Add an xfail for a618 VK full run.

  • ci/freedreno: Update a3xx piglit_shader xfails.

  • ci/nouveau: Disable the gm20b jobs entirely.

  • ci/radv: Update navi21 llvm xfails.

  • ci/crocus: Update HSW expectations.

  • ci/freedreno: Update manual-run xfails for a530.

  • Revert “freedreno/a5xx: Fix clip_mask”

  • ci/radv: Add a skip for navi21-llvm for a test that consistently timeouts.

  • ci/etnaviv: Drop stale xfails from gc7000.

  • ci/etnaviv: Update deqp xfails for gc2000.

  • egl/kopper: Add assert for no kopper in dri2_copy_region.

  • egl: Add a note explaining the swapBuffers badness in dri2_x11_copy_buffers().

  • egl/kopper: Use the kopper private interface for swapBuffers.

  • egl/kopper: Pass ancillary invalidate flush flags down to gallium.

  • ci: Add a manual full and 1/10th hasvk CTS runs.

  • hasvk: Silence conformance warning in CI.

  • hasvk: Fix SPIR-V warning about TF unsupported on gen7.

  • anv: Fix gfx8/9 VB range > 32bits workaround detection.

  • hasvk: Fix gfx8/9 VB range > 32bits workaround detection.

  • glsl: Drop the (v.x + v.y + v.z + v.w) -> dot(v, 1.0) optimization.

  • ci/etnaviv: Drop one more gc7000 xfail.

  • ci/freedreno: Drop a530 piglit_gl coverage.

  • ci/turnip: Drop the #8219 xfail.

  • ci/zink+turnip: Disable flaky minetest trace.

  • ci/hasvk: Add a synchronization flake.

  • ci: Fix stage of etnaviv manual runs.

  • ci/zink: Add a glx flake on anv

  • ci/crocus: Add new tess xfails and a link to the regression bug report.

  • ci/crocus: Mark unvanquished as flaky.

  • anv: Skip the RT flush when doing depth-only rendering.

  • anv: Skip BTI RT flush if we’re doing an op that doesn’t use render targets.

  • glsl/opt_algebraic: Drop ~~x == x transformation.

  • glsl/opt_algebraic: Drop log(exp(x)) -> x and exp(log(x)) -> x optimisations.

  • glsl/opt_algebraic: Drop pow-recognizer.

  • glsl/opt_algebraic: Drop abs(-x) -> abs(x) and abs(abs(x)) -> abs(x).

  • glsl/opt_algebraic: Drop -(-x) -> x optimization.

  • glsl/opt_algebraic: Drop f2i(trunc(x)) -> f2i(x) optimization.

  • glsl/opt_algebraic: drop fsat(fadd(b2f(x), b2f(y))) -> b2f(ior(x, y)) opt.

  • glsl/opt_algebraic: Drop shifts of 0 optimizations.

  • glsl/opt_algebraic: Drop pow optimizations.

  • glsl/opt_algebraic: Drop rcp optimizations.

  • glsl/opt_algebraic: Drop and/or/xor optimizations.

  • glsl/opt_algebraic: Drop fdiv(1,x) -> frcp(x) and fdiv(x,1) -> x optimizations.

  • glsl/opt_algebraic: Drop add/sub with 0 optimizations.

  • glsl/opt_algebraic: Drop x + -x -> 0 optimization.

  • glsl/opt_algebraic: Drop csel(true/false, x, y) optimization.

  • nir: Add optimization for fdot(x, 0) -> 0.

  • glsl/opt_algebraic: Drop fdot 0-channel optimizations.

  • glsl/opt_algebraic: Drop scalar all_eq/any_neq -> eq/neq opt.

  • glsl/opt_algebraic: Drop the eq/neq add-removal optimization.

  • glsl/opt_algebraic: Drop no-op pack/unpack optimization.

  • glsl/opt_algebraic: Drop the flrp/ffma simplifiers.

  • glsl/opt_algebraic: Drop some fmul simplifications.

  • nir: Port a floor->truncate algebraic opt pattern from GLSL.

  • glsl/opt_algebraic: Drop the ftrunc pattern recognizer.

  • glsl/opt_algebraic: Drop the flrp recognizer.

  • glsl: Remove unused as_rvalue_to_saturate().

  • ci: Update traces expectations for gutting glsl opt_algebraic.

  • panfrost/midgard: Fix handling of csel with a vector constant condition.

  • panfrost/midgard: Drop redundant arg to emit_explicit_constant.

  • glsl: Move lower_vector_insert to GLSL-to-NIR.

  • nir/split_64bit_vec3_and_vec4: Handle 64-bit matrix types.

  • gallivm: Return 0 for first active invocation when no invocations are active.

  • gallivm: Use first_active_invocation for ubo/kernel memory loads.

  • gallivm: Use first_active_invocation for scalar SSBO loads.

  • gallivm: Add some notes about other invocation_0_must_be_active usages.

  • ci: Add some xfail updates from VKCTS 1.3.5.0 for the manual jobs.

  • ci/etnaviv: Drop the dEQP-GLES2.functional.uniform_api.random.94 xfail.

  • anv+hasvk: Use driconf to disable 16-bit for zink.

  • zink: Pass the cmdbuf to the end of the marker, too.

  • Revert “ci: disable mesa-swrast runner jobs”

  • ci: Re-enable some swrast testing using fd.o’s shared runners for now.

  • glsl/nir: Include early glsl-to-nir output in NIR_DEBUG=print.

  • glsl_to_nir: Use a variable’s constant_value if it wasn’t const-propped out.

  • glsl: Delete constant propagation pass.

  • glsl: Delete constant folding pass.

  • glsl: Delete constant-variables pass.

  • ci: Update trace expectations for GLSL constant prop removal.

  • ci/zink: Update TGL xfails/flakes based on the last nightly pipelines.

  • ci/turnip: Extend a630 vk full timeout to 3 hours.

  • ci/iris: Add skips for slow tests on APL.

  • turnip: Don’t push inline uniform buffer contents outside constlen.

  • ci/turnip: Clear out stale xfails.

  • ci/turnip: Disable dEQP-VK.image.queue_transfer.* for now.

  • ci/turnip: Move some more of the 1.3.5 new xfails under links.

  • glsl: Simplify vector constructors from scalars.

  • glsl/lower_precision: Add a unit test that I thought we might fail at.

  • glsl/lower_precision: Add a cut-down testcase for #8124

  • glsl: Set the precisions of builtin function arguments and returns.

  • glsl: Handle highp promotion of builtin function args in the builtins.

  • glsl: Set the precision of function return value temporaries.

  • glsl/lower_precision: Drop most special-casing of builtin arg precision.

  • glsl: Fix the precision of atomic counter builtin function args.

  • glsl/lower_precision: Add actual spec quotes for “check_parameters”

  • nir/lower_mediump: Fix assertion about copy_deref lowering matching.

  • ci/iris: Update more manual job xfails from the Wayland build change.

  • ci/crocus: Update expectations from VK CTS 1.3.5.0.

  • ci/hasvk: Update some xfails from the 8-sample fast clear disable.

  • ci/etnaviv: Get the gc2000_piglit manual job mostly working.

  • glsl/standalone: Pull program create/destroy out to a public function.

  • glsl/standalone: Pull out a helper function for adding GLSL source shaders.

  • glsl/standalone: Make all standalone contexts have NewProgram set.

  • glsl: Write a new test for GLSL and NIR mediump lowering.

  • ci/crocus: Fix 1.3.5.0 xfails.

  • ci/etnaviv: Polish the gc2000 xfails a bit.

  • ci/zink: Update the tgl manual run xfails.

  • gallivm: Skip loads/stores that are definitely outside of compact vars.

  • nir/lower_sysvals: Add support for un-lowered tess_level_inner/outer.

  • nir_to_tgsi: Handle stores to compact outputs.

  • glsl: Delete the lower_tess_level pass.

  • glsl: Remove the TessLevel lowering special case from xfb.

  • glsl: Drop dead prototype.

  • ci/freedreno: Flake KHR-GL45.shader_image_load_store.basic-allTargets-store

  • ci/broadcom: Skip another texelfetch case.

  • perfetto: Add a .clang-format for the directory.

  • intel/perfetto: Drop unused “pipelined” field.

  • perfetto: Make a MesaRenderpassDataSource with common setup/start/stop.

  • perfetto: Deduplicate clock sync packet emit from renderstage sources.

  • perfetto: Move intel’s cmdbuf/queue annotation code to the shared util.

  • ci/zink: Drop validation exception for leaks at device destroy.

  • ci/zink: Disable godot-tps-gles3 on a630.

  • docs: Update Vulkan renderpass docs for !22191

  • ci: Add missing dependency on doxygen sources for docs-generation jobs.

  • docs: Claim less functionality for glsl_compiler.

  • glsl: Move ForceGLSLAbsSqrt handling to glsl-to-nir.

  • zink: Add mapping for nir_op_ldexp, but disable it for 64-bit’s sake.

  • glsl: Retire ldexp lowering in favor of the nir lowering flag.

  • glsl/softfp64: GC the temp vars after we lower them to SSA.

  • glsl/softfp64: Add fisfinite lowering.

  • state_tracker: Lower frexp before lowering doubles.

  • intel: Always call nir_lower_frexp.

  • ir3: Move turnip’s nir_lower_frexp to the shared compiler.

  • nouveau: Add missing nir_opt_algebraic_late.

  • nouveau: Enable frexp lowering in the backend.

  • zink: Enable nir_lower_frexp.

  • v3d: Lower frexp in the GL compiler like we do in Vulkan.

  • agx: Enable nir_lower_frexp.

  • panfrost/midgard: Enable nir_lower_frexp.

  • nir_to_tgsi: Always lower frexp_exp/sig.

  • glsl: Drop frontend lowering of 32-bit frexp.

  • glsl: Drop PIPE_SHADER_CAP_DFRACEXP_DLDEXP_SUPPORTED.

  • tgsi: Drop TGSI_OPCODE_DFRACEXP.

  • ci/zink: Disable a630 portal-2-v2 due to kernel OOMs.

  • etnaviv: Fix regression from if_uses change.

  • blob: Don’t valgrind assert for defined memory if we aren’t writing.

  • util/log: Fix log messages over 1024 characters.

  • vulkan: Handle alignment failure in the pipeline cache.

  • vulkan: Actually increment the count of objects in GetPipelineCacheData.

  • ci/radeonsi: Mark glx-make-current as flaky.

EmperorPenguin18 (1):

  • v3d: expose more drm formats with SAND128 modifier

Eric Engestrom (172):

  • bin/ci: add gitlab_gql.py.cache to the .gitignore

  • mesa/st: drop unused param

  • ci/bare-metal: add more timestamps to help debugging issues

  • ci: be explicit about the `meson setup` subcommand

  • docs: add release notes for 22.3.4

  • docs/relnotes: add sha256sum for 22.3.4

  • docs: update calendar for 22.3.4

  • meson: turn android-libbacktrace into a feature option

  • v3dv: mark dEQP-VK.api.command_buffers.record_many_draws_secondary_2 as flaky

  • ci/android: move common config to common job

  • ci/android: move virgl-specific gpu_mode to virgl-defined variables

  • ci/android: move virgl-specific fails/flakes/skips lists to virgl-defined variables

  • ci/android: move virgl-specific deqp suite to virgl-defined variables

  • ci/android: move virgl-specific so lib name to virgl-defined variables

  • ci/android: add missing line terminator at the end of the file

  • docs: add release notes for 22.3.5

  • docs: update calendar for 22.3.5

  • panfrost: drop no-longer-needed libglsl

  • gallium/u_screen.h: add missing stdint.h include

  • util: avoid calling kcmp on Android

  • etnaviv: use simple_mtx to avoid breaking windows in the next commit

  • gallium: move etnaviv screen_lookup_or_create function to common code

  • freedreno: replace custom code with u_pipe_screen_lookup_or_create()

  • lima: replace custom code with u_pipe_screen_lookup_or_create()

  • v3d: use u_pipe_screen_lookup_or_create() to keep track of and reuse screens

  • vc4: use u_pipe_screen_lookup_or_create() to keep track of and reuse screens

  • panfrost: use u_pipe_screen_lookup_or_create() to keep track of and reuse screens

  • asahi: use u_pipe_screen_lookup_or_create() to keep track of and reuse screens

  • u_pipe_screen_lookup_or_create: avoid re-querying the fd to have a consistent hash key

  • broadcom/ci: mark test as flaky

  • vk/util: keep track of extension requirements

  • vk/runtime: keep track of supported instance extensions

  • vk/runtime: turn vk.xml extension requirements into asserts

  • meson: move float64_glsl_file one meson.build up

  • meson: only build mapi when needed

  • meson: only build the loader when needed

  • meson: only build libglsl_util when needed

  • meson: only build glsl when needed

  • meson: drop `TODO: opengl`, it’s done

  • ci: simplify adding & removing deqp patches

  • ci: remove no-op sed

  • ci: fix grouping of image tags

  • ci: bump tags of deqp images

  • docs: add 23.1 branchpoint & rc dates

  • meson: make GLX require OpenGL

  • meson/windows: only build libgl-gdi for desktop gl

  • meson: allow building GLES without GL

  • mesa: add _mesa_is_desktop_gl_compat() and _mesa_is_desktop_gl_core() helpers

  • mesa: make use of the new _mesa_is_desktop_gl_compat() helper

  • mesa: make use of the new _mesa_is_desktop_gl_core() helper

  • mesa: make more use of the existing _mesa_is_gles* helpers

  • mesa: add & use new _mesa_is_gles1() & _mesa_is_gles2() helpers

  • mesa: make more use of the new _mesa_is_gles1() helper

  • mesa: make more use of the new _mesa_is_gles2() helper

  • mesa: optimize out _mesa_is_desktop_gl*() and _mesa_is_gles*() calls when not built

  • ci: stop watching for changes in removed script

  • meson: improve formatting of options file

  • broadcom/ci: refactor a bit

  • broadcom/ci: fold .vc4-rpi3-piglit:armhf into its only user

  • broadcom/ci: use deqp-runner to run piglit tests

  • docs/release-calendar: drop the last 22.2.x, it won’t happen

  • broadcom/ci: group x11 and wayland variant of the same test failing

  • broadcom/ci: use weston’s xwayland instead of starting X as well

  • broadcom/ci: add x11- prefix to x11 EGL tests

  • broadcom/ci: drop create_pixmap_surface from the fails; it passes now

  • broadcom/ci: skip buffer_age.no_preserve and swap_buffers_with_damage on wayland

  • broadcom/ci: add two known failures

  • broadcom/ci: re-enable egl on wayland

  • docs: include explicit `setup` in instructions

  • docs: add release notes for 22.3.6

  • docs/relnotes: add sha256sum for 22.3.6

  • docs: update calendar for 22.3.6

  • v3d: update supertuxkart reference after 1c028a4d5b623e73bdf5

  • docs: mention the meson summary

  • docs: mention `meson configure` and drop broken workaround script

  • meson: reuse vulkan_wsi_list for defining vk_wsi_args

  • meson: replace vk_wsi_args with dependencies to let meson take care of transitivity

  • egl: include directly the useful vulkan header, instead of including everything

  • glx: include directly the useful vulkan header, instead of including everything

  • gbm: drop unnecessary vulkan dependency

  • radv: split linker script for android since it requires different symbols

  • glsl: align definition of _mesa_problem with the one in main/error.h

  • glapi/meson: drop duplicate line in deps

  • meson: allow checking for null pointers even if they’re supposed to be non-null

  • panfrost/ci: add EGL tests

  • asahi/winsys: add .clang-format

  • vk: move radv’s linker symbols scripts for use in all drivers

  • v3dv: add linker script to fix android symbols

  • tu: add linker script to fix android symbols

  • anv: add linker script to fix android symbols

  • vn: add linker script to fix android symbols

  • android/vk: drop unnecessary symbols

  • vk: be stricter about symbols check between android and other platforms

  • v3d/ci: add dEQP-GLES3.functional.texture.specification.teximage2d_pbo.*_cube flakes

  • osmesa: add exported symbols check

  • docs: add release notes for 22.3.7

  • docs/relnotes: add sha256sum for 22.3.7

  • docs: update calendar for 22.3.7

  • v3dv/ci: add a test to the known failures

  • meson: bump minimum version to 0.60

  • meson: allow feature options to take true/false to mean enabled/disabled

  • meson: inline gtest_test_protocol now that it’s always ‘gtest’

  • v3dv: split out broadcom_shader_stage_to_gl() calls to improve readability

  • ci: take valve farm offline

  • ci: disable weston session timeout

  • broadcom/ci: no need to skip the tests that swap buffers anymore

  • ci/broadcom: move rare failure to the flakes

  • ci: drop redundant .no_scheduled_pipelines-rules + .core-rules since the latter already includes it

  • ci/rustfmt: simplify getting all the rust files

  • ci/rustfmt: print which files are checked

  • ci: group RESULT logic in a single place

  • v3dv/ci: fix test name (`,Fail` is not part of the test name)

  • asahi: replace copies of .clang-format with symlinks

  • asahi: fix a few typos

  • v3d: fix `dirty` bitset being too small to accept V3D_DIRTY_SSBO

  • v3dv: use common GetPhysicalDeviceFeatures

  • v3dv: reorder features as 1.0, 1.1, 1.2, 1.3

  • v3dv: use vk_get_physical_device_features

  • v3d/ci: add another depthstencil-default_fb-drawpixels-* to the flakes

  • v3d/ci: group dEQP-GLES3.functional.texture.specification.teximage2d_pbo.* flakes and add another one

  • ci: centralize detection of ccache in link-werror wrapper

  • ci: add linker wrapper for clang

  • ci: always use the -Werror wrapper

  • ci: deduplicate compiler wrappers

  • ci/docs: start documenting ci_run_n_monitor.py

  • v3d: add link to issue investigating failure

  • asahi: change create_renderonly signature to uniformize it

  • etnaviv: change create_renderonly signature to uniformize it

  • freedreno: change create_renderonly signature to uniformize it

  • lima: change create_renderonly signature to uniformize it

  • panfrost: change create_renderonly signature to uniformize it

  • v3d: change create_renderonly signature to uniformize it

  • vc4: change create_renderonly signature to uniformize it

  • kmsro: uniformize renderonly creation

  • kmsro: sort drivers alphabetically

  • ci/broadcom: consolidate vc4-rpi3* jobs into a single vc4-rpi3-gl:armhf

  • ci/broadcom: consolidate v3d-rpi4* jobs into a single v3d-rpi4-gl:armhf

  • ci/broadcom: slightly increase coverage of vk tests

  • vc4/ci: add arm64 failure to flakes as it works on armhf

  • broadcom/ci: run gl jobs on arm64, just like vk

  • vc4/ci: add another sync flake

  • panfrost: assign the correct create_for_resource from the start

  • Revert “broadcom/ci: run gl jobs on arm64, just like vk”

  • v3dv/ci: mark known dEQP-VK.wsi.xlib.surface.query_formats failure

  • ci/rustfmt: make sure to only check each file once

  • v3d: disable GL_NV_conditional_render

  • VERSION: bump for 23.1.0-rc1

  • .pick_status.json: Update to 8ebc5cbe2b828f34b9bfb32c528d3514ead59798

  • v3dv/ci: drop fixed failure from fails.txt

  • .pick_status.json: Update to 0d7912d239dac5bf3c8b07f2a6ca467f760d6aa6

  • .pick_status.json: Update to 543b6ca7c4b00c4bfff5668ba0a0643d565db201

  • amd: fix buggy usage of unreachable()

  • compiler: fix buggy usage of unreachable()

  • pvr: fix buggy usage of unreachable()

  • vk/util: fix buggy usage of unreachable()

  • v3d: add flake spec@ext_framebuffer_blit@fbo-sys-sub-blit

  • VERSION: bump for 23.1.0-rc2

  • .pick_status.json: Update to 3017d01c9ded9c9fd097b600081b1bbe86e90fb8

  • .pick_status.json: Update to a18a51a708a86f51e0a5ab031b379f65bc84fb49

  • .pick_status.json: Update to c060b649c5a866f42e5df73f41c6e2809cf30e99

  • ci: rework vulkan validation layer build script

  • .pick_status.json: Update to 3f14fd8578549e34db2f564396f300819b2ff10f

  • VERSION: bump for 23.1.0-rc3

  • .pick_status.json: Update to 040aeb5a23e5cc8a71a352e55282d514dd2ab64f

  • .pick_status.json: Update to 9f522ac0c65ceae11ad1a4e84ec9f32a9393a25c

  • .pick_status.json: Update to efc94390f716b70ac1d5b09c6f949f938aeadcac

  • VERSION: bump for 23.1.0-rc4

  • .pick_status.json: Update to 6d84b34359dcbad477209adb9f9d0592c5a71bb9

  • .pick_status.json: Update to cb4e4fc5de48886758a26ff19d322947b5abfcec

  • dzn: fix pointer type mismatch

  • .pick_status.json: Update to 57afa7c0b12d6d0c9013368853080dfea5b50d07

  • .pick_status.json: Update to 31e6d15801a9904089aa2913c8eb5a31b79c7dfc

Erico Nunes (5):

  • lima/ci: Add more piglit unsupported tests to skip

  • Revert “CI: Lima farm is offline”

  • lima: don’t use resource_from_handle while creating scanout

  • lima/ci: restore swap buffers egl tests

  • Revert “ci: disable lima farm, currently out-of-space, needs to be fixed”

Erik Faye-Lund (54):

  • zink: whitespace fixup

  • zink: fix depth-clip disable cap

  • zink: remove depth_clip_control_missing workaround

  • radeonsi: respect smoothing_enabled

  • meson: remove dupliace add_devenv call

  • meson: remove deprecated osmesa-bits option

  • meson: remove deprecated dri-drivers option

  • meson: avoid using deprecated build_root() method

  • meson: use files() instead of joining paths

  • freedreno/meson: simplify script-path logic

  • meson: do not reconstruct ICD paths

  • anv, hasvk: remove stale TODO-files

  • zink: correct companies in requirements

  • zink: remove incorrect trailing comma

  • meson: remove unused USE_FOO_ASM defines

  • vulkan: prefer vulkan_core.h over vulkan.h

  • meson: don’t pass vk wsi args where they don’t belong

  • Revert “meson: Fix Asahi build on macOS”

  • zink: prefer vulkan_core.h over vulkan.h

  • zink: get rid of needless dependency

  • ci: correct typo in name of linkcheck job

  • docs: update link to intel optimization reference manual

  • nir: add a print_internal debug-flag

  • docs: implement new vk-feat role

  • docs/zink: use vk-feat role for features

  • docs/zink: remove some trailing spaces

  • docs/zink: fixup wording of the GL 4.6 requirements

  • meson: correct typo in comment

  • ci: move docs-stuff out of root .gitlab-ci.yml

  • docs: fixup broken envvar-role syntax

  • docs: escape a few more strings

  • docs: fixup broken indentation

  • docs/zink: mention vk1.2 mirror-clamp feature option

  • docs/zink: clean up requirements-language

  • docs: move developers article to main website

  • docs: remove old thanks-article

  • docs: prefer http-links over ftp

  • docs/freedreno: fix turnip-heading level

  • docs: drop reference to modindex

  • docs: move old relnotes to _extra directory

  • docs: use version-number as toctree-title for relnotes

  • zink: emit terminate for spir-v 1.6

  • zink: use demote from spir-v 1.6 when possible

  • zink: use spir-v 1.6 local-size when needed

  • zink: enable spir-v 1.6 for vulkan 1.3

  • docs: format code-block as ini

  • docs: format code-block as toml

  • docs: make code-block indents consistent

  • ci: move virgl-rules after intel-rules

  • virgl/ci: clean up manual rules for virgl

  • ci: remove unused rules

  • zink: do not use sampled-image for buffers

  • nir: fix constant-folding of 64-bit fpow

  • llvmpipe: fixup refactor copypasta

Faith Ekstrand (99):

  • nir: Add more opcodes to nir_tex_instr_is_query()

  • nir/builder: Add some texture helpers

  • radv: Use the new NIR builder tex helpers for meta

  • anv: Refactor Android externalFormat handling in CreateYcbcrConversion

  • anv/android: Use VkFormat for externalFormat

  • util/format: YUYV and UYVY have 4 8-bit channels

  • vulkan/formats: Add YCbCr format information

  • vulkan: Add a common vk_ycbcr_conversion struct

  • anv: Use the common vk_ycbcr_conversion object

  • anv: Use the YCbCr format info from common code

  • nir: Add copyright and include guards to nir_vulkan.h

  • anv,nir: Move the ANV YCbCr lowering pass to common code

  • gallium,util: Pull u_indices and u_primconvert back into gallium

  • mailmap: Remap e-mail addresses for Faith Ekstrand

  • vtn: Set alignment on initial UBO/SSBO casts

  • anv: Let spirv_to_nir() set UBO/SSBO base cast alignments

  • hasvk: Let spirv_to_nir() set UBO/SSBO base cast alignments

  • intel/compiler: Document wm_prog_key::persample_interp

  • intel/nir: Lower barycentrics to per-sample in a dedicated pass

  • nir: Remove nir_lower_io_force_sample_interpolation

  • intel/compiler: Use SHADER_OPCODE_SEND for PI messages

  • intel/fs: Return early in a couple builtin setup helpers

  • intel/compiler: Convert brw_wm_aa_enable to brw_sometimes

  • intel/fs: Make per-sample and coarse dispatch tri-state

  • intel/compiler: Convert wm_prog_key::persample_interp to a tri-state

  • intel/compiler: Convert wm_prog_key::multisample_fbo to a tri-state

  • intel/fs/validate: Assert SEND [extended] descriptors are uniform

  • intel/fs: Break out yet another FB write helper

  • intel/fs: Rework dynamic coarse handling

  • nir/deref: Preserve alignments in opt_remove_cast_cast()

  • nir/from_ssa: Use more helpers in resolve_parallel_copies

  • nir/from_ssa: Only re-locate values that are destinations

  • nir/from_ssa: Move the loop bounds check in resolve_parallel_copy

  • nir: Add a load/store bit size lowering pass

  • intel/nir: Use nir_lower_mem_access_bit_sizes()

  • Revert “vk/runtime: turn vk.xml extension requirements into asserts”

  • Revert “vk/util: keep track of extension requirements”

  • vulkan: Remove unused fields from Extension and ApiVersion

  • vulkan: Improve extension parsing

  • vulkan: Parse the platform in Extensions.from_xml()

  • vulkan: Add a get_all_required() helper

  • vulkan: Properly filter entrypoints

  • vulkan: Properly filter by api in enum_to_str

  • Vulkan: Properly filter structs in vk_cmd_queue_gen

  • vulkan: Filter out provisional extensions

  • vulkan: Move the features generator to vulkan/util

  • vulkan: Properly filter structs in vk_physical_device_features

  • vulkan/layers: Use PUBLIC instead of VK_LAYER_EXPORT

  • vulkan/device-select-layer: Include vulkan.h

  • vulkan: Update the XML and headers to 1.3.241

  • nir/lower_io: Handle buffer_array_length for more address modes

  • anv: Drop our manual SSBO size handling

  • hasvk: Drop our manual SSBO size handling

  • panvk: Drop our manual SSBO size handling

  • turnip: Set spirv_options::use_deref_buffer_array_length

  • lavapipe: Set spirv_options::use_deref_buffer_array_length

  • v3dv: Set spirv_options::use_deref_buffer_array_length

  • spirv: Always emit deref_buffer_array_length intrinsics

  • nir: Check against combined alignment in nir_lower_mem_access_bit_sizes

  • nir: Add mode filtering to lower_mem_access_bit_sizes

  • nir: Add UBO support to nir_lower_mem_access_bit_sizes

  • nir: Add a combined alignment helper

  • nir: Rename align to whole_align in lower_mem_load

  • nir: Rename nir_mem_access_size_align::align_mul to align

  • nir: Make chunk_align_offset const in lower_mem_load()

  • nir: Handle wider unaligned loads in lower_mem_access_bit_size

  • intel/nir: Limit unaligned loads to vec4

  • vulkan/runtime: Rename and document storage image Z range

  • intel/blorp: Set array_len for 3D images properly

  • isl: Set Depth to array len for 3D storage images

  • intel: Use nir_lower_tex_options::lower_index_to_offset

  • vulkan: Update XML and headers to 1.3.244

  • vulkan: Provide wrappers for VK_EXT_map_memory2 functions

  • anv: Limit memory maps to the client-allocated size

  • anv: Implement VK_KHR_map_memory2

  • intel/isl: Support Yf/Ys/Tile-64 in isl_surf_get_image_offset_sa

  • intel/blorp: Drop the TODO file

  • docs: Fix Faith’s name in relnotes

  • nir: Drop a bunch of Authors tags

  • spirv: Drop a bunch of Authors tags

  • intel: Drop some author comments and update Faith’s name

  • util,mesa,panfrost: Drop some author tags

  • vulkan: vk_android.c should be copyright Intel

  • util: Update some copyright tags

  • CODEOWNERS: s/jekstrand/gfxstrand

  • vulkan,anv,hasvk,radv: Add a common vk_image_usage_to_ahb_usage helper

  • vulkan/android: Fix hardware buffer usage flags

  • vulkan: Add an ahardware_buffer_format field to vk_image

  • anv,hasvk: Set vk_image.ahardware_buffer_format

  • radv: Set vk_image.ahardware_buffer_format

  • vulkan,anv,hasvk,radv: Unify Android hardware buffer creation

  • vulkan: Add a vk_device_memory base struct

  • anv: Use the new vk_device_memory base struct

  • vulkan: Record pipeline flags in the render pass

  • vulkan: Plumb rendering flags through vk_graphics_pipeline_state

  • anv/pipeline: Use feedback loop flags for self-dependencies

  • hasvk/pipeline: Use feedback loop flags for self-dependencies

  • vulkan: Drop vk_render_pass_state::*self_dependenc*

  • vulkan: Drop VkRenderingSelfDependencyInfoMESA

Felix DeGrood (10):

  • intel/perf: Hide extended metrics by default

  • anv: cs_stall during compute state flush on < gen12.5

  • anv: only emit CFE_STATE when scratch space increases

  • anv: set CFE_STATE.OverDispatchControl to default

  • iris: report draw count for perfetto

  • anv/blorp: support surf generation for addresses

  • anv/blorp: implement anv_cmd_buffer_fill_area

  • anv/blorp: add flush reasons to RT flushes

  • anv: reset query pools using blorp

  • anv: disable reset query pools using blorp opt on MTL

Filip Gawin (2):

  • crocus: don’t quantize the clear value

  • nine: add fallback for D3DFMT_D16 in d3d9_to_pipe_format_checked

Francisco Jerez (11):

  • intel/fs/gfx12: Ensure that prior reads have executed before barrier with acquire semantics.

  • intel/disasm/gfx12+: Use helper instead of hardcoded bit access for 64-bit immediates.

  • intel/disasm/gfx12+: Fix print out of non-existing condmod field with 64-bit immediate.

  • intel/eu/gfx12+: Implement decoding of 64-bit immediates.

  • intel/fs/gfx12+: Drop redundant handling of SHADER_OPCODE_BROADCAST in exec pipe inference.

  • intel/fs: Fix src and dst types of LOAD_PAYLOAD ACP entries during copy propagation.

  • intel/eu/gfx8-9: Fix execution with all channels disabled due to HW bug #220160235.

  • intel/rt: Fix L3 bank performance bottlenecks due to SW stack stride alignment.

  • intel/fs: Track force_writemask_all behavior of copy propagation ACP entries.

  • intel/fs: Fix copy propagation dataflow analysis in presence of force_writemask_all ACP overwrites.

  • intel/fs: Fix register coalesce in presence of force_writemask_all copy source writes.

Frank Binns (7):

  • pvr: small cleanups

  • pvr: remove start/stop transfer flags

  • pvr: stop restricting the compiler to the Sascha Willems triangle demo

  • pvr: remove duplicate define

  • pvr: initialise size for placeholder “zeroed” shaders

  • pvr: replace nop binary shader with run-time compiled shader

  • pvr: fix clang-format issue

Friedrich Vock (26):

  • radv/rt: Divide by the correct workgroup size

  • radv/bvh: Prevent NANs when computing node cost

  • radv/rmv: Also check the other pid field

  • radv/rmv: Avoid more CPU unmap deadlocks

  • radv/rmv: Log bo destruction before freeing it

  • radv/rmv: Correct timestamp shifting

  • vulkan/rmv: Use the timestamp divisor instead of a hardcoded value

  • vulkan/rmv: Remove delta parameter from dump helpers

  • mesa: Report GL_SHADER_BINARY_FORMAT_SPIR_V as supported

  • docs: Fix formatting for RMV tracing docs

  • radv: Extend hit attribute lowering for LDS

  • radv: Use LDS for closest-hit hit attributes

  • radv: Emit RT shader VA user SGPR

  • radv/rt: Add shader config combination/postprocessing utils

  • radv: Add RT shader stage names for executable properties

  • aco: Swap operands for v_and_b32 in RT prolog

  • radv/rt: Also adjust the SGPR count in postprocess_rt_config

  • aco: Un-swap addressable VGPRs/SGPRs in RT prolog

  • radv: Work around use-after-free compiler errors

  • radv: Add RT stages to radv_mesa_to_rgp_shader_stages

  • radv/rmv: Fix creating RT pipelines

  • radv/rmv: Fix import memory

  • radv/rt: Plug some memory leaks during shader creation

  • radv: Don’t leak the RT prolog binary

  • radv: Always call si_emit_cache_flush before writing timestamps

  • radv: Add driconf to always drain waves before writing timestamps

GH Cao (1):

  • gallium: Add MCJIT target triplet for Windows ARM64

Ganesh Belgur Ramachandra (1):

  • ac/nir: fix CDNA image lowering for array textures

Georg Lehmann (81):

  • Revert “aco: Combine v_cvt_u32_f32 with insert to v_cvt_pk_u8_f32.”

  • aco: use s_bfm_64 for constant copies

  • aco: use s_pack_ll_b32_b16 for constant copies

  • aco: Improve wave64 cycle estimates.

  • aco: fix imod/omod for gfx11 VOP3 opcodes

  • aco: add mov/cndmask opcodes to does_fp_op_flush_denorms

  • aco: don’t allow output modifiers for v_cvt_pkrtz_f16_f32

  • aco: allow output modifiers for ldexp_f16

  • aco: don’t list imod/omod support v_fmaak_f32/v_fmamk_f32

  • aco: support omod/imod for v_fmac_f16

  • aco: remove stale TODOs about v_interp opsel

  • aco: new 16bit VOP3 opcodes can use opsel

  • aco: Don’t use vcmpx with DPP.

  • aco: combine a ^ ~b and ~(a ^ b) to v_xnor_b32

  • amd,nir: remove byte_permute_amd intrinsic

  • nir: change 16bit image dest folding option to per type

  • amd: don’t use d16 for integer loads

  • amd: d16 uses rtz conversion for 32bit float

  • aco: use v_permlane(x)16_b32 for masked swizzle

  • aco/gfx11: use dpp_row_xmask and dpp_row_share

  • aco: use and swizzle mask in dpp quad perm

  • aco/optimizer_postRA: assume all registers are untrackable in loop headers

  • nir/opt_algebraic: add patterns for iand/ior of feq/fneu with 0

  • aco: mark mad definition as precise if the mul/add were precise

  • aco: use v_fma_mix_f32 for v_fma_f32 with 2 fp16 representable, different literals

  • nir/lower_mediump: don’t use fp16 for constants if the result is denormal

  • aco: treat VINTERP_INREG as VALU

  • aco/ir: rework IR to have one common valu instruction struct

  • aco/ra: set opsel_hi to zero when converting to VOP2

  • aco: validate VALU modifiers

  • aco/print_ir: simplify using VALU instruction

  • aco/optimizer: simplify using VALU instruction

  • aco: remove VOP[123C]P? structs

  • aco: add bitfield array helper classes

  • aco: use bitfield array helpers for valu modifiers

  • aco/assembler/gfx11: simplify 16bit VOP12C promotion to VOP3

  • aco/optimizer: don’t reallocate instruction when converting to VOP3

  • aco: don’t reallocate fma{mk,ak,_mix} instruction

  • aco: copy abs/neg with assignment

  • aco: use integer access for neg_lo/neg_hi

  • aco: use array indexing for opsel/opsel_lo/opsel_hi

  • aco: access neg/abs as int in usesModifiers

  • aco: use bitfield_array for temporary neg/abs/opsel

  • nir: optimize i2f(f2i(fsign))

  • aco: remove duplicates from .clang-format

  • amd: remove duplicate from .clang-format

  • aco: don’t check usesModifiers for pseudo instructions

  • aco: fix p_interp_gfx11 comment

  • aco: make .clang-format usable with tests

  • aco/ir: fix copy paste bug in convert_to_SDWA

  • aco/util: override default assignment operator for bitfield helpers

  • aco: clean up to_mad_mix

  • aco/ra: don’t reallocate VOP3 instruction for non-vcc lane mask

  • aco/vn: hash opsel for VOP12C

  • aco/assembler: support VOP12C opsel

  • aco: validate VOP12C opsel

  • aco/to_hw_instr: use VOP1 opsel for v_mov_b16

  • aco/ra: prepare for VOP12C opsel

  • aco/optimizer: preserve opsel when fusing fma

  • aco: handle opsel in combine_comparison_ordering

  • aco: handle opsel in combine_ordering_test

  • aco: handle opsel in combine_constant_comparison_ordering

  • aco: update match_op3_for_vop3 for VOP12C opsel

  • aco: support v_cvt_f32_f16 with opsel in combine_mad_mix

  • aco: support neg(mul)/abs(mul) optimization in more cases

  • aco: return true in usesModifiers for VOP12C with opsel

  • aco: swap opsel when swapping VOP2/C operands

  • aco/ir: copy opsel when converting to DPP

  • aco: don’t label mul with opsel as abs/neg

  • aco/gfx11: allow opsel for VOP12C

  • aco/optimizer: use opsel for VOP12C

  • aco: keep label_mul/usedef/minmax in apply_extract

  • aco/optimizer: remove to_SDWA

  • aco: add tests for fma with opsel

  • aco: add tests for dpp with opsel

  • aco: add tests for swap operand with opsel

  • aco: add tests for cmp ordering with opsel

  • aco: add test for min/max combining with opsel

  • aco/tests: run optimize.mad_mix.input_conv.modifiers on gfx11

  • aco: add tests for neg(mul) with opsel

  • aco/tests: add missing dependency on generated header

Gert Wollny (49):

  • glsl/nir: only set uses_sample_shading when the output is a fbfetch

  • nir: Add possibility to store image var offset in range_base

  • nir: Add range_base to atomic_counter and an option to use it

  • ntt: handle the image intrinsic range_base when translating to TGSI

  • ntt: Make use of the range_base offset when translating atomics in NTT

  • virgl: lower image variable offsets into the intrinsic range_base value

  • virgl: Request setting the atomic offset in the range_base

  • virgl: drop the separable flag for cases that can’t be handled

  • r600/sfn: Fix readport check

  • r600/sfn: Do a bit of cleanup with the secondary read port validation

  • r600/sfn: Fix opcode and result dest slot mask for variable size dot

  • r600/sfn: Fix splitting of multislot alu ops

  • virgl: remove unused virgl_encoder_inline_write

  • r600/sfn: Use range_base for atomics and images

  • r600/sfn: Work around dependency issue when splitting op to group

  • r600/sfn: drop useless instr use count

  • r600/sfn: Fix a typo

  • r600/sfn: Silence warnings about unused parameters

  • r600/sfn: Don’t copy propagate indirect loads to more than one dest

  • r600/sfn: Stop try scheduling in t-slot with empty related v-slot

  • r600/sfn: rename texture coordinate offset for clarity

  • r600/sfn: address use in group only if instr can be added

  • r600/sfn: Forward setting the block ID and index

  • r600: Don’t start new CF for every fetch through tex clause

  • r600/sfn: Fix handling of fetch through texture clause

  • r600/sfn: Fix alu trans op flag setup

  • r600/sfn: Fix Cayman trans from string and add test for copy prop

  • vulkan/wsi: Take Xwayland into account for x11_min_image_count

  • zink/kopper: Add extra swapchain images for Venus

  • r600/sfn: be more conservative with channel use in multi-slot ops

  • r600/sfn: Fix readport cylce map

  • r600/sfn: Fix minimum required registers

  • r600/sfn: Add AluGroup method to update readport validation from scratch

  • r600/sfn: Split AluInstr replace_source into test and actual replace

  • r600/sfn: Add method to AluGroup to replace sources

  • r600/sfn: Add print method to AluReadportValidation

  • r600/sfn: redirect copy propagation to alu parent group

  • r600/sfn/tests: Add a test for the copy prop into a group

  • r600/sfn: Fix atomic lowering

  • virgl: Enable AMD_vertex_shader_(layer|viewport_index) when host supports it

  • virgl: Don’t try to do re-alloc or readback by transfer for blob resources

  • ntt: add option to lower SSBO bindings to buffer index

  • virgl: Lower binding start into buffer indices

  • r600/sfn: fix container allocators

  • r600/sfn: Lower tess levels to vectors in TCS

  • r600/sfn: make sure f2u32 is lowered late and correctly for 64 bit floats

  • r600/sfn: assign window_space_position in shader state

  • r600/sfn: Ass support for image_samples

  • r600/sfn: fix cube to array lowering for LOD

Giancarlo Devich (25):

  • d3d12: Use varying comparison function for TESS stage key compare

  • d3d12: Add unions to encompass shader key stage vars, use in hashing

  • nir: Check sampler_binding is valid when lowering tex shadow

  • d3d12: Don’t clear d3d12_shader_key

  • d3d12: Move d3d12_context_state_table_entry to d3d12_resource_state.h

  • d3d12: Assign up to 16 simultaneously active contexts unique IDs

  • d3d12: Track up to 16 active context resource states locally in d3d12_bo

  • d3d12: Don’t recompute has_flat_varyings or missing_dual_src_outputs

  • d3d12: Track max varying slot, set and compare less bytes

  • d3d12: Don’t unnecessarily zero out gs/tcs keys

  • d3d12: Don’t memcmp gs/tcs keys

  • d3d12: Create varying structures as necessary, reference them

  • d3d12: Don’t loop in update_draw_indirect_with_sysvals

  • d3d12: Compare shader keys with a switch, instead of cascading if’s

  • d3d12: Compare shader keys with union-encompassing fields all at once

  • d3d12: Compare shader key common parts with memcmp, instead of if’s

  • d3d12: Cache varying info to reduce compare/copy cost

  • d3d12: Use memcmp for full tcs/gs variant keys

  • d3d12: Track up to 16 contexts worth of pending barriers locally in bos

  • d3d12: Don’t unnecessarily recompute manual_depth_range

  • d3d12: Use context-level sampler_state array for filling shader keys

  • d3d12: Use short circuit in shader key compare; update key hash

  • d3d12: Reduce gs variant key init cost; unnecessary validate gs calls

  • d3d12: Unroll shader variant selection loop

  • d3d12: Track up to 16 contexts worth of batch references locally in bos

Guilherme Gallo (24):

  • radeonsi/ci: Update stoney test expectations

  • radeonsi/ci: Skip slow traces on raven

  • Revert “ci: disable Collabora’s LAVA lab for maintance”

  • ci/lava: Move LAVA dependencies to pip

  • ci/lava: Add LavaFarm class to find LAVA farm from runner tag

  • ci/lava: Fix LAVA logs issues for Collabora jobs

  • ci: Upload debian-release artifact to S3

  • ci: Create debian-arm64-release job

  • ci: Use release builds in perf jobs

  • ci: Use workflow to make CI aware of performance jobs

  • ci: Reuse MESA_CI_PERFORMANCE_ENABLED in performance-rules

  • ci: Handle carriage return characters in LAVA logs

  • ci: Fix release build use for performance jobs

  • ci/baremetal: Wrap artifact download curl with xtrace

  • ci: Improve piglit-traces “no-perf” filter

  • ci: Fix freedreno-rules-performance

  • ci: Add piglit traces hidden jobs

  • ci/freedreno: create a618-traces and perf jobs

  • ci/zink: Add zink-a618 trace jobs

  • ci/zink: Add zink-turnip-manual-rules

  • ci/zink: Add zink-tu-a618-traces-performance job

  • ci/zink: Fix zink-tu-a618-traces perf job rules

  • ci/zink: Reduce zink-tu-a618-traces parallelism

  • Revert “ci: disable Collabora’s LAVA lab for maintance”

Hampus Linander (4):

  • nir: Add extr_agx opcode

  • agx: Add extr instruction to AGX backend

  • agx: Use AGX extr for tex lowering

  • agx: Optimize lower_resinfo for cube maps

Hans-Kristian Arntzen (13):

  • radv: Fix invalid 64-bit shift.

  • radv: Fix missing VK_ACCESS_2_SHADER_SAMPLED_READ_BIT.

  • radv: Implement VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT.

  • wsi/common: Add common implementation of vkReleaseSwapchainImagesEXT.

  • wsi/x11: Implement EXT_swapchain_maintenance1.

  • wsi/common: Implement swapchain present fence.

  • wsi/common: Add comment about DEFERRED_ALLOCATION_BIT_EXT.

  • wsi/common: Add function to modify present mode.

  • wsi/wayland: Implement EXT_swapchain_maintenance1.

  • wsi/display: Implement EXT_swapchain_maintenance1.

  • wsi/win32: Implement VK_EXT_swapchain_maintenance1.

  • radv: Expose VK_EXT_swapchain_maintenance1.

  • wsi/x11: Fix present ID signal when IDLE comes before COMPLETE.

Harri Nieminen (6):

  • docs/specs: Fix typos

  • docs/gallium: Fix typos

  • docs/freedreno: Fix typos

  • docs/panfrost: Fix typo

  • docs/svga3d: Fix typo

  • bin: Fix typos

Helen Koike (12):

  • ci/debian-android: move pkgconfig paths to the cross file

  • ci: move patches to patches directory

  • android: allow system = ‘android’ on cross file

  • ci/android: move sdk version and ndk to a job variable

  • ci: compile deqp for android

  • ci: compile deqp-runner for android

  • ci: debian-android compile virgl

  • ci: export artifacts from debian-android

  • ci/android: add android to the ci

  • android/ci: fix removal of inexistent file

  • android/ci: Fix call to adb

  • android/ci: raise error on script when not related to the tests

Hyunjun Ko (1):

  • vulkan/runtime: match the spec when taking pipeline subsets.

Iago Toral Quiroga (20):

  • broadcom/compiler: produce better code for f2f16 with RTZ rounding

  • v3dv: add paths to handle partial copies of linear images

  • v3dv: drop unused field from v3dv_cmd_buffer

  • v3dv: increase BO allocation size when growing CLs

  • v3dv: ensure we allocate at least the requested space for a CL

  • v3dv: add a cl_advance_and_end helper

  • v3dv: ensure at least V3D_CL_MAX_INSTR_SIZE bytes in last CL instruction

  • v3dv: ensure we apply binning syncs to secondary command buffers

  • v3dv: fix stencil view aspect selection of depth/stencil image

  • v3d: support r{g,gba}16f formats for vertex buffers

  • broadcom/compiler: track pending ldtmu count with each TMU lookup

  • v3dv: pause occlusion queries during vkCmdClearAttachments

  • v3dv: fix format swizzle for buffer views

  • v3dv: drop unused parameter

  • v3dv: always acquire display device before checking if we can present

  • vulkan/wsi/display: set pDisplay to NULL on error

  • v3d,v3dv: stop trying to force 16-bit TMU output for shadow comparisons

  • broadcom/compiler: fix v3d_qpu_uses_sfu

  • broadcom/compiler: add a v3d_qpu_instr_is_legacy_sfu helper

  • broadcom/compiler: fix incorrect check for SFU op

Ian Romanick (60):

  • ntt: Add support for fcsel_gt and fcsel_ge opcodes

  • nir/lower_int_to_float: Add support for i32csel opcodes

  • r300: Enable generation of fcsel_gt and fcsel_ge opcodes

  • i915: Enable generation of fcsel_gt and fcsel_ge opcodes

  • gallium/draw: Enable aapoint NIR helpers to generate bool1, bool32, or float32 Booleans

  • gallium/draw: Enable polygon stipple NIR helpers to generate bool1 or bool32 Booleans

  • nir/builder: Eliminate nir_f2b helper (and use of nir_f2b32 helper)

  • nir/builder: Handle f2b conversions specially in nir_type_convert

  • nir: Eliminate nir_op_f2b

  • lavapipe: Fix bad array index scale factor in lvp_inline_uniforms pass

  • lavapipe: Only check NULL pointers in one place in src_only_uses_uniforms

  • nir/inline_uniforms: Change num_offsets type to uint8_t

  • nir/inline_uniforms: Pass max_num_bo and max_offset around as parameters

  • nir/inline_uniforms: Allow possibility of more than one UBO

  • nir/inline_uniforms: Allow possibility of uni_offsets and num_offsets being NULL

  • nir/inline_uniforms: Make src_only_uses_uniforms public, change name

  • nir/inline_uniforms: Make add_inlinable_uniforms public

  • nir/inline_uniforms: Add inot condition support

  • nir/tests: Don’t unconditionally log shaders from this one CF test

  • nir/tests: Refactor creation of loops for loop_analyze test cases

  • nir/tests: Add tests for “inverted” loops

  • nir/tests: Add tests for nir_loop_info::induction_vars tracking

  • nir/loop_analyze: Track induction variables with uniform increments

  • nir/loop_analyze: Use nir_loop_variable::update_src instead of nir_basic_induction_var::alu

  • nir/loop_analyze: Use nir_loop_variable::init_src instead of nir_basic_induction_var::def_outside_loop

  • nir/loop_analyze: Eliminate nir_basic_induction_var

  • nir/loop_analyze: Track induction variables with uniform initializer

  • nir/loop_analyze: Simplify some logic in compute_induction_information

  • nir: ifind_msb_rev can only have int32 sources

  • intel/compiler: Lower find_lsb in NIR

  • nir: intel/compiler: Move ifind_msb lowering to NIR

  • intel/compiler: Tighter src and dest size bounds checking for some opcodes

  • nir/algebraic: Only lower ufind_msb with 32-bit sources

  • nir: intel/compiler: Move ufind_msb lowering to NIR

  • nir/builder: Do not generate 8- or 16-bit find_msb

  • nir/algebraic: Do not generate 8- or 16-bit find_msb

  • nir: Restrict ufind_msb and ufind_msb_rev to 32- or 64-bit sources

  • nir/algebraic: Optimize some ifind_msb to ufind_msb

  • nir/lower_int64: Optionally lower ufind_msb using uadd_sat

  • intel/fs: Don’t copy propagate from saturate to sel

  • nir/algebraic: Undistribute fsat from fmax

  • intel/fs: Output opt_combine_constants debug to stderr

  • intel/fs: Refactor part of opt_combine_constants to a separate function

  • intel/fs: Rework the loop of opt_combine_constants that collects constants

  • intel/compiler: Remove one overload of backend_instruction::insert_before

  • intel/compiler: Use NIR_PASS instead of NIR_PASS_V

  • intel/compiler: Micro optimize inst_is_in_block

  • intel/fs: Use specialized version of regions_overlap in opt_copy_propagation

  • intel/compiler: Micro optimize regions_overlap

  • intel/fs: Linked list micro optimizations in brw_nir_move_interpolation_to_top

  • intel/fs: Preserve meta data more often in brw_nir_move_interpolation_to_top

  • intel/fs: White space fixes

  • nir/tests: Add many loop analysis tests for induction vars updated by shifts

  • nir/tests: Add more loop analysis tests for induction vars updated by shifts

  • nir/tests: Add many loop analysis tests for induction variables modified by imul

  • nir/loop_analyze: Add a function to evaluate an ALU as constant

  • nir/loop_analyze: Track induction variable basis information

  • nir/loop_analyze: Change invert_cond instead of changing the condition

  • nir/loop_analyze: Use try_eval_const_alu and induction variable basis info

  • nir/tests: Port almost all loop_analyze tests to new macro-based infastructure

Ikshwaku Chauhan (1):

  • radeonsi: Fix distortion for yuv422 format for GFX10.

Illia Abernikhin (1):

  • util: Extend vk_enum_to_str with bitmasks vk_enum_to_str only generates literals for enums with type: @type=”enum”, but many enums have type: @type=”bitmask” and were not taken into account here.

Illia Polishchuk (4):

  • ANV: Add extra memory types for ANV driver instead of a single one

  • hasvk: Add extra memory types for hasvk driver instead of a single one

  • nir: Add sha1 hash for nir shaders converted from spir-v

  • glx: fix indirect initialization crash

Ilya K (1):

  • intel/vk/grl: don’t install libgrl.a

Isaac Bosompem (1):

  • tool/pps: Fix 32-bit build issue with format string

Isabella Basso (5):

  • nir/algebraic: insert patterns inside optimizations list

  • nir/algebraic: extend mediump patterns

  • nir/algebraic: extend lowering patterns for conversions on smaller bit sizes

  • nir/algebraic: make patterns for float conversion lowerings imprecise

  • nir/algebraic: remove duplicate bool conversion lowerings

Italo Nicola (10):

  • panfrost: fix off-by-one when exporting format modifiers

  • panfrost: fix tiny sample_positions BO memory leak

  • hud: use defines for default scale/rotation/visibility values

  • hud: add GALLIUM_HUD_OPACITY envvar

  • panfrost: fix strict-aliasing violations when packing fb ptrs

  • etnaviv: abort() instead of assert(0) on compiler error

  • etnaviv: use stderr for compiler error logging

  • etnaviv: add default clear_buffer and clear_texture APIS

  • etnaviv: lower (un)pack_{2x16,2x32}_split and extract_{byte,word}

  • etnaviv: implement nir_op_uclz and lower find_{msb,lsb} to uclz

Iván Briano (7):

  • anv: uncompressed views of compressed 3d images are now valid

  • vulkan: track the right value on CmdSetColorWriteMasks

  • anv: fix testing for dynamic color blend bits

  • anv: stop tracking color blend state in the pipeline

  • anv: use the parameter passed to the macro

  • intel/fs: handle interpolation modes for at_sample and at_offset too

  • vulkan/wsi/display: do not dereference a NULL pointer

Jakub Kulík (1):

  • mesa: Fix format transform on big endian platforms

Jan Beich (1):

  • util/u_process: implement util_get_command_line for BSDs

Janne Grunau (1):

  • asahi: Fix typo in debug/error message helper macro

Jarred Davies (16):

  • pvr: Use common queue submit implementation

  • pvr: Add support for VK_KHR_timeline_semaphore

  • pvr: Enable threaded submit when supported

  • pvr: Clear wait syncs after job submission

  • pvr: Don’t update fragment signal sync when fragment stage is disabled

  • pvr: Fix segfaults when pDepthStencilAttachment is NULL

  • pvr: Generate EOT program at runtime

  • pvr: Generate dummy emit for renders without any emits

  • pvr: Add support for multiple emits from EOT program

  • pvr: Select a single aspect format for the texture state of DS image views

  • pvr: Add initial support for VK_FORMAT_S8_UINT

  • pvr: Don’t allocate/upload 0 size coeff programs

  • pvr: Always mark robustBufferAccess as supported

  • pvr: Rename pvr_xgl_pds.c to pvr_pipeline_pds.c

  • pvr: Add robustness buffer support

  • pvr: Mark all normalized formats as supporting with_packed_usc_channel

Jesse Natalie (224):

  • ci/windows: Download updated WARP 1.0.4 package

  • dzn/ci: Remove flakes/fails that don’t hit anymore

  • dzn/ci: Add image test group, which is all passing now

  • dzn: Fix clear bind flag logic

  • microsoft/compiler: Lower pack_[u/s]norm_2x16

  • microsoft/compiler: Implement texture sample count query

  • microsoft/compiler: Remove arrays when testing for structs in I/O

  • microsoft/compiler: Always emit float types in the I/O signature for structs

  • microsoft/compiler: Re-work the logic for adding SV_SampleIndex to force sample-rate

  • microsoft/compiler: Use nir info.fs.uses_sample_shading to force sample-rate

  • microsoft/compiler: Set num_components to 4 when updating pos write instructions

  • spirv2dxil: For removing unused vars, consider the whole I/O var size

  • spirv2dxil: When removing unused inputs, make sure they’re actually inputs

  • spirv2dxil: Allow killing position as an undef varying

  • spirv2dxil: Replace not-provided inputs with zero instead of undef

  • dzn: Get options13

  • dzn: Support alpha blend factor

  • dzn: When changing root signature, dirty descriptors too

  • dzn: Use R24G8_TYPELESS for 24/8 depth resources

  • dzn: Support int border colors

  • dzn: Storage buffer sizes need to be 4-byte-aligned

  • dzn: Set MultisampleEnable to enable MSAA lines

  • dzn: Use typeless format for creation of depth-only or stencil-only D24S8

  • dzn: Define a symbol that was present in older D3D headers

  • dzn: Support root signature 1.2

  • dzn: Support unnormalized coordinate samplers

  • dzn: Always align cached pipeline header size to input element align

  • dzn: Add a zeroed zsa state when depth or raster is disabled

  • dzn: Disable depth when the rasterizer is disabled due to no position output

  • dzn: Fix format support checks for storage/uniform texel buffers

  • dzn: Remove cmdbuf query ‘wait’ list

  • microsoft/compiler: Delete incorrect implementation for load_layer_id

  • microsoft/compiler: Subpass textures are supposed to be arrays

  • microsoft/compiler: Delete stale TODO comment

  • microsoft/compiler: Support view instancing

  • spirv2dxil: Pass runtime conf struct to lower_shader_system_values

  • spirv2dxil: Implement lowering for multiview

  • spirv2dxil: Claim multiview support

  • dzn: Put nir compilation options in a struct

  • dzn: Handle multiview pipeline creation

  • dzn: Handle draws and clears for multiview rendering

  • dzn: Implement multiview queries

  • dzn: Enable multiview

  • dzn: Enable independent blending

  • dzn: Delete an unnecessary assert

  • dzn: Rework meta blit VS

  • microsoft/compiler: Add an overload param to unary function helpers

  • microsoft/compiler: Implement a few basic wave/subgroup intrinsics

  • microsoft/compiler: Add lowering passes for basic subgroup vars

  • spirv2dxil: Use 32-bit shared offsets

  • spirv2dxil: Support basic subgroups

  • dzn: Support basic subgroups

  • microsoft/compiler: Fix atomic image umax

  • microsoft/compiler: Lower device index to zero

  • spirv2dxil: Support dispatches with base group indices

  • dzn: Support vkCmdDispatchBase

  • dzn: Use common physical device list/enumeration helpers

  • dzn: Respect suspending/resuming flags to omit clears/resolves

  • dzn: Set dynamic rendering caps

  • dzn: When rendering to 3D, don’t treat layers as subresources for barriers

  • dzn: Move patched vertex buffer capability check up a level

  • dzn: Use SHADER_LOAD to indicate SAMPLED_IMAGE support

  • dzn: Usage image view usage instead of image usage

  • dzn: Support EXTENDED_USAGE bit

  • dzn: Usage MULTISAMPLE_LOAD support instead of RT/DS support for MSAA

  • dzn: Descriptor limits are based on binding tier, not heap tier

  • dzn: A single sampler descriptor set needs to support 1024 samplers

  • dzn: Don’t expose variable pointers

  • dzn: Fix independent blend check

  • dzn: Enable Vulkan 1.1

  • microsoft/compiler: Don’t emit threadgroup barriers for graphics shaders

  • microsoft/compiler: Handle i2i1 and u2u1

  • microsoft/compiler: Handle i1 overloads

  • microsoft/compiler: Implement more wave/quad ops

  • microsoft/compiler: Support emitting the SM6.6 wave size tag

  • spirv2dxil: Lower some wave op properties

  • spirv2dxil: Support subgroup SPIR-V caps

  • dzn: Support more subgroup/quad ops

  • dzn: Implement subgroup size control extension

  • dzn: Use core feature matching logic instead of rolling our own

  • microsoft/compiler: Support float controls

  • dzn: Fix dynamic rendering clear load op for non-multiview

  • dzn: Handle separate stencil usage

  • dzn: Cache GPUVA for buffers

  • dzn: Support float control

  • dzn: Always do clears with copies on non-graphics queues

  • dzn: Enhanced barriers fixes/workarounds

  • dzn: Ensure we don’t mix DSV+simultaneous-access

  • dzn: Support Vulkan 1.2

  • dzn: Fix Windows WSI

  • dzn: Don’t recursively lock the physical device enum mutex

  • dzn: Report as a software device for non-Windows

  • CI/windows: Don’t limit deqp-runner to 4 jobs

  • CI/windows: Apply CI_FDO_CONCURRENT to piglit too

  • dzn: Consider linked shaders when computing DXIL hash

  • wsi/win32: Always use non-SRGB formats for DXGI

  • wsi/win32: Use app-provided timeout instead of arbitrary hardcoded value

  • CI: Lima farm is offline

  • dzn, driconf: Add a driconf entry for NMS to claim wide line support

  • vulkan/wsi: Add a wsi_device param to get_present_modes

  • vulkan/wsi/win32: Support tearing (immediate) and VSync (FIFO) present modes

  • wsi/win32: Don’t require buffer blits for software drivers

  • wsi/win32: We don’t need a window DC for DXGI

  • clc: Include opencl-c-base.h with LLVM 15 (using builtins)

  • microsoft/clc: Set features that are used by CL tests

  • ci/windows: Update LLVM to 15

  • nir: Add alignment to load_push_constant

  • nir_lower_fp16_casts: Allow opting out of lowering certain rounding modes

  • microsoft/compiler: Handle struct consts in DXIL module dumper

  • microsoft/compiler: Handle frcp for float16/float64

  • microsoft/compiler: Ensure native_low_precision is set for 16-bit bitcasts/stores

  • microsoft/compiler: Handle undef-rounding f2f16 as rtz

  • microsoft/compiler: Move unaligned load/store pass from CL

  • microsoft/compiler: Pass deref modes to unaligned pass and handle push const

  • microsoft/compiler: Simplify bitpacking for load/store lowering with nir_extract_bits

  • microsoft/compiler: Pass an alignment to constant buffer load lowering

  • microsoft/compiler: Handle 48-bit stores to SSBO/shared

  • microsoft/compiler: Support raw buffer load/store intrinsics with 16bit alignment

  • microsoft/compiler: Support lowering SSBO accesses to 16bit vectors

  • spirv2dxil: Set min UBO/SSBO alignments

  • spirv2dxil: Lower unaligned loads and stores

  • spirv2dxil: Move shader model into runtime conf struct

  • spirv2dxil: Support 16bit types

  • dzn: Enable get_surface_capabilities2

  • dzn: Delete unused extensions table

  • dzn: Get options4

  • dzn: Enable 16bit types when supported

  • dzn: Enable KHR_storage_buffer_storage_class

  • vulkan/wsi: Fix Windows build

  • radv: Fix returning an expression from a void function

  • Revert “CI: Disable Windows runners”

  • nir: Propagate alignment when rematerializing cast derefs

  • microsoft/compiler: Implement wave reduce/exclusive scan ops that are supported

  • microsoft/compiler: Add a lowering pass for scan ops that aren’t supported

  • spirv2dxil: Handle arithmetic subgroup ops

  • dzn: Claim the arithmetic subgroup bit

  • ci/windows: Update warp to 1.0.5

  • microsoft/compiler: Handle writable buffer UAV size queries

  • d3d12: Report correct texel buffer max size

  • d3d12: Fix buffer SRV/UAV creation

  • d3d12: Remove now-unused UAV format from shader info

  • microsoft/compiler: Fix setting bit 31 in feature flags

  • microsoft/compiler: Only set typed UAV load feature bit for multi-comp loads

  • microsoft/compiler: Refactor type -> resource kind helper

  • microsoft/compiler: Add helpers for getting res_props structs

  • microsoft/compiler: Split handle annotation into two parts

  • microsoft/compiler: Handle “bindless” image/tex sources as heap indices

  • microsoft/compiler: Support descriptor heap indexing for UBO/SSBO

  • microsoft/compiler: Use store_dest instead of store_dest_value more

  • microsoft/compiler: Update header docs for binding modes supported by compiler

  • spirv2dxil: Add a pass to lower deref tex/image and vulkan ubo/ssbo to bindless

  • spirv2dxil: Only lower readonly images to SRVs when the option is set

  • spirv2dxil: Support descriptor indexing capabilities

  • dzn: Remove device pointers from descriptor heaps

  • dzn: Remove descriptor heap type from descriptor heap wrapper

  • dzn: Fix a leak in descriptor set layout creation

  • dzn: Add some docs around descriptor sets and remove redundant/unused data

  • dzn: Put UAVs first for storage images/buffers in descriptor tables

  • dzn: Consistently order depth formats before stencil

  • dzn: Don’t use plane slice 1 for depth+stencil SRVs

  • dzn: Set up SRV descs for 3D textures correctly

  • dzn: Skip setting up UAVs for depth resources

  • dzn: Add initial bindless infrastructure

  • dzn: When bindless, only allocate one descriptor per layout entry

  • dzn: Remove defragmenting of descriptor pools

  • dzn: Delete unused function

  • dzn: Allocate descriptor sets in buffers for bindless mode

  • dzn: Don’t dirty bindings if root signature doesn’t change

  • dzn: Use separate dirty bits for descriptor sets/dynamic buffers

  • dzn: Bind buffers for bindless descriptor sets

  • dzn: Add a binding classification in the pipeline layout remapping

  • dzn: When binding a bindless root signature, bind descriptor heaps first

  • dzn: Ensure root signatures are re-bound after a meta op

  • dzn: Only bind descriptor sets up to the used amount of the current layout

  • dzn: Apply bindless lowering when compiling pipelines

  • dzn: Add a debug option for enabling bindless mode

  • dzn: Support descriptor indexing via bindless

  • dzn: Enable variable size bindings

  • dzn: Use mesa_loge for DXIL validation errors

  • microsoft/clc: Add shader model / validator to compiler API

  • d3d12: Move forward-front-face pass to common DXIL code

  • spirv2dxil: Expose yz flip pass to external callers

  • dzn: Add a helper to generate triangle->point GS

  • dzn: Handle polygon point mode

  • dzn: Claim fillModeNonSolid

  • CI/windows: Update headers and Agility redist to 1.710.0-preview

  • CI/windows: Increase timeout for build container job

  • microsoft/compiler: Fix 8-bit loads and stores when supporting 16-bit DXIL

  • microsoft/compiler: Fix barrier for wave ID computation

  • microsoft/compiler: Assign 1D wave IDs based on local thread ID

  • microsoft/compiler: Fix large shifts

  • spirv2dxil: Add some more supported caps

  • dzn: Add a driconf entry for enabling 8bit loads and stores

  • dzn: Add a driconf option for enabling subgroup ops in VS/GS

  • dzn: Fix SRV barrier state on compute command lists

  • dzn: Raise max number of descriptor sets to 8

  • dzn: Report some more caps correctly that are supported

  • dzn: Align descriptor sets in the bindless buffer

  • dzn: Ensure pipeline variants are used for dynamic stencil masks

  • dzn: Don’t use write-combine memory for cache-coherent UMA

  • dzn: Ensure buffer offsets are aligned

  • dzn: Attempt to force depth write states for depth access in LAYOUT_GENERIC

  • dzn: Don’t do initial-layout barriers for simultaneous-access resources

  • dzn: Batch command lists together

  • dzn: Fix bindless descriptor sets with multiple dynamic buffers that need custom descriptors

  • dzn: Early-out on no-op barriers

  • dzn: Clean up ABI helpers now that we require DirectX-Headers 606

  • dzn: Use GetResourceAllocationInfo3 for castable formats

  • dzn: Don’t leave deleted physical devices in the instance pdev list

  • dzn: Remove skips now that WARP is faster

  • dzn: Support >2K samplers with bindless

  • dzn: Remove xfail for test that passes (if run)

  • microsoft/compiler: Don’t split loads/stores that will be split by lower_explicit_io

  • dzn: Changes to descriptor set dirty flag handling

  • dzn: Use a linear allocator for upload data on command buffers

  • dzn: Ignore unnormalized sampling flag if driver doesn’t support it

  • dzn: Never set STATE_RENDER_TARGET on a compute command list

  • dzn: Don’t enable bindless by default

  • d3d12: Support creating PSOs with no attachments with MSAA without TIR

  • d3d12: Fix buffer reference leak for SO count staging buffer

  • dzn: Handle mismatches in bound descriptor set vs pipeline layout

  • d3d12: Respect buffer offsets for sampler views

  • dzn: Hook up subgroup size to compute shader compilation

  • dzn: Delete queue-level event waits

Jonathan Gray (3):

  • egl/dri2: avoid undefined unlocks

  • intel/dev: remove invalid EHL pci id

  • intel/dev: Add another EHL pci id

Jonathan Marek (1):

  • turnip: fix use of align() instead of util_align_npot() with tile_align_w

Jordan Justen (8):

  • intel/vk/grl: Don’t include anv_private.h in genX_grl.h

  • intel/vk/grl: Allow genX_grl.h to be included by C++ files

  • intel/vk/grl: Allow grl/grl_cl_kernel.h to be included by C++ files

  • intel/vk/grl: genX-ify genX_grl_uuid.cpp

  • intel/vk/grl: genX-ify grl_cl_kernel_name()

  • intel/dev: Enable MTL PCI ids

  • intel/compiler: Support fmul_fsign opt for fp64 when int64 isn’t supported

  • intel/compiler/gfx12.5+: Lower 64-bit cluster_broadcast with 32-bit ops

Joshua Peisach (1):

  • gallum/asahi: fix memory leak in agx_resource_from_handle

José Fonseca (4):

  • llvmpipe: Ensure floating point SSE state is reset regardless of the write mask.

  • llvmpipe: Honor zero sample_mask when multisample is disabled.

  • trace: Don’t use italic escape code.

  • wgl: Fix unintentional assignment on assert.

José Roberto de Souza (107):

  • anv: Start to move i915 specific code from anv_device to i915/anv_device

  • anv: Export anv_exec_batch_debug() and chain_command_buffers()

  • anv: Split i915 code from anv_batch_chain.c

  • anv: Move anv_device_check_status() code to i915/anv_device.c

  • intel/dev: Export functions that will be used by different kernel drivers

  • intel/dev: Move i915 code to i915/intel_device_info.c

  • intel/dev: Split hwconfig i915 specific code

  • intel/dev: Detect what is the kernel mode driver loaded

  • intel: Add intel_kmd_type parameter to intel_engine_get_info()

  • intel: Add kmd_type parameter to necessary intel_gem.h functions

  • anv: Nuke anv_queue:index_in_family

  • hasvk: Nuke anv_queue:index_in_family

  • intel/ds: Nuke intel_ds_queue::queue_id

  • intel/ds: Fix crash when allocating more intel_ds_queues than u_vector was initialized

  • intel/genxml/gen125: Add walker configuration fields to 3DSTATE_WM

  • intel/genxml/gen125: Tune 3DSTATE_WM Walker direction

  • intel: Add intel_memory_class_instance

  • anv: Convert drm_i915_gem_memory_class_instance to intel_memory_class_instance

  • anv: Use DRM_IOCTL_I915_GEM_CREATE_EXT in all supported kernels

  • anv: Add basic KMD backend infrastructure

  • anv: Start to move anv_gem_stubs.c to kmd backend

  • anv: Remove remaining bits of anv_i915_query()

  • hasvk: Remove remaining bits of anv_i915_query()

  • anv: Add gem_close to kmd backend

  • anv: Add gem_mmap to kmd backend

  • anv: Move execute_simple_batch() and queue_exec_locked() to kmd backend

  • intel/common: Move i915 files to i915 folder

  • iris: Export batch debug functions

  • iris: Export update_batch_syncobjs()

  • iris: Export num_fences()

  • intel: Make gen12 URB space reservation dependent on compute engine presence

  • intel/blorp: Allocate only necessary amount of VERTEX_BUFFER_STATE

  • intel: Pull in xe_drm.h

  • intel: Add Meson parameter to enable Xe KMD support

  • intel/dev: Add INTEL_KMD_TYPE_XE

  • intel/dev: Implement Xe functions to fill intel_device_info

  • intel/dev: Implement Xe functions to handle hwconfig

  • intel/dev: Query and compute hardware topology for Xe

  • iris: Convert drm_i915_gem_memory_class_instance to intel_memory_class_instance

  • iris/bufmgr: Add i915_gem_set_domain()

  • iris: Use DRM_IOCTL_I915_GEM_CREATE_EXT in all supported kernels

  • iris: Add initial skeleton of kmd backend

  • iris: Move iris_bo_madvise() to i915/iris_bufmgr.c

  • iris: Add iris_bo_set_caching()

  • intel/common: Implement the Xe functions for intel_engine

  • intel/common: Implement the Xe functions for intel_gem

  • iris: Move bo_madvise to kmd backend

  • iris: Move bo_set_caching to kmd backend

  • iris: Move iris_bo_busy_gem() to i915/iris_bufmgr.c

  • iris: Move iris_bo_wait_gem() to i915/iris_bufmgr.c

  • iris: Don’t mark protected bo as reusable

  • intel/perf: Disable it for Xe KMD

  • build: Block build of HASVK, Crocus and i915 in non-x86 architectures

  • iris: Add gem_mmap() to kmd backend

  • iris: Add batch_check_for_reset() to kmd backend

  • iris: Move i915 submit_batch() to i915 backend

  • anv: Implement gem_create for Xe backend

  • anv: Implement Xe functions to create and destroy VM

  • anv: Implement gem close and mmap for Xe backend

  • anv: Add gem VM bind and unbind to backend

  • anv: Integrate gem vm bind and unbind kmd backend functions

  • iris: Drop I915_EXEC_FENCE types

  • iris: Drop usage of i915 EXEC_OBJECT_WRITE

  • iris: Move iris_bufmgr_init_global_vm() to i915/iris_bufmgr.c and prepare for Xe KMD

  • anv: Implement Xe version of anv_physical_device_get_parameters()

  • anv: Properly alloc buffers that will be promoted to framebuffer in Xe KMD

  • anv: Handle external objects allocation in Xe

  • iris: Only mark buffer as exported if drmPrimeHandleToFD() succeed

  • iris: Implement the Xe version of iris_bufmgr_init_global_vm()

  • iris: Implement the function to destroy VM in Xe

  • iris: Implement gem_create() in Xe kmd backend

  • iris: Implement gem_mmap() in Xe kmd backend

  • iris: Store iris_context’s priority

  • iris: Move to i915/iris_batch.c code to create and replace i915 context

  • iris: Move to iris_i915_batch.c code to destroy i915 context

  • intel: Move memory aligment information to intel_device_info

  • anv: Use intel_device_info memory alignment

  • intel: Set mem_alignment in Xe kmd

  • anv: Apply memory alignment requirements in Xe kmd

  • intel: Add TODO about removal of 2Mb alignment in i915

  • anv: Replace I915_ENGINE_CLASS_VIDEO by INTEL_ENGINE_CLASS_VIDEO

  • anv: Create Xe engines

  • anv: Implement Xe version of check_status()

  • anv: Handle Xe queue/engine priority

  • anv: Implement Xe version of execute_simple_batch()

  • iris: Prepare iris_bufmgr functions for vm bind error paths

  • iris: Add vm bind and unbind to kmd backend

  • iris: Implement gem_vm_bind() and gem_vm_unbind() in Xe kmd backend

  • iris: Ajust gem buffer allocation size in Xe kmd

  • intel: Sync xe_drm.h

  • anv: Partialy import drm-uapi/gpu_scheduler.h and use it

  • anv: Fetch max_context_priority from drm_xe_query_config

  • intel: Allocate mesh shader URB space before task shader

  • anv: Move to a function code to clflush batch buffers

  • anv: Implement Xe version of anv_queue_exec_locked() and queue_exec_trace()

  • anv: Disable anv_bo_sync_type for Xe kmd

  • anv: Add assert in functions not supported by Xe kmd

  • iris: Add BO_ALLOC_SHARED

  • iris: Handle allocation of exported buffers in Xe kmd

  • iris: Handle allocation of scanout buffers in Xe

  • iris: Implement Xe version of bo_madvise() and bo_set_caching()

  • anv: Fix vm bind of imported buffers

  • iris: Add function to close gem bos

  • iris: Handle Xe syncronization with syncobjs

  • loader: Add Xe KMD support

  • iris: Fix close of exported bos

  • iris: Allow shared scanout buffer to be placed in smem as well

Juan A. Suarez Romero (8):

  • v3d/v3dv: define performance counters in common

  • v3d: cache pipe query results

  • v3d: include offset as part of streamout target

  • v3d: implement NV_conditional_render extension

  • v3d: fix condition for EZ disabling when stencil on

  • v3d: set depth compare function correctly

  • v3d: use primitive type to get stream output offset

  • v3d: apply 1D texture miplevel alignment in arrays

Julia Tatz (3):

  • zink: zink_heap isn’t 1-to-1 with memoryTypeIndex

  • zink: trival renames heap_idx -> memoryTypeIndex

  • zink: correct sparse bo mem_type_idx placement

Juston Li (29):

  • venus: refactor out vn_feedback_event_cmd_record2

  • venus: refactor VK_KHR_synchronization2 ext sync fd requirements

  • venus: require importable external semaphores for WSI

  • venus: require exportable bit for ext fence sync fd

  • venus: require exportable/importable bit for ext semaphores sync fd

  • venus: remove filtering external semaphores for QueueSubmit

  • venus: drop VkQueueBindSparse

  • venus: append fence feedback batch

  • venus: refactor QueueSubmit/QueueSubmit2

  • venus: vn_queue: align vulkan object variable naming

  • docs/envvars: add missing mesa disk cache envvars

  • util/fossilize_db: don’t destroy foz on RO load fail

  • utils/fossilize_db: refactor out loading RO foz dbs

  • util/fossilize_db: add runtime RO foz db loading via FOZ_DBS_DYNAMIC_LIST

  • util/fossilize_db: fix macOS inotify build error

  • util/fossilize_db: add ifdef for inotify header

  • util/tests/cache_test: Skip Cache.List if not supported

  • anv: check initial cmd_buffer is chainable

  • venus: refactor semaphore helper functions

  • venus: refactor batch submission fixup

  • venus: add NO_TIMELINE_SEM_FEEDBACK perf option

  • venus: add timeline semaphore feedback cmds

  • venus: enable timeline semaphore feedback

  • venus: add SHADER_DEVICE_ADDRESS_BIT to buffer cache

  • venus: switch to lazy VkBuffer cache

  • venus: add VN_DEBUG_CACHE flag

  • venus: Add VkBuffer cache statistics for debug

  • venus: shader cache fossilize replay fix

  • util/disk_cache: use posix_fallocate() for index files

Kai Wasserbäch (5):

  • fix: gallivm: limit usage of LLVMContextSetOpaquePointers() to LLVM 15

  • fix(FTBFS): gallivm: fix LLVM #include of Triple.h, moved to TargetParser

  • fix(FTBFS): clover: fix LLVM #include of Triple.h, moved to TargetParser

  • fix: clover/llvm: replace llvm::None with std::nullopt for LLVM 17+

  • fix: gallivm: fix LLVM #include of Host.h, moved to TargetParser

Kai-Heng Feng (2):

  • iris: Retry DRM_IOCTL_I915_GEM_EXECBUFFER2 on ENOMEM

  • Revert “iris: Avoid abort() if kernel can’t allocate memory”

Karmjit Mahil (28):

  • pvr: Process set and reset event sub commands.

  • pvr: Process wait event sub command.

  • pvr: Add SPM scratch buffer infrastructure.

  • pvr: Acquire scratch buffer on framebuffer creation.

  • pvr: Update comment about ZS and MSAA buffers for pvrsrvkm submission.

  • pvr: Set SPMSCRATCHBUFFER flag.

  • pvr: Add SPM load usc empty programs

  • pvr: Upload spm load programs to device.

  • pvr: Add support for VK_ATTACHMENT_LOAD_OP_LOAD.

  • pvr: Move descriptor write into pvr_write_descriptor_set()

  • pvr: Add support to copy descriptors on vkUpdateDescriptorSets()

  • pvr: Handle VK_QUERY_RESULT_WAIT_BIT.

  • pvr: Store enum pvr_stage_allocation instead of VkShaderStageFlags

  • pvr: Put old descriptor set approach behind a hardcoding check

  • pvr: Change last_DMA to last_dma

  • pvr: Write descriptor set addrs table dev addr into shareds

  • pvr: Add PVR_SELECT() helper macro

  • pvr: Add push consts support to descriptor program.

  • pvr: Add support for dynamic buffers descriptors

  • pvr: Add support for blend constants.

  • pvr: Move PBE START_POS into csb enum helpers header

  • pvr: Setup SPM EOT state

  • pvr: Remove unused msaa_mode field

  • pvr: Remove component_alignment

  • pvr: Setup SPM background object

  • pvr: Don’t advertise currently unsupported features

  • pvr: Advertise STORAGE_IMAGE_BIT for B10G11R11_UFLOAT_PACK32

  • pvr: Don’t advertise S8_UINT support

Karol Herbst (44):

  • rusticl: fix build error with valgrind being enabled

  • rusticl/util: extract offset_of macro

  • rusticl/icd: Make it work in case Rustc shuffles struct around

  • rusticl/kernel: fix clGetKernelInfo CL_KERNEL_ATTRIBUTES for non source programs

  • rusticl/program: enable spirv

  • llvmpipe/ci: increase deqp-runner timeout

  • rusticl/device: fix some device limits

  • rusticl/device: limit CL_DEVICE_MAX_CONSTANT_ARGS

  • rusticl: no compute only

  • rusticl: allocate printf buffer as staging

  • nir: Skip samplers and textures in lower_explicit_io

  • nir/deref: don’t replace casts with deref_struct if we’d lose the stride

  • ci/zink: move threading tests to flakes

  • rusticl/kernel: Images arg sizes also have to match the host pointer size

  • gallivm: fix lp_vec_add_offset_ptr for 32 bit builds

  • nvc0: enable fp helper invocation memory loads on Turing+

  • nir: track existence of variable shared memory

  • rusticl/kernel: set has_variable_shared_mem on the nir

  • gallium: add get_compute_state_info

  • lp: implement get_compute_state_info

  • iris: implement get_compute_state_info

  • nv50: implement get_compute_state_info

  • nvc0: implement get_compute_state_info

  • panfrost: move max_thread_count and take reg_count into account

  • panfrost: implement get_compute_state_info

  • rusticl/kernel: make use of cso info

  • radeonsi: implement get_compute_state_info

  • radeonsi: use default float mode for CL

  • rusticl: enable radeonsi

  • rusticl: split platform into core and api parts

  • rusticl/platform: rename _cl_platform_id to Platform

  • rusticl/platform: move getter into the type

  • rusticl/platform: move device initialization to the platform

  • rusticl/program: allow dumping compilation logs through RUSTICL_DEBUG

  • rusticl/program: make IL programs look closer to CLC ones

  • clc: add clc_validate_spirv

  • rusticl/program: validate the SPIR-V when created from IL

  • rusticl/program: extract common code of compile and build

  • rusticl/program: rework source code tracking

  • rusticl/event: drop work item before updating status

  • radeonsi: lower mul_high

  • ac/llvm: support shifts on 16 bit vec2

  • rusticl: don’t set size_t-is-usize for >=bindgen-0.65

  • nvc0: do not randomly emit fences.

Kenneth Graunke (37):

  • intel/blorp: Lower base_workgroup_id to zero

  • intel/compiler: Move atomic op translation into emit_*_atomic()

  • intel/compiler: Use LSC opcode enum rather than legacy BRW_AOPs

  • intel/compiler: Add an lsc_op_num_data_values() helper

  • intel/compiler: Eliminate SHADER_OPCODE_UNTYPED_ATOMIC_FLOAT

  • intel/compiler: Drop redundant 32-bit expansion for shared float atomics

  • intel/compiler: Delete fs_visitor::nir_emit_{ssbo,shared}_atomic_float()

  • intel/compiler: Combine nir_emit_{ssbo,shared}_atomic into one helper

  • intel/compiler: Delete all the A64 atomic variants for type sizes

  • intel/compiler: Drop dest checking in atomic code

  • intel/compiler: Use more symbolic source names in components_read()

  • anv: Add missing untyped data port flush on PIPELINE_SELECT

  • iris: Add missing untyped data port flush on PIPELINE_SELECT

  • loader: Add infrastructure for tracking active CRTC resources

  • egl: Rewrite eglGetMscRateANGLE to avoid probes and handle multi-monitor

  • iris: Perform load_constant address math in 32-bit rather than 64-bit

  • anv: Perform load_constant address math in 32-bit rather than 64-bit

  • anv: Make a batch decoder for each queue family

  • nir: Print divergence information for registers as well as SSA defs

  • nir: Fix merge_set_dump() to compile again

  • nir: Fix typos in the from-SSA pass comments

  • intel: Use common helpers for TCS passthrough shaders

  • intel/fs: Fix inferred_sync_pipe for F16TO32 opcodes

  • intel/fs: Add builder helpers for F32TO16/F16TO32 that work on Gfx7.x

  • intel/fs: Delete a TODO about using brw_F32TO16.

  • intel/fs: Use new F16TO32 helpers for unpack_half_split_* opcodes

  • Revert “intel/fs: Fix inferred_sync_pipe for F16TO32 opcodes”

  • intel/fs: Use F32TO16/F16TO32 helpers in fquantize16 handling

  • intel/fs: Move packHalf2x16 handling to lower_pack()

  • intel/eu: Simplify brw_F32TO16 and brw_F16TO32

  • intel/vec4: Retype texture/sampler indexes to UD

  • intel/fs: Make bld.F16TO32 actually emit F16TO32 not F32TO16

  • i965/vec4: Implement uclz in the vec4 backend

  • st/mesa, iris: Add optional CPU-based ASTC void extent denorm flushing

  • intel/compiler: Use nir_dest_bit_size() for ballot bit size check

  • iris: Extend resource creation helpers to allow for explicit strides

  • iris: Hack around gbm_gralloc stride restrictions

Konrad Dybcio (3):

  • freedreno/registers: Add RBBM_GPR0_CNTL for non-GMU operation

  • freedreno: Add A2xx perf counter reg values

  • freedreno: Add A2xx REG_A2XX_RBBM_PM_OVERRIDE2 bitfields

Konstantin Seurer (78):

  • vulkan: Track the nullDescriptor feature

  • radv: Add a helper for finding memory indices

  • radv: Create a null TLAS as meta state

  • radv: Use the null accel struct instead of emitting 0

  • radv/rt: Get rid of accel struct null checks

  • radv: Advertise rt pipelines for Control (DX12)

  • radv/bvh/meson: Add the option to set defines

  • radv/bvh: Add a define for extended SAH

  • radv: Add a shader variant for PLOC with extended SAH

  • radv: Wrap internal build type inside a build_config struct

  • radv: Enable extended SAH for shallow BVHs

  • radv: Merge the leaf and internal converter

  • radv: Improve the BVH size estimation

  • radv: Fix creating accel structs with unbound buffers

  • radv: Work around shader_call_data variables in raygen shaders

  • radv/rq: Use 16 stack entries if there is only one ray query

  • radv/llvm: Use the shader names as module name

  • ac/llvm: Fix validation error with global io

  • radv: Scalarize global IO with LLVM enabled

  • radv: Make radv_compute_dispatch non-static

  • radv: Implement ordered compute dispatches

  • radv: Use an ordered dispatch for BVH encoding

  • radv: Remove radv_indirect_unaligned_dispatch

  • vulkan,nir: Refactor ycbcr conversion state into a struct

  • radv: Use common ycbcr conversion lowering

  • radv/rra: Find copy memory index when initializing the trace state

  • radv/rra: Hide deferred accel struct data destruction behind an env var

  • radv: Hash VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_* flags

  • radv: Clean up dynamic RT stack allocation

  • ac/llvm: Implement bvh64_intersect_ray_amd

  • radv: Make accel struct meta state initialization thread safe

  • radv: Force ACO for BVH build shaders

  • radv: Pre-compile BVH build shaders if there is a cache

  • radv: Advertise ray query support with LLVM

  • radv/rt: Skip instances after loading the entire node

  • vulkan: Add vk_acceleration_structure

  • radv: Use vk_acceleration_structure

  • anv: Use vk_acceleration_structure

  • radv/bvh/encode: Use the node type for identifying internal nodes

  • radv/bvh: Replace is_final_tree with bvh_offset

  • radv/bvh/encode: Move bvh_offset NULL check to the top of the loop

  • radv/bvh/encode: Introduce is_root_node

  • radv/bvh/encoder: Move dst_node initialization into the loop

  • radv: Add a build config for compact builds

  • radv/bvh: Implement compact encoding

  • radv: Use compact encoding

  • radv: Move the geometry infos before the BVH

  • radv/bvh: Move the size header field up

  • radv/bvh: Add a shader for filling the header

  • radv: Use indirect header filling for compact builds

  • nir: Add cull_mask_and_flags_amd intrinsic

  • radv/rt: Merge cull_mask and flags

  • radv/rt: Pre shift cull_mask

  • radv: Move header and geometry info init into separate functions

  • radv: Only init geometry infos if RRA is enabled

  • radv/rt: Use ushr for extracting the cull mask

  • radv/rt: Fix updating stack_size if the shader uses scratch

  • radv/rt: Use vk_pipeline_hash_shader_stage for RT stages

  • vulkan: Add vk_shader_module_init

  • radv/rt: Properly handle pNext of pipeline library stages

  • radv/sqtt: Skip dumping pipeline libraries

  • radv: Fix loading stack_size from the cache

  • radv: Fix inserting stack_size into the cache

  • radv/rt: Handle load_constant instructions when inlining shaders

  • nir/lower_shader_calls: Remat derefs before lowering resumes

  • radv/rt: Refactor rq_load lowering

  • radv/rq: Rematerialize inv_dir before proceed

  • radv: Set user SGPR locations when declaring args

  • radv: Stop counting user SGPRS separately

  • radv/ci: Update ray tracing pipeline fail/skip lists

  • radv: Add radv_shader_type to fix gs_copy and trap handler handling

  • radv: Remove some dead radv_shader_args setup

  • aco: Remove is_gs_copy_shader

  • radv: Remove has_previous_stage

  • radv: Pack and encode geometry id and flags on the CPU

  • radv/bvh: Remove calculate_node_bounds

  • radv: Remove radv_bvh_aabb_node::aabb

  • nir/lower_fp16_casts: Fix SSA dominance

Kurt Kartaltepe (1):

  • drirc: Set limit_trig_input_range option for Nier games

Lang Yu (1):

  • amd/common: fix a typo

Lepton Wu (1):

  • egl/dri2: Use primary device in EGL device platform for kms_swrast

Lina Versace (8):

  • util/glsl2spirv: Fix build with Python 3.6

  • docs: Lower Python requirement to 3.6

  • mailmap: Lina is Chad’s new name

  • mailmap: Add Lina’s new google.com address

  • venus: Update protocol for VK_EXT_memory_budget

  • venus: Delete vn_renderer_info::has_cache_management

  • venus: Refactor vn_physical_device_init_memory_properties

  • venus: Enable VK_EXT_memory_budget

Lionel Landwerlin (151):

  • pps: print out message when we get the first counters

  • anv: record secondaries’ traces into primaries

  • intel/ds: track secondary cmdbuffers in perfetto

  • intel/ds: move event_id access to perfetto lambda

  • util/u_trace: add support for variable length trace points

  • vulkan/debug_utils: copy debug util labels

  • anv: add support for command buffer tagging in traces

  • intel/ds: add INTEL_GPU_TRACEPOINT envvar to toggle tracepoints

  • intel/ds: remove unused trace point

  • intel/utrace: document tracepoints

  • Revert “ci: build hasvk if we’re building anv”

  • intel: use a shared UUID with other drivers

  • nir/divergence: add missing RT intrinsinc handling

  • anv: fix generated indirect draw shader stats checks

  • nir/lower_io: fix bounds checking for 64bit_bounded_global

  • anv: fix preemption enable emission in gpu_memcpy

  • intel/fs: avoid cmod optimization on instruction with different write_mask

  • intel/decoder: print out compute push constants

  • intel/common: add a INTEL_DECODE variable to parameter decoder at runtime

  • vulkan/wsi/wayland: improve same gpu detection

  • intel/fs: drop FS_OPCODE_UNIFORM_PULL_CONSTANT_LOAD_GFX7

  • anv: fix null descriptors

  • docs: list anv in EXT_extended_dynamic_state3 support

  • intel: add missing PS restriction on BDW+

  • anv: expose EXT_load_store_op_none

  • intel/fs: make alpha_to_coverage a tristate

  • anv: rename RT pipeline function helper

  • anv: rename a few internal functions to highlight gfx use

  • intel/ds: track end of pipe bits

  • anv: use malloc for host only descriptor sets

  • anv: put the video extension behind a variable

  • intel/fs: fix mesh indirect movs

  • intel/dev: add a default urb value for intel_stub_gpu on dg2

  • anv/hasvk: handle a SAMPLED_READ/STORAGE_READ access flags

  • anv: remove copied information from runtime graphics state

  • anv: move 3DSTATE_VERTEX_ELEMENT emission to dynamic path

  • anv: implement VK_EXT_vertex_input_dynamic_state

  • intel/fs: bound subgroup invocation read to dispatch size

  • hasvk: fix KHR_shader_float_controls reporting

  • intel/perf: also add the oa timestamp shift on MTL

  • anv: move debug submit to helper and call it on execbuf failure

  • anv: track vram only BOs to print things out on ENOMEM execbuf

  • anv: fix vma heap memory leak

  • anv: fix invalid masking of 48bit address

  • anv: remove assert typed write support when using NULL surface

  • vulkan/runtime: store parameters of VK_EXT_sliced_view_of_3d

  • anv: fixup Wa_16011107343 for Gfx12 only

  • iris: fix Wa_16011107343 for Gfx12

  • anv: remove more Gfx7 code

  • genxml: Fix STATE_BASE_ADDRESS::BindlessSurfaceStateSize field size

  • genxml: fix border color offset field on Gfx12+

  • anv/hasvk: speed up null image/view descriptor writes

  • anv: fix scratch buffer reloc in 3DSTATE_HS

  • anv: fixup condition for Wa_14016118574

  • anv: pull Wa_14016118574 out of some loop not changing state

  • util/glsl2spirv: add support for include directive

  • anv: fix incorrect parameter

  • anv: correctly reset generation address on command buffer reset

  • anv: fix generated forward jump with more than 67M draws

  • anv: remove copied code from generation shader

  • anv: remove BTI related flush in generation shaders

  • anv: correctly program 3DSTATE_SF in generation shaders

  • anv: limit push constant dirtyness with generation shaders

  • anv: remove pre hasvk split assert

  • anv: remove commented code

  • anv: fix 3DSTATE_PS emission in generation shaders

  • anv: fix indirect draws VF cache tracking of index buffer

  • anv: make sure mi_memcpy lands before push constant loads

  • anv: remove MI_NOOPs at the end of the generation batch

  • anv: use a single generation shader for indirect draws

  • anv: rename generated draws for Gfx11

  • anv: use 64bit int support in generation shaders

  • anv: pack more data into generated draws input

  • anv: move common shader code into header

  • anv: use a list of generated shaders

  • anv: remove unused item_count parameter

  • anv: add gfx9 generated draw support

  • blorp: add dependency on idep_intel_dev

  • vulkan/runtime: only consider slice info with 3D image views

  • anv: VK_EXT_image_sliced_view_of_3d

  • nir: fix nir_ishl_imm

  • anv: enable VK_EXT_pipeline_library_group_handles

  • anv/iris: report counter symbols with debug option

  • intel/fs: report max register pressure in shader stats

  • anv: report max register pressure in pipeline properties

  • anv: force MEDIA_INTERFACE_DESCRIPTOR_LOAD reemit after 3D->GPGPU switch

  • radv: use 1ull for alignment computations

  • util: allow align64() to do alignments >= 4Gb

  • docs: fix invalid link

  • iris: trace frames with u_trace

  • anv: export EXT_pipeline_library_group_handles only with RT

  • docs: update Anv features support

  • anv: more formats for acceleration structure vertices

  • intel/fs: don’t SEND messages as partial writes

  • intel/fs: fix nir_opt_peephole_ffma max vec assumption

  • intel/fs: fixup sources number from opt_algebraic

  • intel/fs: add MOV source count validation

  • intel/fs: prevent large vector ops generated by peephole_ffma

  • intel/fs: fix subgroup invocation read bounds checking

  • vulkan/wsi: add a headless swapchain implementation/option

  • intel/compiler: report max dispatch width statistic

  • anv: report shader max dispatch width in pipeline props

  • intel/devinfo: add an option to pick platform to print

  • intel/devinfo: printout URB entries

  • intel/dev: use generated WA helpers for Wa_22012575642

  • intel/devinfo: dedicated entries for XeHP

  • intel/devinfo: initialize pci_device_id with from_pci_id()

  • intel/dev: fold Gfx12 URB entries in Gfx12 HW info

  • util/u_trace: move needs_cs_param option to tracepoints

  • vulkan/runtime: also copy strings on queue debug utils

  • intel/ds: rename frame timeline row to queue

  • anv: fix incorrect utrace bo release

  • anv: fixup locking for utrace submission increments

  • anv: rename anv_utrace_flush_copy in anv_utrace_submit

  • anv: add utrace support for queue debug utils

  • anv: implement recommended flush/wait of AUX-TT invalidation

  • iris: implement recommended flush/wait of AUX-TT invalidation

  • anv: hash immutable sampler conversion data not pointers

  • anv: compute the largest GRL kernel scratch size

  • anv: move queue check helpers to anv_private

  • anv: take care of maxStorageBufferRange being uint32_t

  • isl: update max buffer size for SKL+

  • intel/dev: set a default valid kmd_type

  • intel/perf: fix OA format selection on MTL

  • intel/fs: run VGRF compaction just before max live register accounting

  • intel/fs: don’t consider fixup_nomask_control_flow SENDs predicate

  • intel/fs: UNDEF fixup_nomask_control_flow temp register

  • intel/fs: copy instruction sources in logical send lowering

  • intel/fs: factor out lsc surface descriptor settings

  • nir: reuse nir_component_mask() where it makes sense

  • nir: add 2 new intel intrinsics for uniform ssbo/shared loads

  • intel/fs: optimize uniform SSBO & shared loads

  • intel/fs: also allow vec8+ vectorization of load_global_const_block_intel

  • anv: pass steam output as argument for anv_dump_pipe_bits

  • anv: replace query flush before gpu copy by semaphore wait

  • anv: fixup streamout write barriers

  • intel/fs: use nomask for setting cr0 for float controls

  • anv: exclude performance queries from blorp clears

  • intel/ds: add a new timeline row for frames

  • anv: add utrace tracking of frame boundaries

  • vulkan/runtime: discard unused graphics stages in libraries

  • intel/vec4: force exec_all on float control instruction

  • vulkan/overlay: deal with unknown pNext structures

  • isl: don’t set inconsistent fields for depth when using stencil only

  • isl: fix a number of errors on storage format support on Gfx9/12.5

  • anv: rework Wa_14017076903 to only apply with occlusion queries

  • nir/divergence: add missing load_global_constant_* intrinsics

  • anv: fix anv_nir_lower_ubo_loads pass

  • intel/fs: fix per vertex input clamping

  • intel/compiler: make uses_pos_offset a tri-state

  • intel/fs: fix scheduling of HALT instructions

Liviu Prodea (1):

  • meson: Ignore unused variables when assertions are disabled

Lone_Wolf (3):

  • compiler/clc: Fix embedded clang headers (microsoft-clc) for LLVM 16+

  • clc: Add clangASTMatchers to fix static llvm build of microsoft-clc with LLVM 16+

  • clc: Add clang frontendhlsl module to fix build of microsoft-clc with llvm 16+

Luc Ma (2):

  • xlib: fix glXDestroyContext in Gallium frontends

  • meson: keep Mako version checking in accord with build msg

Lucas Fryzek (11):

  • crocus: Add support for `get_screen_fd`

  • tegra: Add support for `get_screen_fd`

  • nouveau: Add support for `get_screen_fd`

  • zink: Add support for `get_screen_fd`

  • iris: Add support for `get_screen_fd`

  • i915: Add support for `get_screen_fd`

  • svga: Add support for `get_screen_fd`

  • virgl: Add support for `get_screen_fd`

  • r300/r600/radeon_si: Add support for `get_screen_fd`

  • d3d12/llvmpipe/softpipe: Add support for `get_screen_fd`

  • gallium: Modify default path for DMABUF to use DRM

Lucas Stach (7):

  • etnaviv: don’t drop TS capability on GPUs with MMUv2

  • etnaviv: drm: fix BO array leaks

  • etnaviv: free pm queries dynarray on screen destroy

  • etnaviv: drm: fix check if BO is on a deferred destroy list

  • etnaviv: fix double scanout import of multiplanar resources

  • etnaviv: flush VS texture cache when texture data is changed

  • etnaviv: fix texture barrier implementation

Luigi Santivetti (4):

  • pvr: fix uses_tile_buffers in clear color attachment

  • pvr: add support for tile buffer output clear

  • pvr: add padding bytes when allocating buffer memory

  • pvr: fix segfault in dEQP-VK.ycbcr.query.*

Luna Nova (3):

  • device_select_layer: fix inverted strcmp in device_select_find_dri_prime_tag_default (v1)

  • device_select_layer: apply DRI_PRIME even if default device is > 1 to match opengl behavior

  • device_select_layer: pick a default device before applying DRI_PRIME

Lynne (1):

  • aco_validate: allow for wave32 in p_dual_src_export_gfx11

M Henning (1):

  • nouveau/codegen: Check nir_dest_num_components

Maarten Lankhorst (1):

  • iris: Place scanout buffers only into lmem for discrete GPUs

Marcin Ślusarz (23):

  • intel/compiler: fix generation of vec8/vec16 alu instruction

  • intel/compiler/mesh: handle const data in task & mesh programs

  • intel/compiler: fine-grained control of dispatch widths

  • nir: add nir_mod_analysis & its tests

  • intel/compiler/mesh: optimize indirect writes

  • intel/compiler/mesh: support longer write messages

  • intel/compiler/mesh: remove dead code path supporting >4 dword writes

  • intel/compiler/mesh: use U888X packed index format

  • anv: bump ANV_MAX_QUEUE_FAMILIES

  • intel/compiler: replace gl_Layer & gl_ViewportIndex by 0 in fs if ms doesn’t write it

  • anv: fix how unset gl_Viewport & gl_Layer are handled in mesh case

  • intel/compiler/mesh: use slice id of task urb handles in mesh shaders

  • anv: enable task redistribution

  • intel/compiler/mesh: apply URB payload mask once per program

  • intel/compiler/mesh: follow the type of offset variable

  • intel/compiler: remove unused field from fs_thread_payload

  • anv: halve the push constants space in mesh pipelines

  • crocus/meson: add back dependency on libintel_dev

  • anv,hasvk: remove stale comments

  • anv: call nir_shader_gather_info early

  • anv: work around for per-prim attributes corruption

  • intel/compiler: compactify locations of mesh outputs

  • anv: ignore structure types handled in vk_device_memory_create

Marek Olšák (212):

  • glthread: fix an upload buffer leak

  • util: fix util_is_vbo_upload_ratio_too_large

  • mesa: allow GL_UNSIGNED_INT64_ARB as vertex format for ARB_bindless_texture

  • glapi: autogenerate function parameters with no space between * and variable

  • glthread: handle GL_*_ARRAY in glEnable/Disable

  • glthread: set GL_OUT_OF_MEMORY if we fail to upload indices

  • glthread: set GL_OUT_OF_MEMORY if we fail to upload vertices

  • glthread: execute glMultiDrawArrays(draw_count < 0) asynchronously

  • glthread: change multi_draw_elements_async() to never fail due to large size

  • glthread: do vertex uploads if an index buffer is present for glDrawElements

  • mesa: move gl_vertex_format_user definition into glthread.h

  • glthread: pack and name the type of glthread_vao::Attrib

  • glthread: make marshal functions for glBegin/End attribs non-static

  • glthread: remove the vbo_upload_ratio_too_large fallback for glMultiDrawElements

  • glthread: do vertex uploads if an index buffer is present for MultiDrawElements

  • glthread: disallow glthread if buffer uploads are unsupported

  • ac/llvm: run the LLVM sinking pass because LLVM will stop running it

  • ac/llvm: run the IPSCCP pass

  • ac/llvm: remove llvm:: now that we use “using namespace llvm”

  • amd: update amdgpu_drm.h

  • ac/gpu_info: add PCIe info

  • radeonsi/ci: update gfx10.3 results

  • radeonsi/ci: add gfx1100 results

  • radeonsi: fix RB+ blending with sRGB formats

  • radeonsi/gfx11: unset SAMPLE_MASK_TRACKER_WATERMARK to fix hangs

  • amd: split GFX1103 into GFX1103_R1 and GFX1103_R2

  • amd: fix tile_swizzle on gfx11 - should be shifted by 10 bits, not 8

  • amd: update SX_BLEND_OPT_EPSILON.MRT0_EPSILON enum definitions

  • amd: update shadowed register tables for gfx11

  • amd: improve RB+ blending precision

  • radeonsi: implement RB+ depth-only rendering for better perf

  • radeonsi/gfx11: remove the INST_PREF_SIZE workaround

  • radeonsi/gfx11: add a comment why we use PRIM_GRP_SIZE <= 252

  • radeonsi/gfx11: adjust ACCUM_* fields for tessellation

  • radeonsi/gfx11: fix blend->cb_target_mask dependency for shader keys

  • radeonsi/gfx11: move the PIXEL_PIPE_STAT_CONTROL event into the GFX preambles

  • radeonsi/gfx11: use new packet EVENT_WRITE_ZPASS

  • radeonsi: deduplicate VS/TES/GS update code

  • radeonsi/gfx11: always set MSAA_NUM_SAMPLES=0 for DCC_DECOMPRESS

  • radeonsi: merge si_ps_key_update_framebuffer_blend & .._update_blend_rasterizer

  • radeonsi: determine alpha_to_coverage robustly in si_update_framebuffer_blend_rasterizer

  • radeonsi: never set INTERPOLATE_COMP_Z

  • amd: unify and tune the attribute ring size for gfx11

  • amd: change pbb_max_alloc_count for gfx11

  • amd: update the cache size for gfx1103_r1

  • amd: update late_alloc_wave64 for gfx11

  • amd: sort and re-indent packet definitions

  • amd: fix typo in shadowed uconfig registers on gfx11

  • amd: document OOB behavior on gfx11

  • amd/registers: remove confusing definitions from gfx10-rsrc.json

  • radeonsi: set NEVER as the depth compare func if depth compare is disabled

  • amd/llvm: fix LLVM 15 & 16 crashes in SelectionDAG.cpp

  • radeonsi: call ac_init_llvm_once before any util_queue initialization

  • radeonsi: set sampler COMPAT_MODE in the corresponding branch

  • amd/ci: update sanctuary trace sha1

  • radeonsi/gfx11: don’t add mrt0 export for alpha-to-coverage if mrtz is present

  • radeonsi/gfx11: don’t add alpha to mrt0 format for A2C if exporting via mrtz

  • amd: define new SET_*_REG_PAIRS packets

  • radeonsi: clean up si_set_mutable_tex_desc_fields

  • amd/surface: clean up is_dcc_supported_by_L2

  • amd,util: fix how lod bias is converted to fixed-point

  • amd: don’t hardcode real VGPR allocation granularity on gfx10.3 and gfx11

  • glthread: track the current element array buffer in the Core profile too

  • mesa: ignore indices[i] if count[i] == 0 for MultiDrawElements

  • glthread: initialize indices[i] for no-op MultiDrawElements

  • glthread: upload non-BO indices in the core profile to fix GStreamer

  • glthread: add a heuristic to stop locking global mutexes with multiple contexts

  • glthread: ignore non-VBO vertex arrays with NULL data pointers

  • Revert “ci/zink: Disable Amnesia trace until the linked issue gets fixed.”

  • glthread: rewrite glMultiDrawArrays to never fail to upload vertices

  • glthread: change glMultiDrawElements to execute draw_count < 0 asynchronously

  • glthread: don’t execute glDraw code if we’re inside glBegin/End

  • glthread: don’t pass index bounds to the driver for async calls

  • glthread: move some draw call parameters closer to their use

  • glthread: don’t bind/unbind uploaded indexbuf, pass it to glDraw directly

  • glthread: don’t bind/unbind uploaded indexbuf, pass it to glMultiDraw directly

  • glthread: track vertex formats for all attributes

  • glthread: add a vertex upload path that unrolls indices for glDrawElements

  • glthread: reorder draw code a little

  • glthread: add ctx->GLThread.draw_always_async to simplify draw checking

  • glthread: remove goto statements and add unlikely() into draw functions

  • glthread: inline draw functions that have only one use

  • glthread: don’t execute Draw and BufferSubData calls if the context is lost

  • glthread: handle non-VBO uploads for glMultiModeDraw{Arrays,Elements}IBM

  • glthread: add API to allow passing DrawID from glthread to mesa

  • glthread: convert (Multi)DrawIndirect into direct if user buffers are present

  • glthread: remove unnecessary debug code

  • glthread: don’t free glthread for GL_DEBUG_OUTPUT_SYNCHRONOUS, only disable it

  • glthread: don’t restore non-VBO vertex arrays after all draws

  • Revert “radeonsi/ci: Update stoney test expectations”

  • radeonsi: fix COMPAT_MODE on gfx8-9

  • amd: fix LOD_BIAS on gfx6-9 and adjust the lod bias CAP

  • amd: add missing gfx11 register definitions

  • amd: bump AMD_MAX_SE and change the CU mask type to 16 bits

  • radeonsi/gfx11: fix the CU_EN clear mask for RSRC4_GS

  • radeonsi/gfx11: don’t set non-existent VGT_STRMOUT_BUFFER_CONFIG

  • radeonsi/gfx11: set CB_COLORi_INFO.MAX_COMP_FRAG on GFX1103_R2

  • radeonsi: move a few DB_SHADER_CONTROL states into si_shader_ps

  • radeonsi: change si_shader::ctx_reg to a nameless union for better readability

  • radeonsi: remove no-op setting of THDS_PER_SUBGRP

  • radeonsi: use SPI_SHADER_USER_DATA_HS_0 definition instead of LS_0

  • radeonsi: set PA_SU_VTX_CNTL consecutively with PA_CL_GB_VERT_CLIP_ADJ

  • radeonsi/gfx11: ignore alpha_is_on_msb because the hw ignores it

  • radeonsi: replace si_screen::has_out_of_order_rast with the radeon_info field

  • radeonsi: disable Smart Access Memory because CPU access has large overhead

  • amd,radeonsi: remove unused LLVM functions

  • amd/registers: unify VRS combiner definition names between gfx103 and gfx11

  • amd: replace SI_BIG_ENDIAN with UTIL_ARCH_BIG_ENDIAN

  • radeonsi: remove returns from si_emit_global_shader_pointers

  • radeonsi: reformat emit_cb_render_state, create_blend_state, create_rs_state

  • radeonsi: remove a gfx11 check in si_shader_gs (legacy GS)

  • radeonsi: remove unused VS_STATE_LS_OUT_PATCH_SIZE

  • radeonsi: always add 1 to lshs_vertex_stride now that LS_OUT_PATCH_SIZE is gone

  • radeonsi: correct and clean up obsolete vs_state_bits comments

  • radeonsi: rename esgs_itemsize -> esgs_vertex_stride

  • amd: query the per-SIMD VGPR counts from the kernel, don’t hardcode them

  • radeonsi: don’t clamp z_samples to fix Unreal Tournament 99

  • amd/registers: only define SPI and COMPUTE registers in the 0xB000 range

  • radeonsi: reorganize emit_db_render_state and simplify VRS code

  • radeonsi: reorganize si_initialize_color_surface for better readability

  • radeonsi: reorganize si_init_depth_surface for better readability

  • radeonsi: don’t set PACKET_TO_ONE_PA for line stippling

  • radeonsi/gfx11: change the default of COMPUTE_DISPATCH_INTERLEAVE to 256

  • amd: implement conformant TRUNC_COORD behavior for gfx11

  • amd/gpu_info: add a workaround for SI_FORCE_FAMILY=gfx1100

  • nir,amd: add and use nir_intrinsic_load_esgs_vertex_stride_amd

  • nir: lower to fragment_mask_fetch/load_amd with EQAA correctly

  • glthread: fix a perf regression due to draw_always_async flag, fix DrawIndirect

  • mesa: fix glPopClientAttrib with fixed-func VP and zero-stride varyings

  • mesa: remove a redundant call to _mesa_update_edgeflag_state_vao

  • mesa: initialize VertexProgram._VaryingInputs before the first use

  • amd: update amdgpu_drm.h

  • amd,radeonsi: change enabled_rb_mask to 64 bits

  • amd: query cache sizes from the kernel

  • ac/nir: don’t use load_esgs_vertex_stride_amd on gfx6-8

  • amd: massively simplify how info->spi_cu_en is applied

  • amd/rtld: allow 64K LDS for all shader stages except for gfx6

  • radeonsi/ci: update flakes and gfx8-polaris11 results

  • radeonsi: remove Smart Access Memory because CPU access has large overhead

  • radeonsi: reorganize si_emit_framebuffer_state for better readability

  • radeonsi: don’t merge SET_* packets that have a different index in si_pm4_state

  • radeonsi: reindent code in si_state_binning.c

  • radeonsi: add si_pm4_set_reg_va to simplify setting reg_va_low_idx for RGP

  • radeonsi: check the pm4.reg_va_low_idx assertion unconditionally

  • radeonsi: simplify encoding VGPRS and SGPRS

  • radeonsi: assume shader is never NULL in si_emit_shader_*

  • nir: return progress from nir_lower_io_to_scalar

  • nir: skip nir_op_unpack_32_4x8 in nir_lower_alu_width

  • ac/nir: add ac_nir_lower_subdword_loads to lower 8/16-bit loads to 32 bits

  • aco: implement nir_op_unpack_32_4x8

  • ac/llvm: implement nir_op_unpack_32_4x8

  • amd: lower subdword UBO loads in NIR

  • amd: lower multi-component subdword SSBO loads in NIR

  • lavapipe/ci: add a new flake

  • amd: add nir_intrinsic_xfb_counter_sub_amd and fix overflowed streamout offsets

  • amd/llvm,radeonsi/gfx11: switch to using GDS_STRMOUT registers

  • radeonsi/gfx11: only allocate GDS OA for streamout, GDS memory is not needed

  • radeonsi: emulate VGT_ESGS_RING_ITEMSIZE in the shader on gfx9-11

  • radeonsi: merge si_emit_initial_compute_regs with si_init_cs_preamble_state

  • radeonsi: separate nir_texop_descriptor_amd lowering

  • radeonsi: lower nir_texop_sampler_descriptor_amd

  • radeonsi: set pm4.atom.emit in si_get_shader_pm4_state

  • radeonsi: reindent si_shader_ls, si_shader_es, si_shader_gs, si_shader_vs

  • radeonsi: reorganize si_shader_hs

  • radeonsi: reorganize si_shader_ngg

  • radeonsi: reorganize si_shader_ps

  • radeonsi: other cosmetic changes in si_state_shaders.cpp

  • radeonsi: allow using 64K LDS for NGG to allow larger workgroups

  • radeonsi: increase NGG workgroup size to 256 for VS/TES with streamout and GS

  • glapi: move files specific to shared-glapi into the shared-glapi subdirectory

  • glapi: inline the meson list files_mapi_util

  • mesa: move ctx->Table -> ctx->Dispatch.Table except Client & MarshalExec

  • mesa: rename CurrentClientDispatch to GLApi

  • mesa: put dispatch table initialization into one place

  • glthread: qualify the *cmd unmarshal parameter with restrict

  • vbo: fix current attribs not updating gallium vertex elements

  • radeonsi: remove unused TCS/TES SGPR fields

  • radeonsi: dump shader stats only if dumping asm shaders

  • radeonsi: replace nonir,noir,noasm,preoptir options with new reworked options

  • radeonsi: remove duplicated gfx11 check in si_msaa_resolve_blit_via_CB

  • radeonsi: rework MSAA resolve averaging to exploit instruction-level parallelism

  • radeonsi: add AMD_DEBUG=nowcstream to enable caching for stream_uploader

  • radeonsi: don’t print the base non-view texture format for AMD_TEST=computeblit

  • radeonsi: fix AMD_TEST=computeblit being rejected on gfx < 11

  • radeonsi: don’t convert to fp16 in the compute blit if not testing

  • radeonsi: don’t use fp16_rtz for FP formats in the compute blit

  • radeonsi: correct an assertion if we get a display list with no vertex buffers

  • ac/nir: don’t emit duplicated parameter exports

  • ac/nir: use plural correctly in the ac_nir_export_parameters name

  • radeonsi: remove unused vs_output_param_mask

  • egl: reorder code in _eglQueryDevicesEXT, add *swrast variable

  • egl: don’t expose swrast device if swrast is not built

  • amd/llvm: fix handling of unsupported vec3 loads on gfx6

  • amd/llvm: remove no-op code for vec3 loads in ac_build_tbuffer_load

  • amd: update addrlib

  • amd: rename GFX1036 -> RAPHAEL_MENDOCINO

  • amd: set the correct LLVM processor name for gfx1036

  • radeonsi/gfx11: reduce MSAA samples to 8 for no-attachment framebuffer

  • radeonsi: simplify binning settings to work around GPU hangs

  • amd: add gfx940 register definitions

  • amd: add initial code for gfx940

  • radeonsi: use COMPUTE_DISPATCH_SCRATCH_BASE on gfx940

  • radeonsi: always use ffma32 on gfx940

  • ac/surface: force linear image layout for chips not supporting image opcodes

  • radeonsi: add an emulated image descriptor for gfx940

  • ac/nir: implement image opcode emulation for CDNA, enable it in radeonsi

  • radeonsi: don’t set registers that don’t exist on gfx940

  • amd/registers: simplify integer division by 0x1000 in the parser

  • amd/registers: fix the parser to include CP_COHER registers for gfx940

  • amd/registers: update gfx940.json

  • amd/registers: use gfx9 packet definitions for gfx940

  • nir: fix 2 bugs in nir_create_passthrough_tcs

Mario Kleiner (1):

  • v3dv: Enable (leased) direct display extensions.

Mark Collins (4):

  • meson: update flex/bison requirement to cover all usages

  • meson: forcefully disable libdrm when host doesn’t have it

  • tu: KGSL backend rewrite

  • tu: fix tu_GetInstanceProcAddr not handling null instance

Mark Janes (13):

  • intel: Implement Wa_16011448509

  • util: add macro to support gcc/clang poison

  • intel/dev: generate helpers to identify platform workarounds

  • intel/dev: Print required workarounds with intel_dev_info

  • intel/fs: use generated workaround helpers for Wa_14010017096

  • intel/fs: use generated helpers for Wa_1209978020 / Wa_18012201914

  • intel/fs: use generated workaround helpers for Wa_14017989577

  • intel: use generated workaround helpers for Wa_1409600907

  • intel: use generated helpers for Wa_1409433168/Wa_16011107343

  • intel/fs: use generated helpers for Wa_14013363432 / Wa_14012688258

  • intel/dev: fix macro string concatenation for INTEL_WA_{id}_GFX_VER

  • intel/dev: fix macro naming convention in gen_wa_helpers.py

  • intel/dev: use GFX_VERx10 to detect genX compilation

Martin Roukala (né Peres) (22):

  • ci/deqp-runner: compress results.csv before uploading it to GitLab

  • ci/piglit: compress results.csv before uploading it to GitLab

  • zink/ci/radv: remove a test from the fails list

  • zink/ci: add a fail to the VG flake list

  • zink/ci: relocate radv testing from radv’s gitlab-ci.yml

  • zink/ci: add spec@!opengl 1.1@line-smooth-stipple to the fails list

  • ci/b2c: uprev to b2c v0.9.9

  • ci/debian/x86_test-vk: drop an outdated dependency

  • ci/core-manual-rules: enclose the whole condition in quotes

  • zink/ci: allow running manual jobs again on RADV

  • ci/init-stage2: allow sourcing the job env vars from the CWD

  • ci/init-stage2: always set XDG_RUNTIME_DIR

  • ci/b2c: move away from the hand-rolled initscript

  • ci: bring back the valve farm online

  • ci/valve-farm-rules: allow running jobs from outside the mesa namespace

  • radv/ci: reduce the parallelism for vkcts-vangogh

  • zink/ci: increase the parallelism of zink-radv-vangogh-valve

  • zink/ci: update the radv expectations

  • radv/ci: update VanGogh’s expectations

  • ci/b2c: increase the console timeout to 4 minutes

  • radv/ci: update the navi10 expectations

  • zink/ci: add a test to the fails list

Matt Coster (6):

  • pvr: Extract setup of winsys job submit flags into separate functions

  • pvr: Add support for geometry-only render jobs

  • pvr: Add pvr_csb_bake()

  • pvr: Rename global_queue_job_count to global_cmd_buffer_submit_count

  • pvr: Split render job submission for multi-layer framebuffers

  • pvr: Add firmware stream support for transfer submit

Matthieu Bouron (1):

  • lavapipe: honor dst base array layer when resolving color attachments

Mauro Rossi (1):

  • hasvk: include “vk_android.h” header in anv_android.c

Maíra Canal (1):

  • v3dv: remove unused clamp_to_transparent_black_border property

Michel Dänzer (29):

  • mesa/st: Fix GL_EXT_texture_type_2_10_10_10_REV name in comment

  • mesa/st: Handle all 10 bpc types in st_choose_format

  • glsl/standalone: Fix up _mesa_reference_shader_program_data signature

  • glsl/standalone: Do not pass memory allocated with ralloc_size to free

  • anv/grl: Use union for reinterpreting integer as float

  • clover: Reserve vector memory in make_text_section

  • ci: Update Fedora image to 36

  • ci: Re-enable intel-clc in fedora-release job

  • ci: Enable i915 Gallium driver in fedora-release job

  • ci: Enable the hasvk Vulkan driver in the fedora-release job

  • frontend/dri: Initialize callbacks in dri_swrast_kms_init_screen

  • nouveau: Make getSize return unsigned int

  • r600: Use container_of instead of direct pointer cast

  • crocus: Use ralloc_free for memory allocated with rzalloc

  • iris: Use ralloc_free for memory allocated with rzalloc

  • ci: Remove some -Werror workarounds for debian-android job

  • ci: Split up -Werror workarounds for debian-mingw32-x86_64 job

  • intel/vk/grl: Do not use no_override_init_args for C++

  • ci: Pass -Werror to compiler linking stage for LTO

  • ci: Allow passing c{,pp}_link_args to meson

  • ci: Make ccache optional

  • ci: Drop ccache from Fedora image

  • ci: Install procps-ng in Fedora image

  • ci: Enable LTO for fedora-release job

  • vulkan: Fix GetPhysicalDeviceSparseImageFormatProperties definitions

  • svga: Make vmw_svga_winsys_buffer_map definition match declaration

  • svga: Make declaration of emit_input_declaration match definition

  • clover/llvm: Use llvm::DataLayout::getABITypeAlign with LLVM >= 16

  • clover/llvm: Use std::nullopt already with LLVM 16

Michel Zou (4):

  • ci/mingw: drop useless -Wno-error flags

  • vulkan/wsi: fix -Wnarrowing warning

  • vk/entry_points:: fix mingw build

  • mesa/draw: fix -Wformat warning

Mike Blumenkrantz (536):

  • zink: simplify get_slot_components() for xfb emission

  • zink: add renderdoc handling

  • zink: prune old swapchains on present

  • zink: break out implicit feedback loop detection into separate function

  • zink: set textures_used in analyze_io

  • zink: outdent code in add_implicit_color_feedback_loop()

  • zink: make implicit feedback loop application stricter

  • zink: skip implicit feedback loop layout changes if feedback loop not present

  • zink: store drm format as internal_format for imported resources

  • zink: handle modifier nplanes queries correctly for planar formats

  • zink: NV_compute_shader_derivatives

  • zink: preserve present resources during async presentation

  • zink: add a util function for creating semaphores

  • zink: add a binary semaphore cache

  • zink: move semaphore caching to zink_reset_batch_state()

  • zink: consolidate semaphore creation where possible

  • zink: simplify some dynarray concat descriptor code

  • zink: delete need_blend_constants

  • zink: don’t use ds3 blend states without color attachments

  • radv: repack radv_graphics_pipeline struct

  • radv: reorder dynamic state checks during bind

  • radv: simplify depth aspect check in radv_handle_image_transition()

  • radv: add some graphics pipeline hints to optimize pipeline bind

  • radv: remove redundant type sizing

  • radv: add an early out in radv_cmd_buffer_flush_dynamic_state()

  • zink: use actual swapchain object for surface comparison

  • radv: stop using radv_pipeline_has_stage() in BindPipeline

  • zink: flag old-style shadow tex mask for fragment shaders

  • zink: break out tex dest rewriting into separate function

  • zink: add an extra_data param to zink_shader_compile

  • zink: track depth swizzle on samplerviews

  • zink: add a fs shader key member to indicate depth texturing mode

  • zink: rework depth sampler splatting in shaders

  • zink: block pipeline fast-pathing for any programs using depth texture modes

  • zink: plug in the program/module parts of shadow texture mode emulation

  • zink: create another samplerview for shadow textures

  • zink: remove old depth swizzle workaround

  • zink: pass depth swizzle data block to shader compile

  • mesa: remove dead parameter doc for _mesa_new_texture_object()

  • mesa: populate gl_program::ShadowSamplers mask from shader data

  • mesa: (more) correctly handle incomplete depth textures

  • zink: fix implicit feedback loop detection

  • radv: Move constant flushing check out to callers.

  • zink: fix VK_DYNAMIC_STATE_LINE_WIDTH usage

  • zink: move barrier jit to zink_context.c

  • zink: don’t skip repeated handling feedback loops

  • zink: return false for implicit feedback loop check with image binds

  • zink: update sampler layout when detecting feedback loop for first time

  • zink: force GENERAL layout for all fb attachments with image binds

  • zink: validation ci updates

  • zink: reorder commands more aggressively

  • Revert “zink: allow direct memory mapping for any COHERENT+CACHED buffer”

  • zink: fix heap/memory type selection

  • zink: add VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT for buffers if ext is enabled

  • zink: set vkusage/vkflags for buffer resource objects

  • zink: assert that buffer descriptor usage is populated before bind

  • zink: always set RESOURCE usage for descriptor buffers

  • zink: disable bindless texture ext with descriptor buffer

  • zink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT when using DB

  • zink: don’t add dmabuf export type if dmabuf isn’t supported

  • zink: stop leaking push descriptor templates

  • zink: always unref old images when adding new binds

  • zink: hook up VK_EXT_multisampled_render_to_single_sampled

  • zink: shrink zink_render_pass_state::msaa_expand_mask

  • zink: use VK_EXT_multisampled_render_to_single_sampled for EXT_multisample_render_to_texture

  • lavapipe: move noop fs creation to device

  • lavapipe: add refcounting for shader nir

  • lavapipe: refcount nir shaders instead of cloning

  • lavapipe: break out (and slightly refactor) gallium shader cso creation

  • lavapipe: create gfx gallium csos at pipeline bind

  • lavapipe: delete unused pipelines immediately

  • lavapipe: delete lvp_pipeline::mem_ctx

  • lavapipe: try harder to reuse pipeline layouts during merge

  • zink: only set VkPipelineColorBlendStateCreateInfo::attachmentCount without full ds3

  • zink: fix zink_mem_type_idx_from_bits()

  • zink: rework descriptor buffer templating to use offsets

  • Revert “zink: fix zink_mem_type_idx_from_bits()”

  • zink: enable PIPE_CAP_ALLOW_GLTHREAD_BUFFER_SUBDATA_OPT

  • zink: make bindless buffer_infos a union

  • zink: fix bindless struct member comments

  • zink: skip updating descriptor buffer sets that aren’t active

  • zink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT on compute pipelines

  • zink: break out descriptor binding into separate function

  • zink: add a flag to indicate whether a descriptor buffer is bound

  • zink: implement descriptor buffer handling of bindless texture

  • zink: enable bindless texture with ZINK_DESCRIPTORS=db

  • zink: free descriptor buffer maps on batch state destroy

  • zink: fix more cases of heap/memtype suballocator mismatch

  • zink: cache and reuse dummy inputattachment for fbfetch

  • zink: handle missing line rasterization modes with ds3

  • zink: add back VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT for bindless

  • gallium: add PIPE_CAP_NULL_TEXTURES

  • radeonsi: set PIPE_CAP_NULL_TEXTURES

  • zink: conditionally enable PIPE_CAP_NULL_TEXTURES

  • zink: fix max acquired image count

  • lavapipe: disable VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT for int formats

  • zink: set PIPE_CAP_VALIDATE_ALL_DIRTY_STATES

  • zink: move bindless_layout to screen and init on creation

  • zink: take screen param in init_db_template_entry()

  • zink: const-ify a bunch of shader key inlines

  • zink: move gpl usability checks to static inline for reuse

  • zink: remove duplicated gpl output blend initializations

  • zink: store last pipeline directly for zink_gfx_program::last_pipeline

  • zink: pass screen to descriptor_util_pool_key_get()

  • zink: delete zink_screen::framebuffer_cache

  • zink: make last_vertex_stage the first bit in zink_vs_key_base

  • zink: ralloc zink_shader structs

  • zink: add a define for the “default” optimal key

  • zink: add a define for testing that an optimal key is the default

  • zink: add VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT for gpl libs

  • zink: don’t set blend_id with full_ds3

  • zink: set gfx feedback loop bit in pipeline state for driver workaround

  • zink: set zs feedback loop bit from driver workaround on ctx create

  • zink: fix gpl lib hashing

  • zink: use screen indexing for bindless descriptor set in db bind

  • zink: use screen indexing for bindless descriptor set in template bind

  • util/vbuf: fix multidraw unrolling

  • zink: flag bindless_init before calling zink_batch_bind_db() in init

  • zink: avoid the descriptor set multiplier for bindless buffers

  • zink: split out VkShaderModule creation

  • zink: add flags param to zink_pipeline_layout_create()

  • zink: split out gfx pipeline library creation

  • zink: add gpl flags for libraries based on shaders passed

  • zink: allow multiple gpl libraries in zink_create_gfx_pipeline_combined()

  • zink: move gpl input/output funcs to zink_pipeline.c

  • zink: enable combining intermediate gpl libs from combine function

  • zink: use GPL to handle (simple) separate shader objects

  • zink: set PIPE_CAP_SURFACE_REINTERPRET_BLOCKS

  • zink: store gfx_hash on zink_gfx_program

  • zink: break out zink_gfx_program::libs into refcounted object

  • zink: implement cross-program pipeline library sharing

  • zink: add newlines to some debug printfs

  • zink: rename some variables in zink_set_shader_images()

  • zink: unset gfx shader read when unbinding shader images

  • zink: remove stale comment

  • zink: unref image buffer descriptors on unbind

  • zink: rework set_shader_images() hook

  • zink: pull out image descriptor updating in set_shader_images

  • zink: add a local is_compute var for set_shader_images

  • zink: allocate all batch command buffers in one call

  • zink: sync LTO compiles for GPL pipelines on shader free

  • zink: fix descriptor pool free iterating

  • zink: don’t fetch/update pipeline cache for separate shader programs

  • zink: assert that the found program matches the expected one in shader_free

  • zink: flag gfx programs as removed-from-cache by default

  • zink: rework separate shader descriptor iterating

  • zink: use a single descriptor buffer for all non-bindless types

  • zink: add an io assignment pass for separate shaders

  • zink: rename a struct member for clarity

  • zink: move zink_batch_state::db_bound reset to zink_batch_descriptor_reset()

  • zink: move db_bound to batch descriptor data

  • zink: ensure db is bound before separate shader update

  • zink: store base descriptor size on the screen

  • zink: implement a scaling descriptor buffer size

  • zink: calloc separable program zink_gfx_library_key struct

  • zink: also replace hash_entry::key when replacing separable program

  • zink: always use NEAREST for zs blits

  • zink: fix indentation of rebind_image()

  • zink: only try for a fb rebind if fb binds exist in rebind_image()

  • zink: account for null surface when trying to retain clears on fb bind

  • zink: break out pipe_surface init for new surface creation

  • zink: const-ify a surface param

  • zink: don’t handle mutable init on surface creation with tc enabled

  • zink: verify compressed format layer count when creating surfaces

  • zink: set ZINK_DESCRIPTORS=db for radv jobs

  • zink: enable renderpass optimizations by default for selected drivers

  • Revert “zink: always use NEAREST for zs blits”

  • zink: block LINEAR filtered blits for zs formats

  • lavapipe: enable linear filtering for depth formats

  • gallium: plumb resolve attachments through from frontends -> pipe_framebuffer_state

  • dri3: avoid deadlocking when polling deleted windows for events

  • vulkan/wsi: avoid deadlocking dri3 when polling deleted windows for events

  • vl/dri3: avoid deadlocking when polling deleted windows for events

  • zink: delete some now-broken ntv dref sampling code

  • zink: more accurately handle i/o for separate shaders

  • zink: handle semi-matching i/o for separate shaders

  • zink: enable renderpass optimizing on lavapipe

  • kopper: fix loop iterating for msaa texture creation

  • zink: move db input attachment size check to screen init

  • zink: make ZINK_DESCRIPTOR_MODE=db the default

  • driconf: add zink glthread disable for a game

  • aux/tc: add a ‘has_resolve’ member to tc_renderpass_info

  • zink: actually hook up ZINK_DEBUG=norp

  • zink: add ZINK_DEBUG=map

  • zink: add debug marker tracing for qbo updates

  • util/box: add intersection test functions for 1d/3d

  • zink: add some tracking for copy box regions

  • zink: add a util function for optimizing TRANSFER_DST image barriers

  • zink: utilize copy box tracking to avoid barrier emission for buf2img copies

  • zink: fix slab allocator sizing

  • zink: delete dead uniform variables

  • zink: fix shader read access removal for barrier generation

  • zink: rework descriptor unbind params to use is_compute directly

  • zink: fix bindless texture barrier generation

  • zink: delete unused emit_image param in ntv

  • zink: simplify/rework image typing in ntv

  • zink: avoid adding ubo/ssbo bindings multiple times for different bitsizes

  • zink: add locking for zink_screen::copy_context and defer creation

  • zink: allow direct memory mapping for any COHERENT+CACHED buffer

  • lavapipe: EXT_image_sliced_view_of_3d

  • vulkan/wsi: switch to using an options struct for last param

  • vulkan/wsi/x11: make 4 image minimum for xwayland driver-specific

  • docs: add pipeline library support for tu

  • aux/tc: track whether queries have been terminated in a renderpass

  • aux/tc: only call tc_parse_draw() when parsing renderpass info

  • zink: move zink_batch_no_rp call for query reset

  • zink: remove suspended queries from list before resuming

  • zink: reset queries on the promoted cmdbuf when possible

  • zink: rewrite zink_query_start struct

  • zink: fix zink_query_start initialization

  • zink: fix possible query destroy leak

  • zink: make zink_vk_query unref consistent

  • zink: delete zink_query::last_start_idx

  • zink: handle multiple query starts in qbo update

  • zink: don’t auto-sync qbos on query end

  • zink: add zink_query::suspended to indicate suspended state of queries

  • zink: un-suspend queries if they end while suspended

  • zink: don’t double suspend queries

  • zink: refuse to start cs invocation queries in renderpass

  • zink: only try doing qbo updates on query suspend if !in_rp

  • zink: handle null query results

  • zink: handle null query results for conditional render

  • zink: only update qbo for TIME_ELAPSED on start if !in_rp

  • zink: try updating qbos on query resume if !in_rp

  • zink: reorder some query code

  • zink: rework find_or_allocate_qp()

  • zink: create/use query pools dynamically

  • zink: rework query pool overflow

  • zink: track whether queries were started in a renderpass

  • zink: break out query suspend functionality for reuse

  • zink: use more consistent check for deleting zink_query::stats_list links

  • zink: pull ‘was_line_loop’ into ctx for query updating

  • zink: always start/stop/resume queries inside renderpasses

  • zink: use tc renderpass optimizing to more optimally start queries

  • zink: skip buffer barriers for ACCESS_NONE -> ACCESS_READ / ACCESS_WRITE

  • zink: disable queries for clear_texture()

  • zink: resume queries after conditional render and clears are processed

  • zink: only resume queries inside renderpasses from set_active_query_state

  • zink: track whether a primgen query is suspended and needing color write hacks

  • zink: rework xfb queries for drivers with poor primgen support

  • zink: merge qbo update copies when possible

  • zink: set predicate_dirty on query creation

  • zink: eliminate internal qbo copy barrier

  • util/box: fix off-by-one calc error in intersection funcs

  • zink: avoid ballooning of copy box tracking

  • zink: add perfetto tracing for barriers

  • zink: avoid unnecessary read-only layout changes for zs attachments

  • zink: skip attachment barrier for redundant layout-setting if !valid

  • zink: add functions for faster batch-usage completion checks

  • zink: fix zink_resource_access_is_write()

  • zink: use split image barriers if the image can be easily proved idle

  • zink: skip buffer barriers if the buffer can be easily proved idle

  • zink: determine whether debug markers are used on screen create

  • zink: be more descriptive with perfetto buffer barriers

  • zink: reorder some blit debug markers

  • zink: pass cmdbuf to debug marker begin

  • zink: remove debug markers for u_blitter ops

  • zink: when skipping a TRANSFER_DST image barrier, set access tracking

  • zink: add frame trace markers on the queue

  • zink: unbind fb on context destroy

  • zink: only add deferred barrier on fb unbind when layout needs to change

  • zink: fix descriptor update flagging on null ssbo set

  • zink: propagate valid_buffer_range when replacing buffer storage

  • zink: check for layout updates when unbinding samplerviews

  • zink: eliminate pre barrier for adding resource binds

  • zink: don’t unset existing access when adding resource binds

  • zink: explicitly flush src clears when u_blittering

  • zink: always set color writes on the unordered cmdbuf

  • zink: bind descriptor buffers to unordered cmdbuf

  • zink: set dynamic pcp for unordered cmdbuf

  • zink: always set batch usage for descriptors after barrier

  • llvmpipe: fix LP_PERF=no_depth to ignore depth format

  • zink: track the last write access for resources

  • zink: add a mechanism for managing TRANSFER_DST buffer barriers

  • zink: add a mechanism to trigger copy box resets from batch state reset

  • zink: add a driver workaround to disable copy box optimizations

  • zink: hook up buffer TRANSFER_DST barrier optimizing

  • aux/tc: fix rp info resizing clobbering current info

  • vulkan/wsi: fix crash in failed swapchain creation for wayland

  • lavapipe: split out spirv compile of shaders

  • lavapipe: split out shader struct members into their own struct

  • lavapipe: pass shader struct and layout to scan_pipeline_info()

  • lavapipe: more small shader struct usage tweaks

  • lavapipe: move xfb init to shader struct

  • lavapipe: rename inline uniform function params

  • lavapipe: move uniform inline functions to shader struct

  • lavapipe: break out main shader lowering into separate function

  • Revert “Revert “ci: disable mesa-swrast runner jobs””

  • zink: ignore renderdoc if ZINK_RENDERDOC isn’t in use

  • radv: delete radv_graphics_pipeline_compile() asserts

  • radv: avoid a huge memset in radv_graphics_pipeline_compile()

  • aux/tc: use renderpass tracking to optimize texture_subdata calls

  • lavapipe: fix dynamic depth clamping

  • lavapipe: set render_condition_enabled=false for vkCmdClearDepthStencilImage

  • lavapipe: add command debugging

  • lavapipe: beef up LVP_POISON_MEMORY

  • ci: fix LVP_POISON_MEMORY usage

  • zink: rework zink_resource::valid_buffer_range

  • zink: return the unordered state from zink_resource_buffer_transfer_dst_barrier()

  • zink: unify image TRANSFER_DST barrier checks

  • zink: rename zink_check_transfer_dst_barrier()

  • zink: super reorder buffer copies

  • tu: don’t set startup debug on debug builds

  • zink: fix copy box iteration

  • glthread: align small buffer uploads to 4 bytes

  • zink: fix copy box iteration when adding

  • zink: fix copy box merging adjacency

  • aux/trace: delete GALLIUM_TRACE_NIR log message

  • zink: fix layer check for compressed format surface creation

  • zink: track current queue for resources

  • zink: remove redundant dmabuf_acquire setting

  • zink: use res->queue to auto-handle queue transitions back to gfx queue

  • zink: track tc fences better

  • zink: add an assert to catch renderpass optimizing bugs

  • zink: don’t use/update tc rp info while blitting

  • zink: reset tc fb info upon splitting a renderpass

  • zink: add and use a function for “safely” ending renderpasses

  • zink: disable queries when flushing clears from set_fb

  • zink: disable tc flush notify with rp optimizing

  • zink: trigger oom flushes more aggressively from copy ops

  • aux/tc: flag late zs clears as partial clears

  • aux/tc: use a local ‘deferred’ variable in tc_flush()

  • aux/tc: fix renderpass splitting on flush

  • aux/tc: track the number of active queries

  • aux/tc: don’t sync for get_sample_position

  • aux/tc: add a function to reset rp info

  • aux/tc: fix initial rp info allocation

  • aux/tc: make some of the rp tracking api private

  • aux/tc: rework inter-batch renderpass info handling

  • zink: only flag rp info for updating on flush, don’t actually update

  • zink: add tracing for copy ops

  • zink: expand ZINK_DEBUG=sync to cover copy ops

  • zink: add some asserts for zs layout in dynamic render

  • zink: double check layouts for possible feedback loop images

  • zink: end rp earlier in set_framebuffer_state

  • zink: add a function for applying u_blitter barriers

  • zink: add a dynamic render version of clear_texture hook

  • zink: reset fb clears using the clears_enabled mask

  • zink: manually apply barriers whenever zink_context::blitting is set

  • zink: split out pipeline rp info update function

  • zink: add zink_context::unordered_blitting to preserve unordered flags

  • zink: implement unordered u_blitter calls

  • zink: round geometry for u_blitter debug markers

  • zink: catch zs u_blitter ops for draw markers

  • zink: add debug markers for draws

  • zink: track zsbuf info even when rp optimizing is disabled

  • zink: fix dsa state parsing for tc info

  • zink: track whether the fb zsbuf is readonly

  • zink: add a fixup case for readonly zsbuf clears

  • zink: improve no-oping of write -> readonly zsbuf layouts

  • zink: don’t flag rp layout check on next draw when rp optimizing

  • zink: allow zink_is_zsbuf_used() without tc / rp optimizing

  • zink: rename add_implicit_color_feedback_loop()

  • zink: explicitly eliminate feedback loops for unused zsbufs

  • zink: further eliminate zs implicit feedback loops for read-only access

  • zink: split out luminance/alpha clear conversion code for reuse

  • zink: convert luminance/alpha clear colors in dynamic texture clear

  • zink: handle swapchain creation failure less lazily

  • zink: simplify resource_check_defer_buffer_barrier()

  • zink: delete unused barrier api

  • zink: never split a renderpass for a loadop change

  • zink: flag some rp ends as unsafe

  • zink: add batch refs for framebuffer surfaces on bind and ref update

  • zink: fix unordered access for image descriptors

  • zink: force unordered_write=false when binding image descriptors

  • zink: add an assert to ensure zsbuf invalidation doesn’t break rendering

  • zink: only run post-fb-unbind layout stuff if the resource isn’t being destroyed

  • zink: always set sampler layouts when unbinding fb images while rp optimizing

  • zink: rework handling of unordered->ordered write buffer barriers

  • zink: don’t update fbfetch in db mode if inputAttachmentDescriptorSize==0

  • zink: add ZINK_DEBUG=flushsync

  • zink: track whether zsbuf is unused

  • zink: flag rp layout change if zsbuf usedness changes on dsa/fs state bind

  • driconf: make glthread=true default for source games

  • aux/trace: dump blend states with enums

  • aux/trace: fix GALLIUM_TRACE_NIR handling

  • zink: fix some type mismatches for c++ compilation

  • zink: break out a src region barrier check for reuse

  • zink: move all barrier-related functions to c++

  • zink: use c++ template to deduplicate all the buffer barrier code

  • zink: minor tweaks for image barriers

  • zink: use c++ template to deduplicate image barrier functions

  • zink: stop leaking separate shader nir

  • lavapipe: always copy streamout info when creating shaders

  • lavapipe: don’t memcpy tess_ccw when copying pipeline library shaders

  • lavapipe: refactor shader compile functions to not take pipeline params

  • lavapipe: track bound shader stages on rendering_state

  • lavapipe: add a device member to rendering_state

  • lavapipe: stop using rendering_state::pipeline

  • lavapipe: refactor compute shader binding

  • lavapipe: merge some loops in handle_graphics_pipeline()

  • lavapipe: PIPE_SHADER_ -> MESA_SHADER_

  • lavapipe: don’t access pipeline shader structs as much during bind

  • lavapipe: pull out dynamic tess origin check in gfx pipeline bind

  • lavapipe: break out all the important parts of gfx pipeline setting for reuse

  • lavapipe: delete unused struct member

  • lavapipe: refactor pipeline destroy a bit

  • lavapipe: add a ref for the tess_ccw nir on creation

  • lavapipe: unify lvp_pipeline_nir creation

  • lavapipe: dynamically bind noop fs at draw time when needed

  • lavapipe: don’t double unbind gfx stages on pipeline bind

  • lavapipe: split out gfx stage unbinding

  • lavapipe: only update shader access for bind/unbind stages

  • lavapipe: only unset tess_states pointers on tes bind

  • lavapipe: avoid uniformly unsetting gs_output_lines

  • lavapipe: move default rasterizer state values to rendering_state init

  • mapi: add InternalInvalidateFramebufferAncillaryMESA

  • glthread: add _mesa_glthread_invalidate_zsbuf()

  • kopper: apply ancillary invalidation through glthread on swapbuffers

  • llvmpipe: fix linear fs analysis with nonzero fs outputs

  • llvmpipe: fix handling of unused color attachments

  • zink: add spirv builder function for terminate

  • zink: set src access when rebinding buffers, unset unordered_*

  • zink: fix quads emulation gs with array variables

  • zink: block resolves where src extents > dst extents

  • zink: omit VkPipelineVertexInputStateCreateInfo with dynamic vinput

  • zink: flag vertex buffers for rebind after vstate draws

  • zink: use search_or_add for masking vstate

  • zink: bind vertex state directly from draw hook

  • zink: add another vstate draw template for popcnt presence

  • zink: explicitly pass null velems when creating pipelines with dynamic vinput

  • zink: don’t swizzle velems state for vstate draws

  • zink: use fast popcnt for vstate draws

  • zink: stop caching vertex states

  • lavapipe: break out pipeline layout creation for reuse

  • lavapipe: implement EXT_shader_object

  • lavapipe: advertise EXT_shader_object

  • zink: delete shader reordering in assign_io()

  • zink: add and populate a shader_info struct to zink_shader

  • zink: pass nir_shader to update_so_info()

  • zink: generate flat_flags during shader creation

  • zink: use zink_shader::info instead of zink_shader::nir::info

  • zink: simplify fbfetch output detection from fs

  • zink: pass nir directly to zink_shader_tcs_create()

  • zink: swap nir pointers when compiling compute shaders

  • zink: directly return nir from zink_shader_tcs_create

  • zink: streamline nir cloning for assign_io

  • zink: store nir as serialized on zink_shader structs

  • zink: simplify assign_io() further

  • zink: break out nir blob deserializing

  • zink: move nir cloning out to callers of zink_shader_compile

  • zink: store num_inlinable_uniforms separately for cs programs

  • zink: always store nir serialized

  • zink: be explicit about separate shader dsl indexing during creation

  • zink: rework choose_pdev (again)

  • glthread: use id 0 for internal buffer objects

  • radv: fix leak of nir from retained shaders

  • zink: don’t try copying multiple results for conditional render copy

  • zink: more explicitly track/check rp optimizing per-context

  • zink: don’t access non_fs part of zink_shader from fs

  • zink: reuse d3d12 variable copying to make passthrough gs more robust

  • zink: reuse copy_vars for generated tcs

  • zink: don’t trigger shader variants on pcp change if driver supports dynamic pcp

  • Revert “zink: don’t trigger shader variants on pcp change if driver supports dynamic pcp”

  • zink: try to prune resources from barrier jit on fb unbind

  • lavapipe: copy fragment shader when merging GPL pipelines

  • lavapipe: refactor/consolidate GPL shader copying

  • lavapipe: don’t double-inline ubo0

  • lavapipe: implement inline variant caching

  • zink: block oom flushes during unordered blits

  • zink: unroll array loop when copying vars for passthrough shaders

  • zink: free GPL input/output libs on context destroy to avoid leaking

  • zink: fix GPL lib leaking

  • zink: remove redundant ‘blitting’ check in zink_prep_fb_attachment()

  • zink: break out feedback loop pipeline state flagging for reuse

  • zink: pre-convert attachment id to attachment idx

  • zink: eliminate implicit feedback loops on rp begin

  • zink: track per-image swapchain layouts

  • zink: handle swapchain handoffs around makecurrent

  • zink: remove a fixed validation error for ci

  • mesa/st/program: don’t init xfb info if there are no outputs

  • zink: remove atomics from zink_query

  • zink: pass ctx through query destroy paths

  • zink: always defer query pool deletion

  • zink: move memoryTypeIndex selection down in general bo allocation

  • zink: slightly rework memoryTypeIndex selection to pre-determine heap

  • zink: restore BAR allocation failure demotion

  • zink: make general bo allocation more robust by iterating

  • zink: avoid zero-sized memcmp for descriptor layouts

  • iris: use util_framebuffer_get_num_samples when setting ps dispatch samples

  • zink: manually re-set framebuffer after msrtss replicate blit

  • zink: handle ‘blitting’ flag better in msrtss replication

  • zink: skip msrtss replicate if the attachment will be full-cleared

  • zink: avoid recursion during msrtss blits from flushing clears

  • nir/lower_alpha_test: rzalloc state slots

  • zink: fix non-db bindless texture buffers

  • zink: emit demote cap when using demote

  • zink: only print copy box warning once per resource

  • util/debug: move null checks out of debug message macro

  • zink: don’t bitcast bool deref loads/stores

  • drisw: don’t leak the winsys

  • zink: check for extendedDynamicState3DepthClipNegativeOneToOne for ds3 support

  • draw: fix viewmask iterating

  • zink: don’t pin flush queue threads if no threads exist

  • zink: add z32s8 as mandatory GL3.0 profile attachment format

  • nir/gs: fix array type copying for passthrough gs

  • zink: fix array copying in pv lowering

  • gallivm: break out native vector width calc for reuse

  • llvmpipe: do late init for llvm builder

  • zink: break out VkImageViewUsageCreateInfo applying for reuse

  • zink: reapply VkImageViewUsageCreateInfo when rebinding a surface

  • draw: fix robust ubo size calc

  • llvmpipe: fix native vector width init

  • zink: add extendedDynamicState3DepthClipNegativeOneToOne to profile

  • zink: only unset a generated tcs if the bound tcs is the generated one

  • zink: set depth dynamic state values unconditionally

  • zink: null some descriptor buffer pointers during destruction

  • zink: sync queries at the end of cmdbufs

  • cso: unbind fb state when unbinding the context

  • i915: use util_copy_framebuffer_state to set fb state

  • i915: use util_unreference_framebuffer_state to unref fb state

  • iris: use util_unreference_framebuffer_state to unref fb state

  • softpipe: use util_unreference_framebuffer_state to unref fb state

  • v3d: use util_unreference_framebuffer_state to unref fb state

  • vc4: use util_unreference_framebuffer_state to unref fb state

  • llvmpipe: use util_unreference_framebuffer_state to unref fb state

  • svga: use util_unreference_framebuffer_state to unref fb state

  • zink: don’t init mutable resource bit for swapchain images

  • zink: don’t init mutable for swapchain src during blit

  • zink: allow vk 1.2 timelineSemaphore feature if extension isn’t supported

  • zink: stringify unsupported prim restart log error

  • zink: delete persistent map tracking

  • zink: add PERSISTENT for db buffer maps

  • zink: delete unnecessary pipeline stage flags from inference

  • zink: use an intermediate variable for binding ssbo slots

  • zink: unbind the ssbo slot being iterated, not the index of the buffer

  • zink: flush INDIRECT_BUFFER mem barrier for compute

  • zink: disable batched unordered barries with ZINK_DEBUG=noreorder

  • zink: block batching of unordered barriers if previous usage was write

  • zink: fix uncached memory readback

  • glsl/lower_samplers_as_deref: apply bindings for unused samplers

  • zink: bind bindless db set when updating separate shader db sets

  • zink: compare desc set to detect bindless vars in separate shaders

  • zink: adjust bindless texel buffer handle before indexing

  • zink: block more flushes during unordered blits

  • zink: also cache swapchain semaphores

Mohamed Ahmed (3):

  • vulkan/runtime: move common buffer related entrypoints to vk_buffer.c

  • vulkan/runtime: implement vkGetBufferMemoryRequirements2()

  • anv: remove GetBufferMemoryRequirements2()

Nanley Chery (16):

  • docs: Document the implicit barriers around blits

  • glsl: Add compute shaders to encode DXT5/BC3

  • glsl: Modify the #includes in the DXT5 shaders

  • mesa: Create _mesa_CreateShaderProgramv_impl

  • mesa/st: Add get_compute_program

  • mesa/st: Add and use create_bc1_endpoint_ssbo

  • mesa/st: Add st_compute_transcode_astc_to_dxt5

  • mesa/st: Add st_texture_image_resource_level

  • mesa/st: Enable compute-based transcoding to DXT5

  • mesa/st: Measure compressed fallback unmap paths

  • iris: Update comment in iris_cache_flush_for_render

  • iris: Flush caches for aux-mode changes more often

  • iris: Drop iris_cache_flush_for_render

  • iris: Allocate ZEROED BOs for shared resources

  • iris/bufmgr: Add and use zero_bo

  • iris/bufmgr: Handle flat_ccs for BO_ALLOC_ZEROED

Nataraj Deshpande (1):

  • anv: Bump VkDeviceMemory objects limit to 4GB

Neha Bhende (1):

  • docs: Add GL 4.3 support info in mesa docs

Nicolas Dufresne (1):

  • util/format: Fix wrong colors when importing YUYV and UYVY

Nicolas F (1):

  • driconf: remove the adaptive sync special case for mpv

Oleksii Bozhenko (5):

  • glsl: fix gl_CullDistance lowering from float[8] to vec4[2]

  • ci: Uprev Piglit

  • Move combining clip and cull optimization before linking

  • wsi: add rgb_component_bits_are_equal

  • wsi: remove get_sorted_vk_formats duplication

Patrick Lerda (25):

  • lima: fix memory leak related to u_transfer_helper_create()

  • mesa/program: fix memory leak triggered by parser errors

  • mesa/st: fix possible crash related to arb invalid memory access

  • r600: fix shader blob memory leak

  • vbo/save: fix possible crash related to fixup_vertex()

  • mesa/shaderapi: fix path memory leak

  • mesa/framebuffer: fix gl_framebuffer.resolve refcnt imbalance

  • mesa/program: fix memory leak triggered by invalid extended swizzle selector

  • mesa/program: fix memory leak triggered by multiple targets used on one texture image unit

  • mesa/program: fix memory leak triggered by arb alias

  • radeonsi: fix memory leak related to ureg_get_tokens()

  • glx: fix memory leak related to __glXCloseDisplay()

  • r600: fix refcnt imbalance related to shader

  • intel: fix memory leak related to brw_nir_create_passthrough_tcs()

  • r600: fix typo that could lead to a possible crash

  • egl: fix memory leak related to _eglRefreshDeviceList()

  • r600: fix refcnt imbalance related to r600_set_vertex_buffers()

  • r600: fix refcnt imbalance related to evergreen_set_shader_images()

  • lima: fix refcnt imbalance related to framebuffer

  • r600/sfn: fix memory leak related to sh_info->arrays

  • aux/draw: fix memory leak related to ureg_get_tokens()

  • crocus: fix refcnt imbalance related to framebuffer

  • crocus: fix refcnt imbalance related to crocus_create_surface()

  • r600: fix refcnt imbalance related to atomic_buffer_state

  • radeonsi: set proper drm_amdgpu_cs_chunk_fence alignment

Paul Gofman (1):

  • driconf: add a workaround for Kaiju-A-Gogo

Paulo Zanoni (8):

  • anv: don’t leave undefined values in exec->syncobj_values

  • anv: check the return value of anv_execbuf_add_bo_bitset()

  • anv: run buf_finish() if add_bo() fails during execute_simple_batch()

  • anv: rename anv_execbuf->array_length to bo_array_length

  • anv: use vk_realloc for the anv_execbuf arrays

  • hasvk: don’t leave undefined values in exec->syncobj_values

  • hasvk: check the return value of anv_execbuf_add_bo_bitset()

  • anv: there’s no need to set exec_obj offsets twice

Pavel Ondračka (16):

  • nir/lower_bool: ntt: Generate a good opcode for bcsel

  • r300: update rv515 ci failures list

  • r300: skip sin/cos input range transformation for nine and ntt

  • r300: remove backend input range transformation for sin and cos

  • ntt: pass ubo_vec4_max nir_opt_offsets flag through ntt options

  • r300: set ubo_vec4_max ntt option properly

  • r300: remove backend negative addressing emulation

  • nir: nir opt_shrink_vectors whitespace fix

  • nir: mark progress when removing trailing unused alu channels

  • nir: mark progress when removing trailing unused load_const channels

  • r300: set register file to none if swizzles are constant only

  • nir: shrink phi nodes in nir_opt_shrink_vectors

  • r300: drop VDPAU support

  • r300: simplify KILL transformation

  • nine: use separate register for aL emulation

  • r300: fix unconditional KIL on R300/R400

Pedro J. Estébanez (4):

  • spirv_to_dxil: Unify spirv_to_nir_options

  • spirv2dxil: Split read-only image as SRV logic into declared and inferred

  • spirv: Assume input attachments are read-only

  • Revert “microsoft/compiler: Use SRVs for read-only images”

Philip Langdale (1):

  • radeonsi: correctly declare YUV420_10 RT Format support for AV1

Philipp Zabel (2):

  • vulkan/wsi/wayland: fix acquire_next_image to report timeouts properly

  • zink: fix build with -Dvulkan-beta=true

Pierre-Eric Pelloux-Prayer (37):

  • radeonsi: simplify dpbb settings

  • ac/info: move pci bus info in a struct

  • ac: add ac_query_pci_bus_info helper

  • ac: don’t call ac_query_pci_bus_info from ac_query_gpu_info

  • radeonsi/sqtt: don’t read results for disabled SEs

  • radeonsi/sqtt: disable SE1+ on GFX11

  • radeonsi/sqtt: update registers for gfx11

  • radeonsi/sqtt: implement offset workaround for gfx11

  • vbo: remove bogus assert

  • vbo: lower VBO_SAVE_BUFFER_SIZE to avoid large VRAM usage

  • glthread: fix glArrayElement handling

  • drm-uapi/dma-buf.h: use __u32/__u64 types

  • winsys/amdgpu: use DMA_BUF_SET_NAME_B if available

  • radeonsi/gfx11: clamp PRIM_GRP_SIZE

  • radeonsi/gfx11: fix ge_cntl programming

  • amd/surface: fix base_mip_width of subsampled formats

  • winsys/amdgpu: use amdgpu_device_get_fd

  • radeonsi/video: use specific PIPE_BIND_ value for video buffers

  • radeonsi: fix incorrect vgpr indices in the ps_prolog

  • radeonsi/test: use gbm-skips.txt

  • radeonsi/test: update test results

  • radeonsi: don’t use PKT3_SET_SH_REG_INDEX on gfx9 and older

  • radeonsi: fix fast depth_clear_value/stencil_clear_value

  • yegl/wayland: fix glthread deadlocks

  • Revert “driconf: add a workaround for plasmashell freezing”

  • ac/llvm: fix build with LLVM 17

  • mesa: fix CopyImageSubDataOES with GL_TEXTURE_EXTERNAL_OES

  • amd/surface: rename metadata functions

  • ac/surface: introduce umd metadata v2

  • radeonsi: add AMD_DEBUG=extra_md

  • radeonsi: don’t use si_decompress_dcc if the blitter is running

  • radv: add RADV_DEBUG=extra_md

  • radeonsi: don’t use alignment_log2 of imported buffers

  • mesa: fix invalid index_bo refcounting

  • util/vbuf: clarify indirect draws handling

  • util/vbuf: fix index_bo leak

  • radeonsi: update test results

Pino Toscano (1):

  • symbols-check: support OSes based on GNU toolchain

Qiang Yu (78):

  • radeonsi: implement nir_load_ring_gsvs_amd

  • radeonsi: implement nir_load_ring_gs2vs_offset_amd

  • radeonsi: lower nir streamout intrinsics in abi

  • radeonsi: use nir_print_xfb_info to replace si_dump_streamout

  • radeonsi: use ac_nir_lower_legacy_vs to replace si_llvm_vs_build_end

  • radeonsi: add nir implementation of gs copy shader generation

  • radeonsi: build legacy gs output info when shader compile

  • radeonsi: replace llvm gs copy shader generation with nir

  • radeonsi: remove llvm gs copy shader generate

  • radeonsi: replace llvm legacy gs code with nir lowering

  • radeonsi: move gfx10_ngg_export_vertex to si_shader_llvm.c

  • gallium/aux: remove nir_helpers

  • nir/xfb_info: nir_gather_xfb_info_from_intrinsics update nir xfb_info

  • radeonsi: update nir xfb info after medium io lowering

  • nir: add nir_export_amd intrinsic

  • ac/llvm: implement nir_export_amd

  • aco: implement nir_export_amd

  • ac/nir: gs and nogs use ac_nir_export_primitive

  • ac/nir: add ac_nir_export_position

  • ac/nir: add ac_nir_export_parameter

  • ac/nir: add force_vrs to ac_nir_export_position

  • amd,radeonsi: implement nir_load_force_vrs_rates_amd in driver abi

  • radeonsi: clamp vertex color in legacy gs instead of gs copy shader

  • radeonsi: update outputs written nir info

  • radeonsi: remove the extra handling for VS/TES primitive id

  • radeonsi: set nr_pos_exports outside of llvm translation

  • ac/nir,radv,radeonsi: legacy vs use ac_nir_export_(position|parameter)

  • ac/nir,radv,radeonsi: gs copy shader use ac_nir_export_(position|parameter)

  • ac/nir/ngg: fix clip dist culling mask uninitialized

  • ac/nir/ngg: change clipdist_neg_mask_var type to uint32

  • ac/nir/ngg,radv,radeonsi: nogs use ac_nir_export_(position|parameter)

  • ac/nir/ngg: prepare gather_vs_outputs to be used by gs

  • ac/nir/ngg: gs use ac_nir_export_(position|parameter)

  • ac/nir/ngg,radv: ms use ac_nir_export_(primitive|position|parameter)

  • nir,ac/llvm,aco: remove nir_export_primitive_amd

  • nir,ac/llvm,aco,radv,radeonsi: remove nir_export_vertex_amd

  • aco: remove early_rast wait insert

  • radv: move radv_consider_force_vrs above radv_fill_shader_info

  • radv: use amd common force_vrs option

  • ac/llvm,radeonsi: lower nir_load_barycentric_at_sample in abi

  • radeonsi: add num_component param to load_internal_binding

  • ac/llvm,radeonsi: lower fbfetch in abi

  • radeonsi: only init llvm output when needed.

  • ac/llvm: only init outputs when fragment shader for radv

  • aco: only ls and ps use store output now

  • aco, radv: Add load_grid_size_from_user_sgpr to aco options.

  • aco, radv: Move is_trap_handler_shader to aco info.

  • ac/nir: move store_var_components to common place

  • ac/nir: tcs write tess factor support pass by reg

  • ac/nir: init tess factor location with IO remap

  • ac/nir: handle tess factor output missing case

  • ac/llvm,radeonsi: lower nir_load_ring_tess_factors_amd

  • radeonsi: lower nir_load_ring_tess_factors_offset_amd

  • radeonsi: monolithic TCS emit tessfactor in nir directly

  • ac/llvm: respect channel_type when ac_build_buffer_load

  • ac/llvm: add missing type convert for nir_load_buffer_amd

  • nir: pack_(s|u)norm_2x16 support float16 as input

  • ac/llvm: implement float16 nir_op_pack_(s|u)norm_2x16

  • aco: implement float16 nir_op_pack_(s|u)norm_2x16

  • nir,radeonsi: add and implement nir_load_alpha_reference_amd

  • nir: add nir_fisnan helper function

  • ac/nir: add ac_nir_lower_ps

  • radeonsi: monolithic PS emit epilog in nir directly

  • radeonsi: expose si_nir_load_internal_binding

  • ac/nir: add ac_nir_load_arg_at_offset

  • radeonsi: add si_nir_lower_vs_inputs

  • ac/llvm: vs_rel_patch_id can also be fixed up

  • ac/llvm: move ac_fixup_ls_hs_input_vgprs to amd common

  • radeonsi: monolithic VS emit prolog in nir directly

  • ac/llvm,radeonsi: remove abi->load_inputs implementation

  • ac/llvm: remove ac_build_opencoded_load_format

  • radeonsi: fix max scrach lds size calculation when ngg

  • ac/nir/ngg: fix gs culling vertex liveness check for odd vertices

  • ac/nir/ngg: fix store shared alignment

  • ac/llvm: remove some unused code replaced by nir

  • ac,aco: move gfx10 ngg prim count zero workaround to nir

  • aco: fix nir_f2u64 translation

  • ac/nir/cull: fix line position w culling

Raun (2):

  • dzn: Enable VK_KHR_bind_memory2

  • dzn: Enable VK_KHR_get_memory_requirements2

Rhys Perry (48):

  • radv: implement GS load_ring_gsvs_amd/load_ring_gs2vs_offset_amd

  • radv,aco: use ac_nir_lower_legacy_gs

  • aco: restore semantic_can_reorder for GS output stores

  • ac/nir: use store_buffer_amd’s base index

  • ac/llvm: add support for fp32 addition atomics

  • aco: add support for fp32 addition atomics

  • radv: load ssbo_atomic_fadd descriptor

  • radv/gfx11: expose shaderBufferFloat32AtomicAdd

  • aco/tests: fix assembler.gfx11.vop12c_v128 with LLVM 15

  • aco/tests: update assembler tests for latest LLVM 16

  • radv: skip creation of null TLAS for null winsys

  • aco: set has_color_exports with GPL

  • aco: end reduce tmp after control flow, when used within control flow

  • aco/tests: add setup_reduce_temp.divergent_if_phi

  • aco/spill: always end spill vgpr after control flow

  • aco: limit VALUPartialForwardingHazard search

  • radv: set state.vbo_misaligned_mask_invalid in radv_bind_vs_input_state

  • ac: move ring_offsets to ac_shader_args

  • ac/llvm: let ring_offsets be accessed like a normal arg

  • radv/llvm: use the ring_offsets shader arg

  • aco: fix out-of-bounds access when moving s_mem(real)time across SMEM

  • aco: don’t modify exec in p_interp_gfx11

  • aco: don’t apply modifiers through DPP to unsupported instructions

  • aco: fix pathological case in LdsDirectVALUHazard

  • aco: always update orig_names in get_reg_phi()

  • radv: remove is_internal pipeline creation parameter

  • aco/tests: add tests for v_fma_f32 with 2 fp16 literals

  • aco: make IDSet sparse

  • nir/range_analysis: fix vectorized phis and intrinsics

  • nir: use xyzw order for precise fdot

  • nir: make fdph lowering match fdot

  • nir: add nir_lower_alu_width_test.fdot_order

  • aco/gfx11: fix RT prolog scratch initialization

  • aco: set needs_flat_scr=true for RT

  • util/dynarray: allow an initial stack allocation to be used

  • nir/range_analysis: add missing masking of shift amounts

  • nir/range_analysis: add helpers for limiting stack usage

  • nir/range_analysis: use perform_analysis() in nir_unsigned_upper_bound()

  • nir/range_analysis: use perform_analysis() in nir_analyze_range()

  • radv: fix setting radv_shader_info::user_data_0 with rt

  • aco: don’t optimize s_or_b64(v_cmp_u_f32(a, b), cmp(a, a))

  • aco: fix nir_var_shader_out barriers for task shaders

  • radv/gfx11: improve RT scratch allocation

  • nir: make nir_fisnan helper exact

  • aco: remove SMEM_instruction::prevent_overflow

  • ac/nir/ps: fix null export write mask miss set to 0xf

  • aco: don’t move exec reads around exec writes

  • aco: don’t move exec writes around exec writes

Rob Clark (180):

  • freedreno/ci: Switch a630 jobs over to manual

  • freedreno/ci: Cleanup a618 yaml

  • freedreno/ci: Add a618 egl/skqp/piglit jobs

  • Revert “freedreno/ci: Switch also performance a630 job to manual”

  • Revert “freedreno/ci: Switch a630 jobs over to manual”

  • freedreno/ci: Add an a618 flake

  • freedreno/drm: Remove assert

  • freedreno: Fix tracking of enabled SSBOs

  • freedreno/a6xx: Workaround for no pos/psize

  • freedreno: Don’t re-install a flushed batch

  • freedreno/a6xx: Rework barrier handling

  • freedreno/ir3: Stop copying options

  • freedreno/ir3: Let driver specify fb-read descriptor

  • freedreno: Track image/SSBO usage for all stages

  • freedreno/ir3: Add descriptor set lowering

  • freedreno/a6xx: Pre-bake IBO descriptor sets

  • freedreno/a6xx: Add bindless state

  • freedreno/a6xx: Switch over to bindless IBO

  • freedreno/a6xx: Remove bindfull IBO state

  • freedreno/a6xx: Removing munging of tex state for IBO

  • freedreno/a6xx: Remove tex fb_read state

  • freedreno/a6xx: Move compute to tex state group

  • freedreno/a6xx: Move tex state building

  • freedreno/a6xx: Expose SSBO/image for all shader stages

  • freedreno: Restore GL_VENDOR string

  • gallium/util: Add util_writes_depth() helper

  • freedreno/a6xx: Add LRZ perf warn for ztest direction changes

  • freedreno/a6xx: Invalidate LRZ on blend+depthwrite

  • turnip: Rename lrz force_disable_mask

  • turnip: Invalidate LRZ on blend+depthwrite

  • util/xmlconfig: Use os_get_option()

  • freedreno: Add driconf to disable conservative LRZ

  • freedreno/a6xx: Add a few kernel regs/etc

  • freedreno/drm: Add some ref/unref debugging

  • freedreno/drm: Detect zombie BOs

  • freedreno/drm: Remove bo_del_or_recycle()

  • freedreno/drm: Split out bo->finalize()

  • freedreno/drm: Synchronize handle close and lookup

  • freedreno/drm/virtio: Flush before CREATE_BLOB

  • freedreno/drm: Restart import on zombie race

  • freedreno/gmem: Fix for partial z/s fast-clear

  • freedreno/decode: Increase size of offsets table

  • freedreno/a6xx: LRZ for MSAA

  • freedreno/ir3: Scalarize load_ssbo

  • freedreno/a6xx: Add missing CS_BINDLESS mapping

  • freedreno/a6xx: Add CS instrlen workaround

  • freedreno: nondraw-batch

  • freedreno: Skip flush_resource with explicit sync

  • freedreno/a6xx: Don’t double-write SP_CS_OBJ_START

  • freedreno: Don’t open-code setting dirty CS state

  • freedreno/a6xx: Make shader state independent of grid info

  • freedreno/a6xx: Also FLUSH_CACHE on image barrier

  • freedreno/a6xx: Remove excess CS flushing

  • freedreno+ir3: Move storage_16bit to compiler options

  • freedreno/a6xx: Move CS state to PROG state group

  • freedreno/drm: Move sa_cpu_prep() to core

  • freedreno/drm/virtio: Limit guest handles passed to virtgpu

  • ir3: Quiet unused variable warning

  • freedreno: Quiet unused variable warnings

  • freedreno/a2xx: Move pack_rgba()

  • freedreno: Indent fixes

  • freedreno/a6xx: Move num_driver_params to program state

  • freedreno: Move num_vertices calc to backend

  • freedreno: Remove impossible NULL check

  • freedreno: Add FD_DIRTY_QUERY

  • freedreno: Avoid screen lock when no rsc tracking needed

  • freedreno: Account for multi-draw in num_draws

  • freedreno: Push num_draws down to backend

  • freedreno/a6xx: Drop unused return

  • freedreno/a6xx: Split out flush_streamout() helper

  • freedreno/a6xx: Multi-draw support

  • freedreno/a6xx: Do tex-state invalidates in same ctx

  • freedreno/drm: Make rb refcnt non-atomic

  • freedreno/a6xx: Remove tex-state refcnting

  • freedreno: Move blend out of dirty-rsc tracking

  • freedreno: Move FD_MESA_DEBUG cases out of draw_vbo

  • freedreno/a6xx: Pre-compute PROG related LRZ state

  • freedreno: Avoid taking screen lock

  • freedreno/batch: Stop tracking cross-context deps

  • freedreno: Drop batch lock

  • freedreno: Add seqno helper

  • freedreno/drm: Optimize stateobj re-emit

  • freedreno/a6xx: Move rsc seqno out of tex cache key

  • freedreno/a6xx: Fix set_sampler_views(start != 0)

  • freedreno/a6xx: Drop unneed fd6_texture_state() arg

  • freedreno/a6xx: Fix sampler view rsc_seqno for X32_S8X24

  • freedreno/a6xx: Add a way to assert valid format

  • freedreno/a6xx: Remove needs_invalidate flag

  • freedreno/a6xx: Small cleanup

  • freedreno/a6xx: Static-ify sampler_view_update()

  • freedreno/a6xx: Fix view_seqno in tex cache key

  • freedreno/cffdec: Fix unitialized count for pkt2

  • freedreno/cffdec: Add helper to find next pkt

  • freedreno/cffdec: Add helper to parse CP_INDIRECT_BUFFER

  • freedreno/cffdec: Fix hang location detection

  • freedreno/crashdec: Refactor crashdec tests

  • freedreno/crashdec: Add another prefetch test

  • freedreno/crashdec: Handle multi-IB prefetching

  • freedreno/crashdec: Disable GALLIUM_DUMP_CPU

  • vk/runtime: Allow enumerate and try_create_for_drm to coexist

  • turnip: Move things to prep for multi-kernel support

  • turnip: drm code-motion

  • turnip: Split out vfuncs for kernel interface

  • turnip: Allow knl backend specific entrypoints

  • turnip: Move QueueWaitIdle entrypoint to kgsl

  • turnip: Handle kgsl vs drm specifics at runtime

  • turnip: Refactor device loading

  • tu+meson: Re-work KMD selection

  • tu/kgsl: Propagate tu_physical_device_init() errors

  • Revert “freedreno: Account for multi-draw in num_draws”

  • freedreno/a6xx: Namespace reg/pkt packer vars

  • freedreno/a6xx: Convert blitter to OUT_REG()

  • freedreno/a6xx: Fix mirror x/y blits

  • util: Add a simple no-op libdrm shim

  • turnip: Use libdrm shim

  • loader: Use libdrm shim

  • vk/runtime: Use libdrm shim

  • freedreno/common: Replace or_mask() with BitsetEnum<T>

  • freedreno: Promote non-drawing batches to sysmem

  • freedreno: Nerf strict-aliasing warning for all of gcc

  • freedreno/registers: Schema validation for gen_header.py

  • freedreno/registers: Add regs for a690

  • freedreno: Quiet c++ warning about designated initializers

  • freedreno/ir3: Un-inline enums

  • freedreno/ir3: Don’t use negative opc for meta instructions

  • freedreno/ir3: c++-proof the headers

  • freedreno/ir3+tu: Calculate subgroup size in ir3

  • freedreno/ir3: Add missing driver params

  • freedreno: Un-inline buffer-mask enum

  • freedreno: c++-proofing

  • freedreno/a6xx: Rework texture_clear fallback

  • freedreno/a6xx: Add missing “inline”

  • freedreno/a6xx: Fix designator initializer order

  • freedreno/a6xx: Convert to c++

  • freedreno/registers: Fix designator order

  • freedreno/registers: Add prefix=”variant”

  • freedreno/registers: Merge a6xx and a7xx regs

  • freedreno/registers: Start adding a7xx pipe/control regs

  • freedreno/decode: Start adding a7xx support

  • freedreno/registers: Start adding stuff for a7xx

  • freedreno/registers: Track varset

  • freedreno/registers: Split out regpair builder helper

  • freedreno/registers: Add c++ magic for register variants

  • freedreno/registers: Fix nameless fields

  • freedreno/registers: Define rest of CP_REG_WRITE

  • freedreno/a6xx: Simplify iova emit

  • mesa: Rework discard_framebuffer()

  • driconf: Add ignore_discard_framebuffer option

  • driconf: Work around incorrect GI discard/invalidate

  • freedreno: Specify GMEM tile alignment per GPU

  • freedreno+tu: Big GMEM support

  • freedreno+tu: Add a690 support

  • freedreno/a6xx: Restore mode

  • freedreno/rnn: Fix reg names for regs with variants

  • freedreno/afuc: Add raw mode for disasm

  • freedreno/registers: Add control reg for zap fw base

  • Revert “CI: Disable freedreno”

  • dri2/android: Bypass throttling

  • freedreno/drm: Fast path for idle check

  • freedreno/drm: Stop cleanup at first active BO

  • mesa: Add a few more function traces

  • freedreno/drm: Make threaded-submit optional

  • freedreno/drm: Disable threaded-submit for msm

  • freedreno: Optimize repeated finishes

  • freedreno: Stop being too clever by half

  • freedreno: Hoist dirty vars

  • freedreno: Extract out a helper

  • freedreno: Inline single-use helpers

  • freedreno: Re-work dirty-resource tracking

  • freedreno: Avoid looping shader stages if nothing dirty

  • freedreno: Move driconf settings into sub-struct

  • freedreno: Support the disable_throttling=true driconf option

  • util/disk_cache: Split out queue initialization

  • util/disk_cache: Add NONE type

  • util/disk_cache: Use queue state to skip put

  • util/disk_cache: Move blob_put_cb to the async queue

  • freedreno/a6xx: Allow z24s8 format casts

  • freedreno/a6xx: Fix valid_format_cast logic for newer a6xx

  • freedreno: Fix resource tracking vs rebind/invalidate

  • dri/android: Fix MSAA resolve

Rohan Garg (9):

  • iris: Don’t flush the render cache for a compute batch

  • anv: drop unused headers

  • anv: reuse the VK_IMAGE_ASPECT_PLANES_BITS_ANV macro

  • isl: fix some documentation

  • anv/blorp: use existing function to convert the op to a string

  • anv: break out of the loop when the first color attachment is found

  • anv,hasvk: cleanup unused enum

  • intel/genxml: Add the preferred slm size enum for gen125

  • anv,blorp,iris: Set PreferredSLMAllocationSize on gfx125+

Roland Scheidegger (2):

  • llvmpipe: only use accurate_a0 hack if there are no textures bound

  • lavapipe, nir: Fix wrong array index scaling in nir_collect_src_uniforms

Rose Hudson (4):

  • radeonsi: report 0 block size for Polaris HEVC encoding

  • asahi: wire up shader disk cache support

  • agx: isolate compiler debug flags

  • asahi: disable disk cache in debug runs

Ruijing Dong (5):

  • frontends/va: revert commit 0b02db30

  • raseonsi/vcn: fix a h264 decoding issue

  • frontends/va: disable skip_frame_enable in vaapi interface.

  • radeonsi/vcn: correct cropping for hevc case

  • radeonsi/vcn: fix decoding bs buffer alignement issue.

Ryan Neph (17):

  • ci: fix directory existence racing in parallel test execution

  • util/u_process: add MESA_PROCESS_NAME override to util_get_process_name()

  • util/u_process: remove util_get_process_name_may_override()

  • util/xmlconfig: add MESA_DRICONF_EXECUTABLE_OVERRIDE

  • venus: update venus-protocol headers to partially fix WA1

  • venus: temporarily redirect VkDrmFormatModifierPropertiesListEXT to “2” variant

  • ci: uprev virglrenderer

  • venus: update venus-protocol headers to fix WA1

  • Revert “venus: temporarily redirect VkDrmFormatModifierPropertiesListEXT to “2” variant”

  • venus: add vn_relax_init/_fini()

  • venus: set/check ring status bits independently

  • venus: init exp features before ring init again

  • venus: update to latest protocol for ringMonitoring

  • venus: check and configure new ringMonitoring feature

  • venus: re-use VN_DEBUG_NO_ABORT to disable ring monitoring abort()

  • virgl: hook new get_fd proc for drm winsys

  • i915: hook new get_fd proc for drm winsys

Sagar Ghuge (10):

  • iris: Stop marking context unconditionally as guilty

  • intel/fs: Always stall between the fences on Gen11+

  • nir: Handle other variants of image_samples properly while lowering

  • intel/compiler: Add swsb_stall debug option

  • anv: Implement Wa_14015297576

  • iris: Implement Wa_14015297576

  • intel/compiler: Add Wa_14014063774 for slm_fence

  • intel/decoder: Bump the binding table guess value to 32

  • anv: Drop unused param from add_surface_reloc

  • anv: Drop dead code that sets the L3BypassDisable field

Sai Teja Pottumuttu (2):

  • iris: Fix to release BO immediately if not busy

  • anv: Fix stride mismatch in mesa and minigbm

Sajeesh Sidharthan (3):

  • radeonsi/vcn: disable fence for JPEG decoding

  • radeonsi/vcn: set bitstream buffer size to encoded bitstream size

  • radeonsi/vcn: optimize bitstream buffer resize logic

Sam Edwards (1):

  • nouveau: Fix null dereference in nouveau_pushbuf_destroy

Samuel Iglesias Gonsálvez (1):

  • docs/developers: Add Igalia as Mesa consultancy

Samuel Pitoiset (279):

  • radv: fix missing implementation of creating images from swapchains

  • radv: fix hashing pipeline keys if RADV_PERFTEST=ngg_streamout is used

  • radv: fix re-emitting RB+ when the non-compacted color format changes

  • ac/nir: clear unused components before storing XFB outputs to LDS

  • ac: add TC_OP_ATOMIC_SUB_32

  • radv: fix setting MAX_MIP for BC views

  • radv: fix buffer to image copies with BC views on the graphics queue

  • radv: fix creating BC image views when the base layer is > 0

  • radv: rename ac_surf_nbc_view::max_mip to num_levels

  • radv: move some color blend helpers to radv_private.h

  • radv: add a new helper for normalizing blend factors

  • radv: add support for dynamic blend equation

  • radv: enable compiling PS epilogs on-demand for dynamic color blend equations

  • radv: fix detecting that blend is enabled when all CB states are dynamic

  • radv: advertise extendedDynamicState3ColorBlendEquation

  • radv: remove an old FIXME about a possible bug with TC-compat HTILE

  • radv/winsys: fix incorrect PCIID for GFX11 in the null winsys

  • radv: print depth image size with RADV_DEBUG=img

  • radv: fix RADV_DEBUG=hang with multiple cmdbuffer per submission

  • radv/winsys: prefix all error messages with RADV

  • radv: fix creating libraries with PS epilog and all CB states as dynamic

  • radv: fix ignoring graphics shader stages that don’t need to be imported

  • radv: add a layer for fixing rendering issues with RAGE2

  • radv: simplify VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED

  • radv: pass the number of stages to radv_hash_shaders()

  • radv: split radv_create_shaders() between graphics and compute shaders

  • radv: rename radv_create_shaders() to radv_graphics_pipeline_compile()

  • radv: ignore all CB dynamic states when there is no color attachments

  • radv: regroup dynamic states initialization

  • radv: only initialize non-zero values for the default dynamic state

  • radv: stop setting INTERPOLATE_COMP_Z

  • radv: fix RB+ for SRGB formats

  • radv: adjust ACCUM tessellation fields on GFX11+

  • radv: fix GPL fast-linking with libs that have retained NIR shaders

  • radv: skip shaders cache for fast-linked pipelines with GPL

  • radv: remove useless check about CS in radv_lower_io()

  • radv: simplify pipeline_has_ngg during graphics shaders compilation

  • radv: add helpers for capturing shaders and statistics

  • radv: pass radv_graphics_pipeline to radv_graphics_pipeline_compile()

  • radv: move retained shaders info to radv_graphics_pipeline

  • radv: pass radv_compute_pipeline to radv_compute_pipeline_compile()

  • radv: pass pCreateInfo to radv_graphics_pipeline_compile()

  • radv: optimize radv_pipeline_layout_add_set() slightly

  • radv: remove redundant zero initialization of pipeline layout

  • radv: remove radv_pipeline_stage::spirv::sha1

  • radv: allow to create a noop FS in a library with GPL

  • radv: remove one unused variable in radv_graphics_lib_pipeline_init()

  • radv: pass the lib flags for generating the pipeline key

  • radv: return a boolean value in radv_pipeline_needs_dynamic_ps_epilog()

  • radv: stop using the graphics pipeline key after compilation

  • radv: determine the last VGT API stage earlier

  • radv: skip compilation when possible with GPL fast-linking

  • radv: simplify an assertion after considering RADV_FORCE_VRS

  • radv: do not insert fast-linked libraries to the shaders cache

  • radv: fix skipping graphics pipeline compilation when the FS is NULL

  • radv: cleanup graphics pipeline library flags uses

  • radv: simplify determining when the fragment shader needs an epilog

  • radv: regroup PS epilog info when generating the graphics pipeline key

  • radv: fix disabling MRT compaction for on-demand PS epilogs

  • radv: make sure to disable MRT compaction when compiling a PS epilog with GPL

  • radv: simplify creating a FS epilog from a library

  • radv: stop skipping the cache for compute/raytracing pipelines with GPL

  • radv: stop skipping the cache for monolithic graphics pipelines with GPL

  • docs: add missing RADV_PERFTEST=video_decode

  • docs: stop reporting RADV_PERFTEST=gpl as experimental/suboptimal

  • radv/ci: set RADV_PERFTEST=GPL for all VKCTS jobs

  • radv/ci: bump the number of runners to 3 for vkcts-navi21-valve

  • radv: restore uploading shaders individually instead of consecutively

  • radv: implement graphics shaders relocation for a RGP workaround

  • radv: fix importing retained NIR shaders when a lib uses the RETAIN bit

  • radv: use last_vgt_api_stage for determining the last stage with XFB

  • radv: only initialize shader arguments for the active stages

  • radv simplify compiling graphics shaders with a mask of active NIR stages

  • radv: disable DCC for mipmaps on GFX11

  • radv: ignore registering pipeline libaries with SQTT

  • radv/ci: add missing expected failures with RADV_PERFTEST=gpl on GFX1100

  • radv: reduce maximum line width to 8.0

  • radv: add support for rectangularLines

  • Revert “radv: acquire pstate on-demand when capturing with RGP”

  • radv/amdgpu: only set a new pstate if the current one is different

  • radv: only skip emitting the pipeline blend state if the FS uses an epilog

  • radv: stop using a PS epilog when the FS doesn’t write any color outputs

  • ci: uprev vkd3d-proton

  • zink/ci: skip KHR-GL46.texture_swizzle.functional with RADV

  • zink/ci: set RADV_PERFTEST=gpl for RADV jobs

  • radv/ci: disable vkcts-kabini-valve

  • radv/ci: move CI lists for external GPUs in separate folder

  • radv: configure SQ_THREAD_TRACE_CTRL.REG_AT_HWM on GFX11

  • radv: only enable SQTT for SE0 on GFX11

  • radv: make sure to wait for the trace buffer also on GFX11

  • radv: implement a workaround for SQTT on GFX11

  • radv: disable SPM counters with RGP on GFX11

  • radv: enable SQTT tracing on GFX11

  • radv: set VS_OUT_MISC_SIDE_BUS_ENA for clip distances on GFX10.3+

  • radv/ci: cleanup CI lists for dEQP-VK.memory.* tests that timeout

  • ac/nir: add resinfo lowering for sliced storage 3D views

  • radv: implement VK_EXT_image_sliced_view_of_3d on GFX10+

  • radv: advertise VK_EXT_image_sliced_view_of_3d on GFX10+

  • radv: cleanup radv_emit_{conservative,msaa}_state() functions

  • radv: stop setting ENABLE_POSTZ_OVERRASTERIZATION to 1

  • radv: set MSAA_NUM_SAMPLES to 0 for underestimate rasterization

  • radv: enable primitiveUnderestimation on GFX9+

  • zink/ci: skip one more test that timeout with RADV

  • radv: fix flushing non-coherent images inside secondaries on GFX9+

  • radv: fix flushing non-coherent images in EndCommandBuffer()

  • radv: fix draw calls with 0-sized index buffers and robustness on NAVI10

  • radv: only expose EXT_pipeline_library_group_handles if RT is enabled

  • amd,ac/rgp: fix SQTT memory types

  • radv: ignore alpha_is_on_msb on GFX11 because the hw ignores it

  • radv: use new EVENT_WRITE_ZPASS packet3 on GFX11

  • radv: fix DCC decompress on GFX11

  • radv: stop allocationg the attr ring BO for compute queues on GFX11

  • ci: uprev CTS to 1.3.5.0

  • radv/ci: adjust timeouts for Vega10 and Renoir

  • radv/ci: stop skipping some graphics pipeline library tests

  • radv/ci: update CI lists for CTS 1.3.5.0 on GFX110/POLARIS10/PITCAIRN

  • wsi: move an assertion in wsi_xxx_surface_get_capabilities2()

  • radv: do not add descriptor BOs on update when the global BO list is used

  • radv: fix incorrect stride for primitives generated query with GDS

  • radv: fix border color swizzle for stencil-only format on GFX9+

  • radv: fix defining RADV_USE_WSI_PLATFORM

  • radv: move disabling DCC for VRS rate images in radv_get_surface_flags()

  • ac/surface: add RADEON_SURF_VRS_RATE for selecting swizzle mode on GFX11

  • radv: add support for VRS attachment on GFX11

  • radv: do not emit PA_SC_VRS_OVERRIDE_CNTL from the pipeline on GFX11

  • radv: advertise attachmentFragmentShadingRate on GFX11

  • radv: enable VK_KHR_fragment_shading_rate on GFX11

  • radv: disable DCC with signedness reinterpretation on GFX11

  • radv: move instance related code to radv_instance.c

  • radv: move physical device related code to radv_physical_device.c

  • radv: move queue related code to radv_queue.c

  • radv: move sampler related code to radv_sampler.c

  • radv: move event related code to radv_event.c

  • radv: move buffer related code to radv_buffer.c

  • radv: move device memory related code to radv_device_memory.c

  • radv: zero-initialize radv_shader_args right before declaring them

  • radv: zero-initialize radv_shader_info earlier for graphics pipeline

  • radv: fix the error code when the driver fails to create a PS epilog

  • radv: determine if a graphics pipeline needs a noop FS earlier

  • radv: keep track of the retained NIR shaders sha1 for LTO pipelines

  • radv: allow to cache optimized (LTO) pipelines with GPL

  • radv: rename RADV_PIPELINE_LIBRARY to RADV_PIPELINE_RAY_TRACING_LIB

  • radv: add helpers for destroying various pipeline types

  • radv: fix NGG streamout with VS and GPL on GFX11

  • spirv: add SpvCapabilityFragmentFullyCoveredEXT

  • spirv,nir: add support for SpvBuiltInFullyCoveredEXT

  • radv: lower nir_intrinsic_load_fully_covered

  • radv: enable SAMPLE_COVERAGE_ENA if the fully covered built-in is used

  • radv: implement fullyCoveredFragmentShaderInputVariable

  • radv: enable fullyCoveredFragmentShaderInputVariable on GFX9+

  • radv: remove set but never used num_preserved_sgprs

  • radv: stop storing the binary as part of radv_shader_part

  • radv: store spi_shader_col_format to radv_shader_part_binary

  • radv: store the total radv_shader_part_binary size

  • radv: upload prologs/epilogs as part of radv_shader_part_create()

  • radv: allow to return the PS epilog binary to the pipeline

  • radv: make radv_shader_part_create() non-static

  • radv: add support for caching PS epilogs

  • radv: stop using radv_get_shader_shader() for task shaders

  • radv: replace radv_lookup_user_sgpr() by radv_get_user_sgpr()

  • radv: pass shader/base_reg to radv_emit_descriptor_pointers()

  • radv: pass shader/base_reg to radv_emit_inline_push_consts()

  • radv: pass shader/base_reg to radv_emit_userdata_address()

  • radv: use a separate compute path in radv_flush_constants()

  • radv: pass radv_shader to radv_dump_shader_stats()

  • radv: rework dumping shaders when a GPU hang is reported

  • radv: pass radv_ray_tracing_pipeline to radv_rt_pipeline_compile()

  • radv: pass radv_shader to radv_shader_need_indirect_descriptor_sets()

  • radv: implement VK_KHR_map_memory2

  • radv: use common GetBufferMemoryRequirements2()

  • radv: move cs_regalloc_hang_bug to radv_shader_info

  • radv: pass a radv_shader to radv_emit_dispatch_packets()

  • radv: remove radv_pipeline::device completely

  • radv: rework binding shaders to cmdbuf by introducing new helpers

  • radv: move radv_meta_* to a new folder

  • radv: copy the multisample state to radv_cmd_state

  • radv: move uses_user_sample_locations to radv_multisample_state

  • radv: separate the sample shading state between FS and graphics pipeline

  • radv: add DI_PT_RECTLIST to si_conv_prim_to_gs_out()

  • radv: stop checking dynamic states when emitting the guardband state

  • radv: rename gfx9_gs_info to radv_legacy_gs_info

  • radv: move {esgs,gsvs}_ring_size to radv_legacy_gs_info

  • radv/rt: bind the pipeline stack when it’s not dynamic

  • radv/ci: update CI lists for Polaris10 and Pitcairn

  • radv: stop using get_vs_output_info() when emitting VS/NGG shaders

  • radv: emit the GS copy shader outside of radv_pipeline_emit_hw_gs()

  • radv: add radv_get_last_vgt_shader() helper

  • radv: stop using the pipeline for emitting PS inputs

  • radv: use the shader info stage to simplify emitting NGG shaders

  • radv: use the ES type to apply a workaround for NGG on GFX10

  • radv: pass the ES shader to radv_pipeline_emit_hw_ngg()

  • radv: stop using the pipeline for emitting shaders

  • radv: pass shader/base_reg to radv_emit_view_index_per_stage

  • radv: pass a shaders array to radv_get_shader()

  • radv: add radv_bind_shader() helper

  • radv: add an assertion about shader stage to radv_bind_pre_rast_shader()

  • radv: keep track of active stages as part of the cmdbuf state

  • radv: determine the last VGT shader at pipeline bind time

  • radv: stop using last_vgt_api_stage_{locs} during cmdbuf recording

  • radv: move dirtying flags for mesh shading to radv_bind_pre_rast_shader()

  • radv: copy bound shaders to the cmdbuf state

  • radv: determine and store the next graphics stage to radv_shader_info

  • radv: move user_data_0 to the shader info pass

  • radv: replace pipeline->is_ngg occurrences during cmdbuf recording

  • radv: replace pipeline->force_vrs_per_vertex during cmdbuf recording

  • radv: use serialized NIR for graphics libs with the RETAIN flag

  • radv: remove radv_graphics_pipeline::use_per_attribute_vb_descs

  • radv: remove radv_graphics_pipeline::last_vertex_attrib_bit

  • radv: remove radv_graphics_pipeline::next_vertex_stage

  • radv: remove radv_graphics_pipeline::can_use_simple_input

  • aco: remove unused aco_shader_info::vb_desc_usage_mask

  • radv: adjust vb_desc_usage_mask for dynamic VS inputs in the info pass

  • radv: remove radv_graphics_pipeline::vb_desc_usage_mask

  • radv: remove radv_graphics_pipeline::vb_desc_alloc_size

  • radv: rework emitting inner coverage when a fragment shader is bound

  • radv: copy custom blend mode to the cmdbuf state

  • radv: add a helper that returns the current rasterized primitive

  • radv: copy rast_prim to the cmdbuf state

  • radv: copy uses_{drawid,baseinstance} to the cmdbuf state

  • radv: copy ia_multi_vgt_param to the cmdbuf state

  • radv: add a helper to convert a VkPipelineBindPoint

  • radv: copy need_indirect_descriptor_sets to radv_cmd_state

  • radv: add push constant state to the cmdbuf state

  • radv: fix sample shading when a new fragment shader is bound

  • vulkan: add dynamic support for rectangles enable/mode

  • radv: add dynamic support for rectangles enable/mode

  • vulkan: Update XML and headers to 1.3.246

  • radv: copy db_render_control to the cmdbuf state

  • radv: set PS_ITER_SAMPLE(1) for sample shading during cmdbuf recording

  • radv: configure PA_SC_MODE_CNTL_1 during cmdbuf recording

  • radv: add the raygen shader BO to the cmdbuf list

  • radv: fix binding raytracing/compute pipelines

  • zink/ci: remove primitive-id-no-gs-quads from the NAVI10 fail list

  • radv/ci: add one more flake

  • radv: only copy non-NULL shaders when loaded from the cache

  • radv: rely on non-NULL binaries when inserting shaders to the cache

  • radv: allow to create/insert PS epilogs from/to the cache for libs

  • radv: remove dead code in radv_pipeline_get_nir()

  • radv: add VkGraphicsPipelineLibraryFlag to the graphics pipeline key

  • radv: ensure to retain NIR shaders for GPL libs found in the cache

  • radv: enable shaders cache for libraries with GPL

  • radv: fix VS prologs with GPL and static binding stride

  • radv: emit the PS epilog after the graphics pipeline

  • radv: add a helper for retaining NIR shaders

  • radv: move the serialized NIR to radv_graphics_lib_pipeline

  • radv: simplify a check when retaining NIR shaders

  • radv: do not retain noop FS for libs when a cache hit happened

  • radv: import retained NIR shaders later in the compilation process

  • radv/rt: stop storing unused hashes/identifiers

  • radv: create a helper for copying VkPipelineShaderStageCreateInfo

  • radv: copy stages instead of serializing NIR for GPL with the RETAIN flag

  • radv: enable VK_EXT_graphics_pipeline_library by default

  • radv/ci: update expected failures for PITCAIRN

  • radv/ci: remove no longer existing tests for PITCAIRN

  • radv/ci: update expected failures with BONAIRE

  • docs: add more release notes for RADV

  • radv: fix re-emitting vertex user SGPRs when binding a graphics pipeline

  • radv/ci: remove one RT test from the expected failures on RDNA3

  • radv: split radv_pipeline.c into radv_pipeline_{compute,graphics}.c

  • radv: fix pipeline creation feedback with imported graphics libs

  • radv: cleanup after splitting radv_pipeline.c

  • radv: fix detecting FMASK_DECOMPRESS/DCC_DECOMPRESS meta pipelines

  • vulkan: ignore rasterizationSamples when the state is dynamic

  • radv: try to keep HTILE compressed for READ_ONLY_OPTIMAL layout

  • radv: re-emit the guardband state when related PSO are bound

  • radv: disable fast-clears with CMASK for 128-bit formats

  • radv: do not allow 1D block-compressed images with (extended) storage on GFX6

  • radv: fix usage flag for 3D compressed 128 bpp images on GFX9

  • radv: update binning settings to work around GPU hangs

  • radv/amdgpu: fix adding continue preambles and postambles BOs to the list

  • radv: wait for occlusion queries in the resolve query shader

  • radv: delay enabling/disabling occlusion queries at draw time

  • radv: track DB_COUNT_CONTROL changes to avoid context rolls

  • radv: add the perf counters BO to the preambles BO list

  • radv: only enable extendedDynamicState3ConservativeRasterizationMode on GFX9+

  • ac/nir: fix 8-bit/10-bit PS exports clamping

  • radv: fix dynamic depth clamp enable support

  • radv: fix fast-clearing images with VK_REMAINING_{ARRAY_LAYERS,MIP_LEVELS}

  • radv: disable RB+ blend optimizations on GFX11 when a2c is enabled

Sarah Walker (1):

  • pvr: Update FWIF transfer queue register structures

Sathishkumar S (8):

  • radeonsi/vcn: add register definitions for JPEG 4.0.3

  • radeonsi/vcn: use register versions for jpeg

  • radeonsi/vcn: add support for picture crop on JPEG 4.0.3

  • radeonsi/vcn: support ARGB/RGBA conversion on JPEG 4.0.3

  • radeonsi/vcn: set jpeg reg version for gfx940

  • radeonsi/vcn: reset to default value when ROI/FC is not used

  • frontends/va: support crop region in jpeg decode

  • radeonsi/vcn: enable RGBA/ARGB formats on gfx940 jpeg

Sebastian Wick (1):

  • loader: do not check the mesa DRI_Mesa version if it was not found

Sergi Blanch Torne (8):

  • ci: disable Collabora’s LAVA lab for maintance

  • Revert “ci: Collabora’s LAVA lab for maintance”

  • ci: Uprev kernel to 6.1.7

  • ci: disable Collabora’s LAVA lab for maintance

  • ci: disable Collabora’s LAVA lab for maintance

  • ci: include setup test environment script in the output artifacts

  • Revert “ci: disable Collabora’s LAVA lab for maintance”

  • ci: disable Collabora’s LAVA lab for maintance

Sidney Just (4):

  • zink: Fix non debug builds failing to compile on

  • loader: Add missing brace to fix compile

  • zink: add check for samplerMirrorClampToEdge Vulkan 1.2 feature

  • zink: Add missing features to the profile file

Sil Vilerino (15):

  • d3d12: Honor suggested driver profile/level for H264/HEVC encode

  • d3d12: Video processing - Fix out of bounds array access

  • d3d12: Video Encode - Fix ID3D12CommandAllocator leak

  • d3d12: Fix VP9 Decode - Checking 0xFF instead of 0x7F for invalid frame_ref[i].Index7Bits

  • frontend/va: Add format support checks for VA_RT_FORMAT_* in VaCreateConfig/VaGetConfigAttributes

  • frontend/va: Remove duplicate code in format support checking/reporting.

  • frontend/va: Keep track of some VP9 previous frame data for current frame use_prev_in_find_mvs_refs

  • d3d12: VP9 Decode - Fix use_prev_in_find_mvs_refs calculation

  • d3d12: Fix video decode for interlaced streams with reference only textures required

  • d3d12: H264/HEVC Encode - Set both VBV InitialCapacity/Size in CBR Rate Control to same value when requested

  • d3d12: Encode H264/HEVC - Do not write PPS unless different from active

  • d3d12: Encode - Only upload headers when written headers size is > 0

  • nir: Fix use of alloca() without #include c99_alloca.h

  • Revert “d3d12: Honor suggested driver profile/level for H264/HEVC encode”

  • d3d12: Video processor to only promote resources to permanent residency when there is work to be flushed

Simon Fels (2):

  • venus: allow vtest socket being specified by env variable

  • virgl/vtest: allow socket being specified by env variable

Simon Perretta (38):

  • pvr: Add new Rogue compiler framework

  • pvr: Add support for optional instruction params

  • pvr: Support dual-destination ALU instructions

  • pvr: Commonise some instruction member defs

  • pvr: Drop the ENUM_PACKED macro

  • pvr: Keep NIR SSA defs instead of registers

  • pvr: Adjust instruction repeat offset

  • pvr: Validate instruction repeat and src/dst sizes

  • pvr: Add block printing support during validation

  • pvr: Clarify unreachable text

  • pvr: Add ADD64 support

  • pvr: Add memory load support

  • pvr: Add bitwise instruction support

  • pvr: Additional register subarray support

  • pvr: Support loading immediate values

  • pvr: Load descriptors from memory

  • pvr: Split pvr_private.h

  • pvr: Use descriptor/set/table offsets from driver

  • pvr: Add NIR pass to lower vars to SSA

  • pvr: Amend subarray ownership code

  • pvr: Add support for fitr.pixel

  • pvr: Add support for sample instructions

  • pvr: Add support for validating modifier combos

  • pvr: Add support for emitpix

  • pvr: Add support for WOP

  • pvr: Register allocation improvements

  • pvr: Fix descriptor set address calculation

  • pvr: Add support for generating per-job EOT program

  • pvr: Add support for generating NOP program

  • pvr: Add support for IDF

  • pvr: Add support for ST

  • pvr: Add branch support

  • pvr: Add support for TST

  • pvr: Add basic support for manual instruction grouping

  • pvr: Add support for MOVC

  • pvr: Add late op lowering pass and conditional execution

  • pvr: Amend definitions for ST and IDF

  • pvr: Add encodings for index registers

Simon Ser (1):

  • egl: fix fd_display_gpu on surfaceless and device platforms

Sonny Jiang (5):

  • radeonsi: Add NV12 support for AV1

  • gallium/pipe: change PIPE_DEFAULT_DECODER_FEEDBACK_TIMEOUT_NS to 1 second

  • amd/common: Add gfx940 codec query support

  • radeonsi/vcn: Add video capabilities support for gfx940

  • radeonsi/vcn: Add decode support for gfx940

SoroushIMG (31):

  • zink: add pass checking for lod overflow in txf

  • zink: add zink_cs_key

  • zink: add VK_EXT_image_robustness

  • zink: add robust_access field to shader key

  • zink: lower LOD-invalid txf when imageRobustAccess2 is missing

  • zink: update gl43 profile to allow imageRobustAccess

  • zink: fix sparse residency query and minLOD feature checks

  • zink: fix cap check for arb sparse texture2

  • zink: only save frag const buffers when used by blit

  • zink: fix leak when rebinding same image surface

  • zink: clear null image surfaces to 0

  • zink: fix pointcoord y inversion

  • zink: relax bresenhamLines requirement for non-strictLine drivers

  • zink: fix compute shader leaks

  • zink: allocate program shader caches from the program’s mem ctx

  • zink: stop creating pipeline library cache for non-optimal_key drivers

  • zink: free resource objects’ views array during destruction

  • zink: fix stale point sprite mode state

  • zink: fix shadow mask change logic when binding sampler views

  • zink: track shadow swizzle for all shader stages

  • zink: minor formatting change

  • zink: add needs_zs_shader_swizzle shader key

  • zink: extend shadow swizzle pass to all zs textures

  • zink: add depth/stencil needs shader swizzle workaround field

  • zink: workaround undefined swizzle 1 for z/s textures

  • zink: rename shadow key to zs swizzle

  • zink: Add driver name and API version to renderer name

  • zink: do not emit line stipple dynamic state when emulating

  • zink: take location_frac into account in lower_line_smooth_gs

  • zink: fix incorrect line mode check for bresenham

  • zink: refcount the correct query pool

Sui Jingfeng (1):

  • meson: add basic support for loongarch

SureshGuttula (1):

  • radeonsi: Add support for DPB resize

Sviatoslav Peleshko (9):

  • anv: Handle VkAccelerationStructureBuildRangeInfoKHR::transformOffset

  • driconf/anv: Apply limit_trig_input_range WA to Rise of the Tomb Raider

  • iris: Avoid creating uncompressed view with unaligned tile offsets on BDW

  • anv: Handle all fields in VkAccelerationStructureBuildRangeInfoKHR

  • anv: Move WA MEDIA_VFE_STATE after stalling PIPE_CONTROL

  • glsl: Fix codegen for constant ir_binop_{l,r}shift with mixed types

  • isl: Check all channels in isl_formats_have_same_bits_per_channel

  • anv: Handle UNDEFINED format in image format list

  • anv: Improve image/view usage bits verification

Tapani Pälli (42):

  • intel/compiler: add cpp_std=c++17 when building tests

  • intel/hasvk: remove some stale comments, wa was removed

  • anv: add restrictions for 3DSTATE_RASTER::AntiAliasingEnable

  • hasvk: add restrictions for 3DSTATE_RASTER::AntiAliasingEnable

  • iris: add restrictions for 3DSTATE_RASTER::AntiAliasingEnable

  • mesa: move component bits queries as GL ES only

  • intel/genxml: set unused 3DSTATE_PS_EXTRA field as mbz

  • intel: enable existing workaround for ICL platform

  • intel/blorp: disable REP16 for gfx12+ with R10G10B10_FLOAT_A2

  • iris: disable preemption for 3DPRIMITIVE during streamout

  • iris: handle error in iris_resource_from_handle

  • spirv: add workaround for Metro Exodus in spirv_to_nir

  • radv: revert Metro Exodus workaround which was moved to common code

  • mesa/st: refactor st_destroy_texcompress_compute condition

  • mesa/st: add astc decoder lookup tables

  • mesa/st: initialize resources for ASTC decoding

  • mesa: add astc decoder shader template (glsl es version)

  • mesa/st: support compute shader decoding of ASTC

  • anv: Wa_14016407139, add required pc when SBA programmed

  • iris: implement emission of 3DSTATE_HS for Wa_1306463417

  • anv: emit 3DSTATE_HS in cmd_buffer_flush_gfx_state

  • anv: limit generated draws to pipelines without HS stage

  • anv: implement emission of 3DSTATE_HS for Wa_1306463417

  • iris: emit 3DSTATE_HS for each primitive on gfx12

  • anv: emit 3DSTATE_HS for each primitive on gfx12

  • intel/compiler: add comment about workaround on simd width

  • anv: fix sends_count_expectation assert on simd32

  • intel/isl: disable TILE64 for YCRCB formats

  • anv: implement occlusion query related Wa_14017076903

  • iris: implement occlusion query related Wa_14017076903

  • intel/fs: restore message layout changes for cube array

  • anv: use primitive ID override when shader does not supply it

  • anv: take primitive ID override to account Wa_14015297576

  • anv: check for MESA_SHADER_TESS_CTRL with get_tcs_prog_data

  • intel/common: limit the amount of SLM with Wa_14017341140

  • intel/fs: use intel_needs_workaround for Wa_22013689345

  • intel/compiler: use intel_needs_workaround for Wa_14012437816

  • isl: disable mcs (and mcs+ccs) for color msaa on gfxver 125

  • iris: implement state cache invalidate for Wa_16013063087

  • anv: cleanup bitmask construction for PIPELINE_SELECT

  • anv: implement state cache invalidate for Wa_16013063087

  • isl: fix layout for comparing surf and view properties

Tatsuyuki Ishi (22):

  • radv: Fix depth-only-with-discard when epilogs are used.

  • radv: Fix emitting tess indirect descriptors twice.

  • radv: Loop over shader stages in flush_indirect_descriptor_sets.

  • radv: Fix noop FS not getting constructed for GPL pipelines.

  • radv: Fix missing rbplus_allowed check for dynamic PS epilogs.

  • radv: Assert the hardware support rbplus when emitting rbplus state.

  • radv: Keep shader code ptr in a separately allocated buffer.

  • radv/sqtt: Use code buffer from radv_shader directly instead of copying.

  • radv: Replace radv_trap_handler_shader with radv_shader.

  • radeonsi: SDMA v4 size field is size - 1

  • radv: SDMA v4 size field is size - 1

  • radv: Remove SDMA padding from copy helpers.

  • radv: Use common helpers to translate format in SDMA copy.

  • radv/rt: Don’t upload the prolog twice.

  • radv: Use radeon_cmdbuf for sdma_copy_image.

  • radv: Introduce sdma_copy_buffer for GFX7+.

  • radv: Upload shaders to invisible VRAM on small BAR systems.

  • radv: Wait for shader uploads asynchronously.

  • radv: Fix missing wait of GS copy shader upload for dmashaders.

  • amd: Add radv_foreach_stage to ForEachMacros.

  • radv: Pre-compute descriptor set layout hash.

  • ci/android: Make armv8’s arch aarch64 instead of arm.

Teng, Jin Chung (2):

  • frontend/va: Add large_scale_tile from VADecPictureParameterBufferAV1

  • d3d12: AV1 Dec - Set anchor_frame_idx only when large_scale_tile equals 1

Thomas H.P. Andersen (4):

  • docs/panvk: VK_KHR_descriptor_update_template

  • meson: use summary()

  • meson: use sections in summary()

  • v3dv: use common code for descriptor update template

Thong Thai (6):

  • gallium/auxiliary/vl: clean-up progressive shader

  • radeonsi/vcn: use encoder/decoder caps reported by kernel

  • gallium/auxiliary/vl: add crop to compute shader

  • mesa/main: rework locale setup/teardown

  • util: check and initialize locale before using it

  • tgsi: use locale independent float and double parsing

Timothy Arceri (15):

  • nir/nir_opt_copy_prop_vars: remove extra loop

  • nir/nir_opt_copy_prop_vars: avoid comparison explosion

  • nir/nir_opt_copy_prop_vars: reuse hash tables

  • nir/nir_opt_copy_prop_vars: reuse dynamic arrays

  • nir/nir_opt_copy_prop_vars: reorder clone calls

  • nir/nir_opt_copy_prop_vars: don’t call memset when cloning

  • ci: enable dEQP-VK.ubo.random.all_shared_buffer.48

  • glsl: copy prop vars before scalarizing alus

  • glsl: add _token_list_prepend() helper to the parser

  • glsl: isolate object macro replacments

  • glsl: remove do_copy_propagation_elements() optimisation pass

  • glsl: allow 64-bit integer on RHS of shift

  • util/00-mesa-defaults: add Akka Arrh workaround

  • mesa: add _mesa_is_api_gles2() helper

  • glsl: move some GL ES checks to the NIR linker

Timur Kristóf (155):

  • aco/optimizer: Add missing v_lshlrev condition to can_apply_extract.

  • aco/optimizer: Optimize p_extract + v_mul_u32_u24 to v_mad_u32_u16.

  • radv: Make NGG query emission a dirty flag.

  • radv: Get rid of app_shaders_internal.

  • radv, aco: Add uses_full_subgroups to compute shader info.

  • aco: Enable constant exec mask based optimization on compute shaders.

  • radv: Lower dynamic VS inputs in NIR.

  • aco: Remove dynamic VS input loads.

  • nir: Add pack_half_2x16_rtz_split opcode.

  • radv, aco, ac: Implement pack_half_2x16_rtz_split.

  • nir: Lower pack_half_2x16_split to RTZ if available.

  • nir: Add algebraic optimization for VKD3D-Proton fp32->fp16 conversion.

  • ac/gpu_info: Add has_pcie_bandwidth_info.

  • radv: Don’t place CS in VRAM when bandwidth is too low.

  • nir/opt_algebraic: Add optimization for ieq/ine and right-shift.

  • radv: Disable NGG culling when conservative overestimation is used.

  • ac/nir/cull: Alway remove zero-area triangles in face culling.

  • ac/nir/ngg: Include culled primitives in query.

  • radv: Don’t change LDS_SIZE for NGG culling shaders.

  • radv: Move checking primitive topology to radv_get_ngg_culling_settings.

  • radv: Use shader code to skip NGG culling in small workgroups.

  • radv: Remove NGG culling skip from command buffer.

  • radv: Refactor radv_emit_ngg_culling_state so it’s based on dirty flags.

  • nir: Clarify comment above load_buffer_amd.

  • ac: Port ACO’s get_fetch_format to ac_get_safe_fetch_size.

  • ac/llvm: Remove “structurized” argument and instead check vindex.

  • ac/llvm: Fix buffer_load_amd with larger than 32-bit channel sizes.

  • ac/llvm: Fix ac_build_buffer_load to work with more than 4 channels.

  • ac/llvm: Change ac_build_tbuffer_load to take format and channel type.

  • radv: Move VS input lowering to new file: radv_nir_lower_vs_inputs.

  • aco: Get rid of redundant load_vmem_mubuf function.

  • aco: Don’t set scalar offset on buffer load instructions when it’s zero.

  • aco: Remove MTBUF zero operand.

  • radv: Call nir_lower_array_deref_of_vec in radv_lower_io_to_scalar_early.

  • aco/optimizer: Change v_cmp with subgroup invocation to constant.

  • radv: Emulate VGT_ESGS_ITEMSIZE in shaders on GFX9+.

  • util: Add util_format_get_array.

  • ac: Add pending_vmem field to args.

  • radv: Set pending_vmem on dynamic VS input args.

  • aco: Generalize vs_inputs to args_pending_vmem.

  • aco, radv: Rename aco_*_key to aco_*_info.

  • aco, radv: Move PS epilog and VS prolog args to their info structs.

  • aco, radv: Don’t use radv_shader_args in aco.

  • aco: Don’t include headers from radv.

  • ac/nir: clear nir_var_shader_out from TCS barriers

  • aco: Remove vtx_binding from MUBUF/MTBUF instructions.

  • nir: Add load_typed_buffer_amd intrinsic.

  • aco: Implement load_typed_buffer_amd.

  • ac/llvm: Implement typed buffer load intrinsic.

  • radv: Lower non-dynamic VS inputs in NIR.

  • radv: Apply swizzle and alpha adjust in radv_nir_lower_vs_inputs.

  • aco: Remove VS inputs from visit_load_input.

  • aco: Rename visit_load_input to visit_load_fs_input.

  • radv: Remove VS inputs code from LLVM backend.

  • ac/llvm: Remove unused function ac_build_struct_tbuffer_load.

  • aco, radv: Remove VS IO information from ACO.

  • aco: Don’t add soffset to swizzled MUBUF base.

  • aco: Use zero for MUBUF/MTBUF when soffset is undefined.

  • aco: Disable MUBUF/MTBUF offsets when they are zero.

  • aco: Always enable idxen for swizzled buffer access on GFX11.

  • ac/nir/ngg: Remove usused lds_es enum values.

  • ac/nir/ngg: Rename saved_uniform to reusable_nondeferred_variable.

  • ac/nir/ngg: Split some functions out of save_reusable_variables.

  • ac/nir/ngg: Move divergence analysis call to analyze_shader_before_culling.

  • ac/nir/ngg: Rename state variables to “s”.

  • ac/nir/ngg: Remove some superfluous variables.

  • ac/nir/ngg: Create separate variable for repacked rel_patch_id.

  • ac/nir/ngg: Rename repacked variables to clarify their name.

  • ac: Add more defines for mesh shading packets.

  • radv: Use new mesh shading packet defines.

  • radv: Add per-prim attributes to ring_attr stride.

  • radv: Use per-prim params in has_param_exports.

  • radv: Add extra offset to per-prim params.

  • radv: Use PRIM_ATTR for PS inputs on GFX11.

  • radv: Include per-prim params in NUM_INTERP on GFX11.

  • radv: Adjust mesh draw packets for GFX11.

  • ac/nir/ngg: Clarify mesh shader scratch ring.

  • ac/nir/ngg: Use attribute ring for mesh shader params.

  • ac/nir/ngg: Split legacy workgroup index function.

  • ac/nir/ngg: Fix mesh shader layer on GFX11.

  • ac/nir/ngg: Store special MS outputs in attribute ring for PS to read.

  • radv: Enable mesh shading on GFX11.

  • radv: Fix swizzled VS input loads when some components are unused.

  • radv: Don’t expose NV_mesh_shader and don’t use it in CI.

  • radv: Remove NV_mesh_shader API entrypoints.

  • radv: Remove first_task and ib_addr/ib_stride.

  • radv: Clean up emitting zero mesh shader draw id.

  • ac/nir/ngg: Remove NV_mesh_shader support.

  • ac/nir: Remove ac_nir_apply_first_task_to_task_shader.

  • nir: Remove IB address and stride intrinsics.

  • radv: Move radv_nir_* to a new folder.

  • radv: Move radv_nir_lower_primitive_shading_rate to new file.

  • radv: Move radv_nir_lower_fs_intrinsics to new file.

  • radv: Move radv_nir_lower_intrinsics_early to new file.

  • radv: Move radv_nir_lower_view_index to new file.

  • radv: Move radv_nir_lower_viewport_to_zero to new file.

  • radv: Move radv_nir_export_multiview to new file.

  • radv, ac/nir: Move sin/cos lowering to a common pass.

  • radv: Move I/O lowering functions into a new file.

  • radv: Use radv_get_shader to get vertex shader when binding pipeline.

  • ac/nir/ngg: Slightly improve attribute ring offset calculation.

  • ac/nir: Store only lowest 8 bits for task draw ring DWORD3.

  • ac/nir: When task->mesh dispatch Y or Z are 0, also set X to 0.

  • aco: Consider p_cbranch_nz as divergent branch too.

  • aco: Don’t remove exec writes that also write other registers.

  • aco: Simplify get_phi_operand using Operand::c32_or_c64.

  • aco: Don’t verify branch exec read when eliminating exec writes.

  • aco: Pop branch operands when targets are same in SSA elimination.

  • aco: Call dominator_tree before lower_phis.

  • aco: Better phi lowering for merge block when else-side is const.

  • nir: Gather compile time constant task->mesh dispatch size.

  • radv: Use linear_dispatch info in GFX11 task/mesh draw packet.

  • radv/amdgpu: Extract CS chain and unchain functions.

  • radv/amdgpu: Expose CS chain and unchain on the winsys.

  • radv/amdgpu: Extract radv_amdgpu_add_cs_to_bo_list function.

  • radv/amdgpu: Remember which CS the current one is chained to.

  • radv/amdgpu: Walk chained CS objects for BO list.

  • radv/amdgpu: Unchain CS array in queue code not in winsys.

  • radv: Chain cmd buffers in queue code when possible, not in winsys.

  • radv/amdgpu: Remove can_patch and chained submit code path.

  • ac/llvm: Cover runtime 0 in GFX10 gs_alloc_req workaround.

  • aco: Fix optimization of v_cmp with subgroup invocation.

  • aco: Don’t use nir_selection_control in aco_ir.

  • aco: Only include nir.h in instruction selection.

  • radv: Don’t include nir.h in radv_shader.h

  • radv: Create continue preamble on GFX6 even when no shader rings are used.

  • ac: Add maximum number of submitted IBs.

  • radv/amdgpu: Fix mismatching return type of radv_amdgpu_cs_submit.

  • radv/amdgpu: Only allow IB BOs on graphics and compute queues.

  • radv/amdgpu: Use correct alignment when creating CS BOs.

  • radv/amdgpu: Extract radv_amdgpu_cs_add_old_ib_buffer.

  • radv/amdgpu: Add a few assertions during submit.

  • radv/amdgpu: Remove hw_can_chain in favour of use_ib.

  • radv/amdgpu: Rewrite fallback code path so it can split submissions.

  • radv/amdgpu: Allow multiple continue preambles.

  • radv/amdgpu: Add continue preambles to fallback submit.

  • radv/amdgpu: Add postambles to fallback submit.

  • radv/amdgpu: Add ability to submit non-chained CS to fallback.

  • radv/amdgpu: Split gang submissions correctly when not chained.

  • radv: Fill continue preambles and postambles properly.

  • radv: Split submission in winsys instead of radv_queue.

  • radv/amdgpu: Use fallback submit for queues that can’t use IBs.

  • radv/amdgpu: Clean up submission functions.

  • radv/amdgpu: Respect maximum number of submitted IBs per IP type.

  • radv: Allow task/mesh shaders with RADV_DEBUG=noibs.

  • radv/amdgpu: Add bool is_secondary argument to cs_create function.

  • radv/amdgpu: Extract radv_amdgpu_cs_bo_create function.

  • radv/amdgpu: Place secondary CS without IB2 in non-WC GTT.

  • ac, aco, radv: Clarify LDS size on GFX6, and NGG shaders.

  • radv: Don’t hardcode LDS granularity in gfx9_get_gs_info.

  • aco: Remove setup_*_variables and add setup_lds_size instead.

  • aco, radv: Remove “key” from aco_compiler_options.

  • aco, radv: Remove redundant enable_mrt_output_nan_fixup from PS epilog info.

  • ac/nir/ngg: Don’t store primitive IDs from culled primitives.

  • aco: Disallow constant propagation on SOPP and fixed operands.

Tomeu Vizoso (7):

  • android: Make libbacktrace optional again

  • android: Cleanup unneeded headers from the sync stub

  • ci: Build for Android with libbacktrace=false

  • ci: Use NDK 25b to build for the Android ABI level 33

  • etnaviv: handle missing alu conversion opcodes

  • etnaviv: print writemask of store operations

  • etnaviv: don’t read too much from uniform arrays

Turo Lamminen (4):

  • radv: Change radeon_cmdbuf counters to uint64_t to make alias analysis optimize radeon_emit better

  • radv: Clean up variables in si_get_ia_multi_vgt_param

  • radv: Avoid redundant fetch of radv_device

  • radv: Optimize emitting prefetches

Val Packett (1):

  • mailmap: Remap name and email for Val Packett

Vincent Davis Jr (1):

  • gbm/backend: fix gbm compile without dri

Vinson Lee (2):

  • radv: Fix memory leak.

  • pps: Fix build errors.

Vitaliy Triang3l Kuzmin (2):

  • radv: Set DB_Z_INFO.NUM_SAMPLES to MSAA_EXPOSED_SAMPLES without Z/S

  • r600: Alpha to coverage dithering on Evergreen+

Väinö Mäkelä (12):

  • intel/vec4: Set the rounding mode

  • intel/vec4: Don’t optimize multiply by 1.0 away

  • hasvk: Don’t claim shaderDenormPreserveFloat32 on gfx7

  • hasvk: Tell spirv_to_nir float controls are always supported

  • hasvk: Enable PixelShaderKillsPixel when omask is used

  • hasvk: Mark VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL as stencil write optimal

  • hasvk: Handle subpass self-dependencies for stencil shadow copies

  • ci/intel: Update hasvk HSW xfails

  • hasvk: Disable non-zero fast clears for 8xMSAA images

  • intel/ci: Remove outdated hasvk copy_and_blit xfails

  • intel/ci: Remove hasvk xfails missing from the CTS

  • intel/ci: Remove skipped float_controls tests from hasvk xfails

X512 (3):

  • hgl: remove

  • haiku: fix build

  • EGL: implement Haiku driver over Gallium

Yevhenii Kolesnikov (2):

  • nir/loop_analyze: Track induction variables incremented by more operations

  • nir/loop_analyze: Determine iteration counts for more kinds of loops

Yiwei Zhang (46):

  • venus: log upon device creation

  • venus: lazily query and cache gralloc front rendering usage

  • venus: disable non AHB external memory bits on Android

  • venus: fix formating

  • venus: fix tracing init to include instance creation

  • venus: render server enforces blob_id_0

  • venus: move exp features init back to use ring submit

  • venus: further disallow sparse resource

  • venus: replace binary search with hardcode for max buffer size

  • venus: start requiring all experimental features

  • venus: clean up memoryResourceAllocationSize

  • venus: clean up globalFencing

  • venus: refactor sync fd fence and sempahore features

  • venus: tighten up the sync fd requirements for Android wsi

  • venus: distinguish external memory from mappable memory support

  • venus: fix external buffer creation

  • venus: remove redundant abstractions for wsi struct search

  • venus: refactor image create info pnext tracking

  • venus: simplify ahb image creation

  • venus: simplify support for non-AHB external images

  • venus: fix external image creation

  • venus: fix device memory export alloc info

  • venus: fix VK_EXT_image_view_min_lod feature query

  • venus: ensure invariance of buffer memory requirement size

  • venus: sync to latest protocol for ring status enum

  • venus: abort ring submit when ring is in fatal status

  • venus: propagate vn_ring to vn_relax

  • venus: vn_relax to abort on ring fatal status upon warn order

  • venus: revert back the warn order

  • venus: sync to latest protocol for asyncRoundtrip

  • venus: switch to use 64bit roundtrip seqno

  • venus: make vn_instance_wait_roundtrip asynchronous

  • venus: let vn_instance_submit_command track ring seqno

  • venus: make common wsi bo submission async

  • venus: refactor to add vn_sync_payload_external

  • venus: make external fence and semaphore export async

  • Revert “zink/kopper: Add extra swapchain images for Venus”

  • venus: sync latest protocol for layering extensions

  • venus: add VK_EXT_load_store_op_none support

  • venus: add VK_EXT_rasterization_order_attachment_access support

  • venus/docs: sync to latest venus supported extensions

  • venus: requires asyncRoundtrip

  • venus: requires ringMonitoring

  • venus: move exp feature init back to ring and remove unused function

  • venus: forward ARM driverVersion for ANGLE workarounds

  • radv: respect VK_QUERY_RESULT_WAIT_BIT in GetQueryPoolResults

Yogesh Mohan Marimuthu (18):

  • egl: add render_gpu tag to dri2_dpy->fd and dri2_dpy->dri_screen variable

  • loader,glx: add render_gpu tag psc->driScreen and psc->fd

  • loader,glx,egl,vl,d3d: loader_get_user_preferred_fd() function to return original_fd

  • egl: remove is_different_gpu variable from struct dri2_egl_display

  • glx: remove is_different_gpu variable from struct dri_screen

  • loader,glx,egl: remove is_different_gpu variable from loader

  • ac,radeonsi: move shadow regs create ib preamble function to amd common

  • radv: add shadowregs variable to RADV_DEBUG environment variable

  • radv: add support for register shadowing

  • radv: set preemp flag and pre_ena bit for shadowregs

  • radv: INDEX_TYPE and NUM_INSTANCES PKT3 are not shadowed

  • radv: fence complete struct is 4 qw size

  • radv: allow NULL initial_preamble_cs in radv_amdgpu_winsys_cs_submit_sysmem()

  • radeonsi: remove some shadow reg optimization for bf1 game

  • wsi/display: check alloc failure in wsi_display_alloc_connector()

  • ac/surface: only adjust pitch if surf_pitch was modified

  • amd/surface: add RADEON_SURF_NO_TEXTURE flag

  • radv: set RADEON_SURF_NO_TEXTURE flag in radv_get_surface_flags()

Yogesh Mohanmarimuthu (7):

  • egl: add fd_display_gpu to struct dri2_egl_display

  • egl,egl/x11: keep display fd open for prime

  • egl: create DRI screen for display GPU in case of prime

  • loader,glx,egl/x11: init dri_screen_display_gpu in struct loader_dri3_drawable

  • egl/wayland: keep display fd open for prime

  • loader: make image_format_to_fourcc() non-static

  • egl/wayland: for prime, allocate linear_copy from display GPU VRAM

Yonggang Luo (8):

  • util: Implement util_iround with lrintf unconditionally

  • util: Fixes error: no previous prototype for ‘mesa_cache_db_entry_remove’ Fixes: c92c99481fd (“util/mesa-db: Support removal of cache entries”)

  • vulkan: Use static_assert for check HWVULKAN_DISPATCH_MAGIC == ICD_LOADER_MAGIC

  • meson: Split c_cpp_args from pre_args

  • meson: Combine duplicated c_args and cpp_args

  • meson: When sse2 enabled, both c and cpp using sse2 options

  • meson: Split sse2_arg and sse2_args out of c_cpp_args

  • meson: Use sse2_arg and sse2_args to replace usage of c and c_sse2_args

Yusuf Khan (2):

  • nvc0/nv50: support and enable EXT_memory_object*

  • gallium: create query_memory_info implementation for sw drivers

Yuxuan Shui (1):

  • loader: unregister special event in loader_dri3_drawable_fini

antonino (54):

  • zink: fix line smooth lowering

  • zink: add `zink_emulate_point_smooth` driconf

  • zink: add `lower_point_smooth` to `zink_fs_key`

  • zink/nir_to_spirv: add support for `nir_intrinsic_load_point_coord`

  • nir: handle output beeing written to deref in `nir_lower_point_smooth`

  • zink: handle point_smooth emulation

  • drirc: set `zink_emulate_point_smooth` for Quake II

  • zink: fix stipple pattern in oblique lines

  • zink: fix `final_hash` update in `zink_gfx_program_update`

  • mesa: correctly allocate space for converted primtives

  • gallium: decompose quad strips into quads if supported

  • zink: handle switching between primitives

  • nir: handle primitives with adjacency

  • nir: avoid generating conflicting output variables

  • nir: calculate number of vertices in nir_create_passthrough_gs

  • nir: handle edge flags in nir_create_passthrough_gs

  • zink: add `has_edgeflags` flag to zink_shader and zink_gfx_program

  • zink: handle edgeflags

  • nir: allow to force line strip out in nir_create_passthrough_gs

  • zink: force line strip out when emulating stipple

  • zink: filled quad emulation gs generation function

  • zink: add `zink_rast_prim` enum

  • zink: handle quads

  • zink: fix flat shading on filled quads

  • zink: add flags to `zink_gfx_program` and `zink_context`

  • zink: add `needs_inlining` to `zink_shader`

  • zink: implement flat shading using inlined uniforms

  • nir/zink: handle provoking vertex mode in `nir_create_passthrough_gs`

  • zink: handle provoking vertex mode for filled quads

  • nir: keep xfb properties in nir_create_passthrough_gs

  • zink: keep xfb properties in quad emulation gs

  • zink: advertise support for the quad primitive

  • zink: prevent crash when freeing

  • zink: unified `zink_set_primitive_emulation_keys` and `zink_create_primitive_emulation_gs`

  • zink: zink: add `parent` to `zink_shader::non_fs`

  • zink: improve generated gs unbinding

  • zink: unbind generated gs in `bind_last_vertex_stage`

  • zink/ci: remove `primitive-id-no-gs-quads` from radv-vangogh-fails

  • nir: only handle flat interpolation when needed in `nir_create_passthrough_gs`

  • zink: simplify logic to call `zink_set_primitive_emulation_keys`

  • zink: add field to ‘zink_gs_key’ and enum

  • zink: add provoking vertex mode lowering

  • zink: always advertize provoking vertex mode support

  • zink: update requirements now that pv mode can be emulated

  • zink: add `descriptor_bindless_id` to `zink_shader_info`

  • zink: fix sampler array collision in `nir_to_spirv`

  • zink: don’t emulate edgeflags for patches

  • zink: use correct primitives for passthrough gs with tess

  • zink: fix pv mode lowring index calculation

  • zink: use ring buffer to preserve last element

  • zink: fix exit condition on pv emulation loop

  • zink: fix line strip offsets in pv mode emulation

  • zink: fix store subsitution in `lower_pv_mode_gs_store`

  • zink: take location_frac into account in pv emulation

driver1998 (1):

  • gallium: Use DETECT_OS_WINDOWS instead of ‘WIN32’

osy (1):

  • virgl: enable timer queries only if host supports it

t0b3 (1):

  • nir/nir_opt_move: fix ALWAYS_INLINE compiler error

volodymyr.o (1):

  • mesa ctx->API –> _mesa_is_foo(ctx)

xurui (2):

  • panfrost: Check the return value of drmGetVersion

  • zink: bs->dd.push_pool[1].pool should be freed