Commit Graph

215132 Commits

Author SHA1 Message Date
Eric Engestrom
53fe1f39a0 ci: use $CI_TRON_JOB_PRIORITY tag on all ci-tron jobs
Moving `ci-tron:priority:` out of the variable because an empty value
will not be authorized, and this makes it obvious if that bug ever
happens (job will not be picked up and gitlab will complain that
`ci-tron:priority:` is not a tag registered by any runner), instead of
getting picked up by any runner that will then reject (fail) the job.

(This is caused by GitLab's API not allowing tags to be enforced when
picking up jobs, resulting in jobs with missing tags being picked up by
any runner, like the bug we had with the generic fd.o runners a few
months ago.)

v2 (Martin Roukala):
 * use the priority tags in all amdgpu jobs
 * add missing tags in etnaviv jobs
 * add missing tags in broadcom jobs

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37897>
2025-11-24 12:02:40 +00:00
Martin Roukala (né Peres)
1226ff99fa ci: disable mupuf's farm
My ISP is working on some improvements on the network for a couple of
hours today, and a couple of hours tomorrow.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38614>
2025-11-24 13:20:59 +02:00
Aitor Camacho
87b81b7385 kk: Exposes more extensions/features we already supported
Extensions:
- VK_KHR_sampler_mirror_clamp_to_edge

Features:
- alphaToOne
- samplerMirrorClampToEdge
- shaderStorageImageArrayNonUniformIndexing
- shaderStorageTexelBufferArrayNonUniformIndexing
- shaderUniformBufferArrayNonUniformIndexing

Reviewed-by: Arcady Goldmints-Orlov <arcady@lunarg.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38591>
2025-11-24 10:40:48 +00:00
Lionel Landwerlin
8f9acc0150 brw: compute final copy propagation resulting source
Fixes this test on Xe2+:

INTEL_DEBUG=no32 ./deqp-vk -n dEQP-VK.spirv_assembly.instruction.maint9_vectorization.bit_field_u_extract.result_v16i-base_v16i-offset_s64u-count_s16i

Generate invalid code for that platform:

and(16)         g37<1>UW        g65<16,4,4>UW   0x000fUW        { align1 1H I@5 };
	ERROR: Invalid register region for source 0.  See special restrictions section.

Several helpers like has_subdword_integer_region_restriction() do not
see the final type of the source, so compute it early.

Maybe new_src could be used in more cases. Being conservative for now.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38548>
2025-11-24 10:14:32 +00:00
Yiwei Zhang
7a4263681c ci/venus: skip those causing oom killer to kill deqp
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38606>
2025-11-24 09:50:09 +00:00
Andy Hsu
2ee6b4d96e intel/decoder: make libvulkan_intel to depend on stub decoder when buildtyle=release.
The libvulkan_intel does not need the decoder when buildtype=release
where the debugging is disabled.

However, the decoder implementation is decided by the dep_expat
which may be turned on by like -Dtools=intel and the binary size
of libvulkan_intel increase unexpectedly.

This change creates the stub dependency and decide the exact
decoder dependency of libvulkan_intel by the buildtype.

Test: meson setup builddir -D build-tests=true -Dbuildtype=release --reconfigure && ninja -C builddir && cd builddir && meson test

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Andy Hsu <hwandy@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38569>
2025-11-24 16:40:02 +08:00
Samuel Pitoiset
108d2d29a9 ac,radv,radeonsi: add more SPM helpers to common code
This also fixes a small bug on RADV for RDNA3 where counters might be
stuck.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38577>
2025-11-24 08:05:08 +00:00
Samuel Pitoiset
e2644a1389 radv: only reset SPM when cache counters are enabled with RGP
Otherwise, it's not necessary.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38577>
2025-11-24 08:05:08 +00:00
Samuel Pitoiset
0cc4e16c70 ac/spm,radv,radeonsi: configure the SPM sample interval in common code
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38577>
2025-11-24 08:05:08 +00:00
Samuel Pitoiset
9a61eaa1e3 radv: remove the ability to create NULL devices with RADV_FORCE_FAMILY
On Linux, drm-shim is the replacement.

