Commit graph

221817 commits

Author SHA1 Message Date
Marek Olšák
a3e3bf0ac2 nir/opt_dce: add shader_info::assert_inputs_not_dead
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41166>
2026-04-30 07:07:32 +00:00
Marek Olšák
7bd5856cc6 nir/opt_dce: factor out dead instruction removal into a helper
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41166>
2026-04-30 07:07:32 +00:00
Samuel Pitoiset
52669c3b5b radv: re-organize radv_cmd_state slightly
Trying to regroup states.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41152>
2026-04-30 06:18:29 +00:00
Samuel Pitoiset
730a5b725e radv: move vertex buffer state to radv_cmd_state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41152>
2026-04-30 06:18:29 +00:00
Samuel Pitoiset
9feb722b31 radv: move conditional rendering state to radv_cond_render_state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41152>
2026-04-30 06:18:29 +00:00
Samuel Pitoiset
57ecb1c1ec radv: cleanup suspending/resuming cond rendering with DGC
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41152>
2026-04-30 06:18:28 +00:00
Samuel Pitoiset
43abb73273 radv: move index buffer state to radv_index_buffer_state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41152>
2026-04-30 06:18:28 +00:00
Samuel Pitoiset
93468750ef radv: remove unnecessary radv_cmd_state::mesh_shading
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41152>
2026-04-30 06:18:27 +00:00
Samuel Pitoiset
5246eee299 radv: move streamout bindings to radv_streamout_state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41152>
2026-04-30 06:18:26 +00:00
Samuel Pitoiset
02ec87672b radv: move suspend_streamout to radv_streamout_state
And rename it to suspended.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41152>
2026-04-30 06:18:25 +00:00
Karol Herbst
b2aa92b523 softfloat: make sign bit an unsigned int
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
According to ubsan shifting an int32_t by 31 bits to the left is undefined
behavior. So just declare it as uint32_t.

Backport-to: 26.1
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41252>
2026-04-30 01:12:14 +00:00
Marek Olšák
7c69f31ecc radeonsi/ci/build: also fetch video decode/encode sample for VK CTS
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41171>
2026-04-30 00:39:20 +00:00
Marek Olšák
97597d3696 radeonsi/ci: remove the fixed XFB test from fails/flakes
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41171>
2026-04-30 00:39:20 +00:00
Eric Engestrom
d433ea59eb docs: add sha sum for 26.0.6
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41276>
2026-04-29 22:32:41 +00:00
Eric Engestrom
ba7ed5e309 docs: add release notes for 26.0.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41276>
2026-04-29 22:32:40 +00:00
Eric Engestrom
f9b205bfbc docs: update calendar for 26.0.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41276>
2026-04-29 22:32:40 +00:00
Eric Engestrom
bac8b0bcb9 docs: update calendar for 26.1.0-rc3
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41273>
2026-04-29 21:26:20 +00:00
Danylo Piliaiev
59f626ac81 tu/u_trace: Fix explicit toggle_name not being used
Fixes: 889f71f71a ("tu: Add tracepoints for clear/copy/blit/lrz ops")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41102>
2026-04-29 20:17:35 +00:00
Danylo Piliaiev
6e8ec44287 tu/u_trace: Correct the order of tracepoints clonning for binning
Otherwise we'd get tracepoints out of logical order, which doesn't
matter for perfetto at the moment, but would matter with future
perf warnings.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41102>
2026-04-29 20:17:35 +00:00
Danylo Piliaiev
50cc9c723c tu/u_trace: Prevent cloning stale RB_DONE_TS results
Otherwise, at best, we get results for the previous tile.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41102>
2026-04-29 20:17:35 +00:00
Danylo Piliaiev
6ac25aac23 tu/u_trace: Use correct u_trace destination in tu_clone_trace_range
This fixes in-RP tracepoints not being duplicated for secondary
command buffers.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41102>
2026-04-29 20:17:35 +00:00
Rohit Athavale
c5b184a02a mediafoundation: Test compile steps v/s step , and set build flag
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15244
Backport-to: *

Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41221>
2026-04-29 19:59:50 +00:00
Emma Anholt
06ebe40ca1 tu: Set HALF_PRECISION on blits to R11G11B10.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes many new image_to_image tests copying to this format as of CTS
1.4.5.3.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41231>
2026-04-29 18:58:45 +00:00
Icenowy Zheng
82925935d4 pvr: wait for graphics jobs in CopyQueryPoolResults
The last graphics job, which might write to the occlusion query result,
could still be running when vkCmdCopyQueryPoolResults is called.

Additionally wait for graphics jobs before copying the results.

