Commit graph

221171 commits

Author SHA1 Message Date
Pierre-Eric Pelloux-Prayer
2bc0e5437d ac/info: add ac_fill_memory_info
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40656>
2026-04-14 12:06:13 +00:00
Pierre-Eric Pelloux-Prayer
f9c60f3699 ac/info: add ac_fill_tiling_info
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40656>
2026-04-14 12:06:12 +00:00
Pierre-Eric Pelloux-Prayer
79ebbf587e ac: remove ac_null_device
Prefer AMDGPU shim.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40656>
2026-04-14 12:06:12 +00:00
Pierre-Eric Pelloux-Prayer
42d4ec080c winsys/amdgpu: remove assert
This was useful to validate native context fence code, but
now it has less value and triggers when drm-shim is used.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40656>
2026-04-14 12:06:10 +00:00
Pierre-Eric Pelloux-Prayer
d97688b6b3 drm-shim: fix shim on GLX
xcb_dri3_open_reply_fds will dup the fd received from the server,
so we need to detect this case.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40656>
2026-04-14 12:06:10 +00:00
Aitor Camacho
2ec0925bc1 kk: Fix pre-gfx encoder dependency with gfx encoder
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40914>
2026-04-14 10:48:29 +00:00
Samuel Pitoiset
d39d846cfa radv/ci: set RADV_EXPERIMENTAL=heap
Current VKCTS main doesn't have any tests for that, but next uprev
should contain a bunch and using that envvar will allow us to catch
them easily.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:29 +00:00
Samuel Pitoiset
f4f2a966e3 radv: advertise VK_EXT_descriptor_heap with RADV_EXPERIMENTAL=heap
It's not yet enabled by default because it's quite a big extension
and I expect bugs because test coverage isn't very good. It will be
enabled by default in one or two Mesa releases when it's more stable.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:29 +00:00
Samuel Pitoiset
67ae52cdc2 radv: add support for DGC with descriptor heap
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
17ed105a9b radv: flush caches with descriptor heap access flags
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
ef03ca8dab radv: add support for inherited descriptor heap for secondaries
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
5df943629d radv: add support for capture&replay with descriptor heap
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
7ebf99362d radv: implement vkGetPhysicalDeviceDescriptorSizeEXT()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
d557f21bb6 radv: implement vkCmdPushDataEXT()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
5704ad905d radv: add support for emitting descriptor heaps
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:27 +00:00
Samuel Pitoiset
86e8d171fc radv: implement vkCmdBind{Resource,Sampler}HeapEXT()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:26 +00:00
Samuel Pitoiset
7e63a2050b radv: implement vkWrite{Resource,Sampler}DescriptorsEXT()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:26 +00:00
Samuel Pitoiset
7da95418a5 radv: copy mapping info for graphics pipeline libraries
In case only SPIR-V only is imported.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:26 +00:00
Samuel Pitoiset
aeda29c8f7 radv: allow to create pipelines with a NULL pipeline layout
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:26 +00:00
Samuel Pitoiset
65415b1c89 radv: set descriptor heap sizes/alignments for VTN
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
652af97f8b radv/nir: lower descriptor heap in radv_nir_lower_descriptors
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
8588ddf0df radv/nir: rename radv_nir_apply_pipeline_layout
to radv_nir_lower_descriptors. This is more generic and descriptor
heap support will be added to the same pass.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
0f2f9a9045 radv/nir: adjust lowering of immediate samplers for descriptor heap
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
a44303ff11 radv/nir: adjust lowering of ycbcr tex instructions for descriptor heap
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
54e2a1d2e4 radv: call vk_nir_lower_descriptor_heaps()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:24 +00:00
Samuel Pitoiset
eac2c1f141 radv: keep track of descriptor heap mapping in the shader layout
This will be used by the common lowering.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:24 +00:00
Samuel Pitoiset
cebac5a427 radv/rt: declare shader arguments for resource/sampler heaps
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:24 +00:00
Samuel Pitoiset
cdfb9a24ba radv: declare shader arguments for resource/sampler heaps
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
b29743f91c radv: add shader info about whether descriptor heap is used
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
62629d3e3c radv: use 32-bit memory types for descriptor heap buffers
Descriptors must be allocated in the 32-bit addr space.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
e81c375b4a radv: make radv_make_sampler_descriptor() non-static
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
1f15a71afe radv: add support for custom border colors with descriptor heap
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
8da71ae5a2 radv: add a new helper to make a sampler descriptor
For future work.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:22 +00:00
Samuel Pitoiset
afd736bfd7 radv: zero-allocate graphics shader stages
This can prevent issues with unitialized memory. RT and compute
stages are already zero-initialized.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:22 +00:00
Samuel Pitoiset
0b016f4bff nir: add new system values for descriptor heap RT traversal inputs
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483>
2026-04-14 10:10:22 +00:00
Erik Faye-Lund
dc4efab205 pan/ci: update expectations
These are based on nightlies. It's unclear if one of the t760 flakes
should really be a fail or a flake, but I have another MR that tries to
clean up the flakes pending; I'll address that there, as there's other
related flakes that probably should change as well.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40943>
2026-04-14 08:51:52 +00:00
Lars-Ivar Hesselberg Simonsen
a23cebcd60 panfrost: Add support for 64 bit gpu_id
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Update the gallium driver's use of gpu_id to support 64 bit gpu_ids.

Reviewed-by: Marc Alcala Prieto <marc.alcalaprieto@arm.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40921>
2026-04-14 10:12:25 +02:00
Lars-Ivar Hesselberg Simonsen
fd3aafabe9 pan/model: Expose prod_id and rev functions
Some code in gallium was making assumptions of how the gpu_id is laid
out, which will not work for 64 bit gpu_ids.