On Windows, the project to support a compile-only device has been
abandonned since a while, so it's fine to not allow creating NULL
devices for now.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38544>
2025-11-24 07:44:49 +00:00
spencer-lunarg
77030f296e lavapipe: Expose EXT version of global_priority
We already supported 1.4 which has VK_KHR_global_priority and the
globalPriorityQuery feature.

tested with:
dEQP-VK.api.device_init.create_device_global_priority*
dEQP-VK.synchronization.global_priority_transition.*

Signed-off-by: spencer-lunarg <spencer@lunarg.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38340>
2025-11-24 07:29:24 +00:00
spencer-lunarg
744a961e15 lavapipe: Add VK_KHR_copy_memory_indirect formats
Add VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR

tested with
dEQP-VK.api.copy_and_blit.copy_memory_indirect*
dEQP-VK.api.copy_and_blit.core.memory_to_depthstencil_indirect*
dEQP-VK.api.copy_and_blit.core.memory_to_image_indirect*
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer.2d_images.mip*indirect

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13989
Signed-off-by: spencer-lunarg <spencer@lunarg.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38339>
2025-11-23 23:02:46 -05:00
Dave Airlie
c00b66fa71 dozen: return INCOMPATIBLE_DRIVER on instance create failure
When probing on generic Linux platforms, the loading of d3d12 and
the first init of could fail, but the error returned causes a
loader warning to be printed.

Use the correct error return to stop this.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38611>
2025-11-24 00:29:12 +00:00
Juan A. Suarez Romero
ba0f85ce2d broadcom/ci: unlock more CI-Tron jobs
Enable more CI-Tron jobs to be run in parallel with baremetal ones.

Disable the baremetal ones for those who CI-Tron jobs has already been
tested enough.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38610>
2025-11-23 23:24:11 +00:00
Yogesh Mohan Marimuthu
3ba6c9d0ac winsys/amdgpu: enable userq reg shadowing for gfx11.5
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36700>
2025-11-23 19:44:07 +00:00
Yogesh Mohan Marimuthu
700850f29d winsys/amdgpu: add assert that if kernel fence passes then user fence must pass
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36700>
2025-11-23 19:44:07 +00:00
Yogesh Mohan Marimuthu
9beb668d8d winsys/amdgpu: fwm packet pre-emption for gfx 11.5
gfx 11.5 uses f32 firmware. f32 firmware requires COND_EXEC
packet to flush the ring buffer when pre-emption occured.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36700>
2025-11-23 19:44:06 +00:00
Eric Engestrom
37c7d19e46 meson: auto-disable draw-use-llvm when llvm=disabled
The option's description is:
> Whether to use LLVM for the Gallium draw module, if LLVM is included.

Let's disable it right away if LLVM is disabled, to avoid some
configurations from failing.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38558>
2025-11-23 10:08:34 +01:00
Eric Engestrom
69bb927ebf meson: auto-disable amd-use-llvm when llvm=disabled
The option's description is:
> Whether to use LLVM for the AMD drivers, if LLVM is included.