Fixes: 24b1e3946c ("pvr: Add support to submit occlusion query sub cmds.")
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40884>
2026-04-29 17:41:17 +00:00
Karol Herbst
528ceeb49b rusticl: link the C++ runtime statically
Apparently some applications don't have their C++ situation under control.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14090
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41037>
2026-04-29 16:55:39 +00:00
Karol Herbst
5512680581 ci: install libstdc++-static on fedora
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41037>
2026-04-29 16:55:39 +00:00
Danylo Piliaiev
5fcde4d65d freedreno: Fix CP_CCHE_INVALIDATE not being applied at the right point
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Apparently CP_CCHE_INVALIDATE is just a plain register write underneath,
so it needs WFI before it, in order to invalidate at the right point.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41266>
2026-04-29 16:25:16 +00:00
Danylo Piliaiev
c2e78f1b22 tu: Fix CP_CCHE_INVALIDATE not being applied at the right point
Apparently CP_CCHE_INVALIDATE is just a plain register write underneath,
so it needs WFI before it, in order to invalidate at the right point.

```
CP_CCHE_INVALIDATE:
mov $addr, 0x9881
mov $data, 0x1
waitin
mov $01, $data
```

Fixes misrendering in Doom Eternal on A750.

Fixes: fb1c3f7f5d ("tu: Implement CCHE invalidation")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41266>
2026-04-29 16:25:16 +00:00
Caio Oliveira
e1745e0bd9 brw: Fix max_dispatch_width collection for CS with variable size
The intention of the original commit was to make all the shaders report
the same max_dispatch_width.  When CS has multiple variants, this was
not happening as expected.

Fixes: 2acc2f18ea ("intel/compiler: report max dispatch width statistic")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41209>
2026-04-29 15:52:04 +00:00
Roman Stratiienko
bdbf4ed739 v3dv/android: Add deferred ANB allocation support
Fixes:

dEQP-VK.wsi.android.maintenance1.deferred_alloc.mailbox#basic
dEQP-VK.wsi.android.maintenance1.deferred_alloc.mailbox#bind_image
dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo#basic
dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo#bind_image

Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Acked-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41235>
2026-04-29 15:31:28 +00:00
Mike Blumenkrantz
d4d7055aee radv: add RADV_QUEUE_DISABLE env var for selectively disabling queues
it is sometimes useful to test radv without certain queues disabled in order
to exercise alternative codepaths. this exposes that capability

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41086>
2026-04-29 15:08:28 +00:00
Job Noorman
aaf4d77f43 ir3/shared_ra: fix live-out reload after src reload
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When reloading live-out values along loop back-edges, we make sure to
reuse the original register. However, we failed to detect cases where
the spilled value got reloaded earlier for a src in a different
register. Fix this by reloading the value again in the original
register.