Expose pan_prod_id and pan_rev from the model to collect this logic in a
single place.

Reviewed-by: Marc Alcala Prieto <marc.alcalaprieto@arm.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40921>
2026-04-14 10:12:00 +02:00
Erik Faye-Lund
739e3d20f0 docs/panfrost: fix heading-levels
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
These headings shouldn't all be on the same level; the first one is the
heading for the article, but the subsequent ones should be subheadings.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40933>
2026-04-14 05:39:23 +00:00
Tapani Pälli
745dc66b69 anv: fix Wa_14024015672 interaction in blorp
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This was causing issue within hiz clears, apply workaround only
when doing RT writes (not for WM_HZ ops).

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14533
Fixes: 7be8af1dad ("anv: deal with Wa 14024015672 on the blorp path")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40913>
2026-04-14 03:15:14 +00:00
Karol Herbst
f3ce8fe90b nak: properly copy prop neg/abs float sources for flushed values
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This allows us to copy prop fadd.ftz -rZ, -|ssa| into consuming
instructions giving us nice gains across the board.

Totals from 1033868 (85.24% of 1212873) affected shaders:
CodeSize: 8813536528 -> 8355226128 (-5.20%); split: -5.21%, +0.01%
Number of GPRs: 44954066 -> 44299483 (-1.46%); split: -1.52%, +0.06%
SLM Size: 799688 -> 798544 (-0.14%)
Static cycle count: 4646939330 -> 4485129185 (-3.48%); split: -3.67%, +0.18%
Spills to memory: 35405 -> 33136 (-6.41%); split: -6.41%, +0.01%
Fills from memory: 35405 -> 33136 (-6.41%); split: -6.41%, +0.01%
Spills to reg: 196547 -> 196231 (-0.16%); split: -1.22%, +1.06%
Fills from reg: 201227 -> 200988 (-0.12%); split: -1.00%, +0.88%
Max warps/SM: 44143984 -> 44306960 (+0.37%); split: +0.38%, -0.01%

Reviewed-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40897>
2026-04-13 23:15:10 +00:00
Karol Herbst
8170f18d9b nak/copy_prop: allow modified F16v2 and F16 sources
Seems to help a couple of shaders using MUFU.F16

Totals from 178 (0.01% of 1212873) affected shaders:
CodeSize: 5929856 -> 5925088 (-0.08%); split: -0.08%, +0.00%
Static cycle count: 8667151 -> 8665940 (-0.01%); split: -0.02%, +0.00%

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40897>
2026-04-13 23:15:10 +00:00
Rhys Perry
a6b86d43d3 ir3/ra: fix copy-paste error
I don't entirely understand what this is all doing, but this looks like a
copy-paste error.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: 26.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40480>
2026-04-13 22:28:15 +00:00
Rhys Perry
54af9431d1 ir3/array_to_ssa: initialize ir3_instruction::data
This should have already been NULL because this looks like the first time
this field is used, but that's a bit fragile.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40480>
2026-04-13 22:28:15 +00:00
Rhys Perry
4f0fb5784f ir3/array_to_ssa: skip remove_trivial_phi for non-array phis
remove_trivial_phi() mostly does nothing for non-array phis, but it
rewrites sources if their definining instruction are trivial phis.

In the case of trivial phis in the loop continue block (for loops with
divergent non-trivial continues), we might need to keep those if they
write a shared register, because the source of the trivial phi will not be
reachable from the loop header phi.

In this example, the predecessors of the continue block should be block2,
but the physical predecessors are block2 and block3, requiring a phi in
the continue block which will then be lowered by ir3_lower_shared_phis.
loop {
   block1:
   a = phi 0, b
   if (divergent) {
      block2:
      b = a + 1
      continue;
   }
   block3:
   break;
}

Fixes RA validation error when compiling blackmythwukong/5645a84e669a6179
from radv_fossils.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: 26.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40480>
2026-04-13 22:28:15 +00:00
Mary Guillemard
3be57aa4c3 nak: Allows predicate in legalize_ext_instr
With OpLd now having a predicate, we forgot to update legalize_ext_instr
to allow predicates for it.

We should really get ride of those functions but for now let's keep it
simple and sync the implementation to what SM20 backend have.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 9d90cbc314 ("nak: add input predicate to load_global_nv and OpLd")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40934>
2026-04-13 22:13:06 +00:00
Pohsiang (John) Hsu
0f56fd0120 mediafoundation: remove published codecapi
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40895>
2026-04-13 21:58:43 +00:00
Pohsiang (John) Hsu
2af4938328 mediafoundation: add support for GPU priority setting via IMFDXGIScheduler
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40895>
2026-04-13 21:58:43 +00:00
Michael Cheng
06c9c08c48 intel/ds: report when OA metrics are unavailable
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Promote DBG() failure paths in enumerate_sysfs_metrics() to mesa_logw()
so users see why OA metrics are unavailable without needing INTEL_DEBUG.
Also log in PPS when no OA queries are available after initialization.

Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40898>
2026-04-13 21:31:51 +00:00
Michael Cheng
16c17d6698 intel/ds: report when OA metric access is blocked by kernel policy
When observation_paranoid (xe) or perf_stream_paranoid (i915) prevents
unprivileged access to OA metrics, the existing code silently returns no
OA queries. PPS then fails with just a segfault.

This patch adds INTEL_PERF_FEATURE_OA_BLOCKED_BY_POLICY to
intel_perf_features, set by both KMD backends when the paranoid sysctl
exists but lacks sufficent privilage. PPS checks this flag immediately
after initialising intel_perf and returns an error before  attempting
metric-set selection.

Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40898>
2026-04-13 21:31:51 +00:00