Let's disable it right away if LLVM is disabled, to avoid configurations
like the one in the issue below from failing.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14306
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38558>
2025-11-23 10:08:14 +01:00
Matt Turner
4235c39a9a meson: Let -Ddraw-use-llvm=false work for R300 on non-x86
Prior to commit b8b38d38b1 ("meson: reinstate LLVM requirement for r300
and enforce it for i915 too") it was possible to build and use r300 for
architectures that do not have LLVM (e.g., alpha).

The only SWTCL chips are integrated graphics in x86 systems, and are not
available in discrete cards.

Fixes: b8b38d38b1 ("meson: reinstate LLVM requirement for r300 and enforce it for i915 too")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38580>
2025-11-22 19:06:39 +00:00
Rob Clark
f0465ced7f freedreno/a6xx: Fix UB in convert_color()
Swizzle can include PIPE_SWIZZLE_0/_1 (4 and 5) which result in indexing
beyond the channel array.

Reported-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Fixes: 76e350671f ("freedreno/a6xx: Sysmem clear fixes")
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38593>
2025-11-22 18:36:25 +00:00
Dave Airlie
3eef0c0245 radv: add support for cooperative matrix per element operations.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36992>
2025-11-22 13:16:20 +10:00
Dave Airlie
1ba49c3594 spirv: add initial support for cooperative matrix per-element ops
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36992>
2025-11-22 13:16:15 +10:00
Dave Airlie
a57753dca2 nir: add coopmat per element operations.
Cooperative matrix as per-element calls that are var args from a spir-v.

These uses the new call op enum.

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36992>
2025-11-22 13:16:11 +10:00
Dylan Baker
bcedc88f21 meson: make libarchive a disabler
This allows us to fully define crashdec in all situations, even when
its essential dependencies are not found. The result is that if
libarchive or lua is not found, the tests become disabled automatically.

This avoids the situation where `-Dbuild-tests=true`, but at least one
of libarchive and lua are missing, in which `crashdec` is used
undefined.

Acked-by: Rob Clark <rob.clark@oss.qualcomm.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38579>
2025-11-21 21:48:57 +00:00
Dylan Baker
1737638c98 meson: make dep_lua a disabler
There are cases where the freedreno `crashdec` program will not be
built, but will still be used. By making dep_lua a disabler, we move
closer to being able to have those tests automatically disabled when
crashdec isn't built.

Acked-by: Rob Clark <rob.clark@oss.qualcomm.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38579>
2025-11-21 21:48:57 +00:00
Lionel Landwerlin
7c193ffef1 anv: put more readable PIPE_CONTROL reasons
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38542>
2025-11-21 21:45:18 +02:00
Lionel Landwerlin
6d98fdb3ec anv: avoid pipe control reason tracking in emit_pipe_control
This is the last level layer of emission, we want the tracking to be
added above that, so that when flushing of previously accumulated
reasons happens, another pointless reason isn't added.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38542>
2025-11-21 21:45:18 +02:00
Aitor Camacho
a8a3863313 kk: Move all resource tracking to the residency set
Removes encoder's use resource utilities. All memory allocations
are now tracked in the VkDevice level residency set. This is
accomplished by tracking buffer objects at create/destroy.
Also removes all descriptor set residency tracking since it is
no longer needed.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38505>
2025-11-21 19:01:48 +00:00
Aitor Camacho
4779f3d0de kk: Use residency sets for user allocations
Memory allocated through vkAllocateMemory is now tracked in a
VkDevice level MTLResidencySet that will be committed before
queue submission to ensure residency.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38505>
2025-11-21 19:01:48 +00:00
Silvio Vilerino
417eb2340c d3d12: Video Encode - Reduce unnecessary syncs between encoder and context queues
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Reviewed-by: Yubo Xie <yuboxie@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38578>
2025-11-21 09:02:13 -08:00
Silvio Vilerino
d9c2ccd543 d3d12: Video Encode - Do not flush on direct buffer maps
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Reviewed-by: Yubo Xie <yuboxie@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38578>
2025-11-21 09:02:00 -08:00
Pohsiang (John) Hsu
f7c306c654 mediafoundation: log warning if dx11 device is not created with multithread protected
Reviewed-by: Yubo Xie <yuboxie@microsoft.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38578>
2025-11-21 09:01:40 -08:00
Pohsiang (John) Hsu
d2fa57cb90 mediafoundation_frontend: update version to 1.08
Reviewed-by: Yubo Xie <yuboxie@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38578>
2025-11-21 09:01:24 -08:00
Benjamin Otte
f493f5c88d radv: Limit GTK workaround to affected versions
GTK 4.20.3 includes a fix for the problem, so limit the workaround to
GTK <= 4.20.2.
The version number encoding is due to VK_MAKE_VERSION().

Fixes: 0d9d45db4e
Related: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9128
Related: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9164
Signed-off-by: Benjamin Otte <otte@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38550>
2025-11-21 16:11:50 +00:00
Samuel Pitoiset
344040c367 radv: enable RADV_THREAD_TRACE_CACHE_COUNTERS on GFX12
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38489>
2025-11-21 11:52:58 +00:00
Samuel Pitoiset
473118b6eb ac/spm: use hardware names for performance counters
Much easier to read.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38489>
2025-11-21 11:52:58 +00:00
Samuel Pitoiset
4c21a4846c ac/spm: adjust the granularity of SPM results on GFX12
It's 1, only GFX11-11.5 uses units of segment.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38489>
2025-11-21 11:52:58 +00:00
Samuel Pitoiset
f434c5c934 ac/spm: add cache counters configuration for GFX12
This is for the cache counters prior to RGP 2.6.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38489>
2025-11-21 11:52:58 +00:00
Samuel Pitoiset
da07f1ef3f radv: allocate the SQTT BO in GTT for faster readback
Reading VRAM from CPU is very slow.

This is similar to the SPM BO, and generating RGP captures is now
way faster.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38551>
2025-11-21 11:34:09 +00:00
Valentine Burley
d2ebe7719c ci/android: Build zink for arm64 as well
We'd like to use zink on both x86_64 and arm64 on Android, so add it to
the build targets.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38572>
2025-11-21 10:50:43 +01:00
Laura Nao
b10369631e ci/container: Add script to build Perfetto tracebox
Add a script to build Perfetto’s tracebox tool for x86_64 and arm64
targets on Linux and Android.

Signed-off-by: Laura Nao <laura.nao@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38517>
2025-11-21 09:59:40 +01:00
Laura Nao
f9243dc92b ci/prepare-artifacts: Keep pps-producer binary in artifacts
Mesa builds using -Dperfetto=true generate a pps-producer binary.
Include it in the artifacts for use in runtime performance tracing
tests.

Signed-off-by: Laura Nao <laura.nao@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38517>
2025-11-21 09:59:40 +01:00
Laura Nao
b178612f11 ci: Enable Perfetto tracing support in Mesa builds for Linux/Android
Enable Perfetto tracing support in Mesa's x86_64/arm64 builds for Linux
and Android. This enables GPU performance counter collection via pps and
sets up the environment for runtime GL tests with support for CPU, GPU
and system-wide tracing. Information captured by Perfetto will provide
driver developers insight into the test environment and help identify
factors affecting performance.

Signed-off-by: Laura Nao <laura.nao@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38517>
2025-11-21 09:59:40 +01:00
Yiwei Zhang
fcd2acba41 ci/venus: skip Android incremental and shared present tests
Those are mainly to test platform features, and they take too long. So
we skip.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38568>
2025-11-20 21:55:38 -08:00
Faith Ekstrand
17b9bc2770 spirv: Only set workgroup_size_variable on compute-like stages
This should be ignored on non-compute stages but AGX changes 3D shaders
to compute without setting the workgroup size and blows up if it claims
variable workgroups.  The safest thing is to only set it from
spirv_to_nir for stages that actually have workgroups.

Fixes: 6d9f563960 ("spirv: Assume variable workgroup size unless it's set")
LoLed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38555>
2025-11-20 23:15:28 +00:00
Ryan Houdek
0f2dcf656a freedreno/fdl: Optimize linear_to_tiled with avx2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38249>
2025-11-20 22:42:07 +00:00
Kenneth Graunke
3160c516ca brw: Delete input_slots_valid from brw_wm_prog_key
Nothing in the compiler seems to use this anymore.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38556>
2025-11-20 14:10:39 -08:00
Kenneth Graunke
868377e4c7 brw: Delete program_string_id from brw program keys
This is strictly a GL thing.  iris can manage it in its own program keys
without polluting the compiler with stuff nobody else cares about.

We can also drop a lot of padding that was introduced in commit
a18835a9ca which doesn't appear to be
necessary.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38556>
2025-11-20 14:10:38 -08:00
Kenneth Graunke
fbd9bf6aeb iris: Use iris_any_prog_key, not brw_any_prog_key
We're storing iris keys here, not brw keys.  This worked because brw
keys are larger so you could fit any iris key in the memory.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38556>
2025-11-20 14:10:34 -08:00