Fixes a RA validation failure in Windrose.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: fa22b0901a ("ir3/ra: Add specialized shared register RA/spilling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41262>
2026-04-29 14:40:48 +00:00
Jose Maria Casanova Crespo
3a8d5aeaa1 v3dv: Expose hardware-accelerated integer dot products on V3D 7.1+
Expose VK_KHR_shader_integer_dot_product 4x8-bit packed dot
products using native HW instructions v8dot and setnnmode.

QPU instruction count for sdot_4x8_iadd compute shader:

  Before (scalar decomposition):  18 ALU cycles
  After (setnnmode + v8dot):       3 ALU cycles  (6x)

We advertise integerDotProduct4x8BitPacked*Accelerated for V3D 7.1+

Assisted-by: Claude Opus 4.6
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41255>
2026-04-29 13:21:08 +00:00
Jose Maria Casanova Crespo
8f06961bf5 broadcom/compiler: Eliminate redundant setnnmode instructions
This new VIR optimization pass tracks the current NN signedness
mode per block and removes duplicate setnnmode instructions.

When consecutive dot products use the same signedness mode, the backend
emits one setnnmode per dot product. This pass removes the redundant
ones, keeping only the first.

Assisted-by: Claude Opus 4.6
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41255>
2026-04-29 13:21:08 +00:00
Jose Maria Casanova Crespo
24ecc9cbcc broadcom/compiler: Add v8dot and setnnmode scheduler dependencies.
As nnmode register is read by v8dot instruction we need to add dependencies
between setnnmode instructions and v8dot via the nnmode register, so they
are scheduled correcty using last_nn_mode virtual register..

Add a last_nn_mode virtual register to the scheduler state and create:
- Write dependencies for all SETNNMODE variants
- Read dependencies for V8DOT.

This follows the same pattern as the existing MULTOP/UMUL24 rtop tracking.

Assisted-by: Claude Opus 4.6
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41255>
2026-04-29 13:21:08 +00:00
Jose Maria Casanova Crespo
33a700be91 broadcom/compiler: hardware-accelerated 4x8-bit dot products on V3D 7.1+
VIR instructions and nir_to_vir implementation of 4x8-bit dot products
using native HW accelerated ALU instructions.

setnnmode instructions are marked as having side effects.

Assisted-by: Claude Opus 4.6
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41255>
2026-04-29 13:21:08 +00:00
Jose Maria Casanova Crespo
afe4e321e1 broadcom/compiler: Add V3D 7.1 v8dot dot product QPU instructions
Add QPU instruction definitions, metadata, and encoding for V3D 7.1
v8dot product instruction and the setnnmode instruction that allows
defining the signedness (UU/SU/US/SS) of the v8dot operation.

Assisted-by: Claude Opus 4.6
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41255>
2026-04-29 13:21:07 +00:00
Benjamin Cheng
656b3814c2 radv/wsi: Re-use transfer queue if it exists
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This avoids writing past the end of pdev->vk_queue_to_radv if all the
queue families are available.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14834
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41155>
2026-04-29 12:38:02 +00:00
Icenowy Zheng
2bffc653ec isaspec: decode: manually print the sign when printing NaN float values
The IEEE754-2019 standard declaring the preceding sign "optional" when
converting NaN values to strings because the standard tries to not
regulate how sign bits in NaNs are interpreted.

In the real world, when using printf-series function to print a number
with type `float` on RISC-V, the sign of NaNs is wiped during the
conversion from `float` to `double` (defined as part of the default
argument promotions rule for variable arguments in the C spec).

Change the code to stop relying on isa_print() to print the negative
sign, instead parse it from the highest bit of value and manually print
it before "nan" string.

This fixes the `etnaviv_isa_disasm` unit test on RISC-V.

Suggested-by: Christian Gmeiner <cgmeiner@igalia.com>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40887>
2026-04-29 11:39:12 +00:00
Luigi Santivetti
120bd20e49 pvr: add missing multi-arch support for pipeline exec and stats
Entry points must be wrapped in the PVR_PER_ARCH macro else there
will be multiple definitions of the same symbol.

Fixes: dfddb3fe ("pvr: Add support for VK_KHR_pipeline_executable_properties")
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41238>
2026-04-29 11:22:25 +00:00
Luigi Santivetti
20b42f4466 pvr: de-dup strncmp in pvrsrvkm winsys
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41236>
2026-04-29 10:47:26 +00:00
Brendan King
443c259630 pvr: move some asserts in pvr_srv_alloc_display_pmr
Don't assert if the pvr_srv_physmem_import_dmabuf bridge call fails.

Signed-off-by: Brendan King <brendan.king@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41236>
2026-04-29 10:47:26 +00:00
Icenowy Zheng
01ba4867fa pvr: skip emitting query program when copy result / reset with 0 queries
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When calling vkResetQueryPool() or vkCmdCopyQueryPoolResults() with a
queryCount of 0, currently a query compute program with workgroup size
0*1*1 will be emited, which is ridiculous and will be rejected by some
assertion in pvr_compute_generate_control_stream() .

As the operation should be noop when queryCount is 0, the functions can
and should just return in such cases.

Fixes: 0aa9f32b95 ("pvr: Implement vkCmdResetQueryPool API.")
Fixes: b6e8e1cf37 ("pvr: Implement vkCmdCopyQueryPoolResults API.")
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-by: Nick Hamilton <nick.hamilton@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40911>
2026-04-29 10:24:59 +00:00
Samuel Pitoiset
e0b5724e85 meson: bump required libdrm to 2.4.133 for AMDGPU
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41207>
2026-04-29 09:30:13 +00:00
Samuel Pitoiset
0ec9b0d5c5 ci: bump libdrm to 2.4.133
libdrm needs to be build for alpine because the version provided by
the image is too old.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41207>
2026-04-29 09:30:13 +00:00
Rhys Perry
aac8787fda radv: remove radv_device_cache_key
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41022>
2026-04-29 08:10:12 +00:00
Rhys Perry
44b09b8396 radv: remove radv_physical_device_cache_key
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41022>
2026-04-29 08:10:12 +00:00
Rhys Perry
27815719aa radv: remove most fields from radv_physical_device_cache_key
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41022>
2026-04-29 08:10:12 +00:00
Rhys Perry
9ad0cd7e38 radv: hash radv_compiler_info::key into the cache key
This will replace both the pdev and device cache keys.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41022>
2026-04-29 08:10:12 +00:00
Rhys Perry
1ac306c11e radv: remove radv_compiler_info::cache_key
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41022>
2026-04-29 08:10:11 +00:00