Commit graph

213393 commits

Author SHA1 Message Date
Hyunjun Ko
ecfbcd3d7d anv/ci: added video tests failures on tgl/jsl
Since we don't support filmGrainSupport on previous of gen20 for AV1
decoding by default, failures start happening due to the video tests
assuming always FG supported, which is a fault of CTS.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37762>
2025-10-13 12:06:24 +00:00
Hyunjun Ko
cf04badfb4 anv/video: remove support for VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
Since we always return (DPB | DST) for video image usages, (See the
discussion at https://gitlab.khronos.org/vulkan/vulkan/-/issues/4461)
we can't support VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, which was
disabled for DST usages.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37762>
2025-10-13 12:06:24 +00:00
Hyunjun Ko
29aacd7904 anv/video: Make the query result for video profiles and formats more
precisely.

This way we could provide more correct infomation to applications.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37762>
2025-10-13 12:06:24 +00:00
Jeffrey Zhuang
8473d8c2dd zink: remove ALWAYS_INLINE from zink_batch_usage_unflushed_wait
Fixes linker error where zink_batch_usage_unflushed_wait was not being
found during compilation. The function was marked as ALWAYS_INLINE but
was being referenced from zink_bo.c, causing unresolved external symbol
errors.

Resolves compilation error in Windows builds.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37835>
2025-10-13 11:35:28 +00:00
Christian Gmeiner
1f60a0397b etnaviv: blt: Support 128 bit blit operations
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:49 +00:00
Christian Gmeiner
59e35590d3 etnaviv: blt: Support 128 bit clear operations
Passes dEQP-GLES3.functional.fbo.color.clear.*32*.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:49 +00:00
Christian Gmeiner
9dd9ebe9c5 etnaviv: Implement 128-bit format emulation using dual 64-bit layout
The Vivante GPUs don't natively support 128-bit formats like
R32G32B32A32_FLOAT. This patch implements emulation by calculating
the memory layout as if these were 64-bit formats, but doubling the
allocation size to store both halves of the 128-bit data.

For 128-bit formats, we:
- Calculate stride and layer_stride using the 64-bit equivalent format
- Double the mip level size to accommodate both 64-bit halves
- Use translate_format_128bit_to_64bit() to map formats like
  R32G32B32A32_FLOAT -> R32G32_FLOAT

This creates a memory layout where each mip level contains the 128-bit
data organized as two consecutive 64-bit portions.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:48 +00:00
Christian Gmeiner
7483723966 etnaviv: Do not use TS for emulated 128 bit formats
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:48 +00:00
Christian Gmeiner
2373ef793b etnaviv: 128 bit format needs to be CPU tiled
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:48 +00:00
Christian Gmeiner
f4689fd467 etnaviv: Support 128 bit formats transfers
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:48 +00:00
Christian Gmeiner
511a743587 etnaviv: Add 128-bit format tilling
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:48 +00:00
Christian Gmeiner
244cae1a32 etnaviv: Add 128 bit format helper
TODO: maybe use more util_format helpers, to get rid of hardcoded list.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:48 +00:00
Christian Gmeiner
5325800053 etnaviv: Add 128bit emulated formats
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:47 +00:00
Christian Gmeiner
045a5fcd5d etnaviv: Allow 128-bit formats when DEQP debug flag is enabled
The driver currently rejects texture and render formats with block sizes
greater than 64 bits due to missing split sampler/target support. This
change conditionally allows these formats when the ETNA_DBG_DEQP debug
flag is enabled, enabling broader format testing in dEQP test suites
while maintaining the restriction for normal driver operation.

This helps improve dEQP test coverage without exposing potentially
unstable functionality to end users.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
2025-10-13 11:19:47 +00:00
Georg Lehmann
6eac72088c aco/gfx10+: only work around split execution of uniform LDS in WGP mode
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
LDS instructions from one CU won't split the execution of other LDS instruction
on the same CU.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31630>
2025-10-13 10:22:22 +00:00
Georg Lehmann
e08911dff4 nir: fix nir_get_io_offset_src for global_atomic_swap_amd
Fixes: 354df09c88 ("nir: add global_amd to nir_get_io_offset_src/nir_get_io_index_src")

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37821>
2025-10-13 09:41:41 +00:00
Georg Lehmann
c13caa5e5f aco: fix global_atomic_swap offset overflow check
Fixes: d7dcd81c77 ("aco/gfx6: allow both constant and gpr offset for global with sgpr address")

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37821>
2025-10-13 09:41:41 +00:00
Erico Nunes
451a0bd490 v3dv: use v3d primary node for VK_EXT_physical_device_drm
Follow the implementation of all other Mesa drivers and use the
primary node of the render device for VK_EXT_physical_device_drm.
The topic of which node should be returned here has been the topic
of a long debate, but at least for Mesa drivers, there is the
consensus that this extension should not mix nodes from different
DRM devices. So align v3dv with the other Mesa implementations.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37584>
2025-10-13 09:10:16 +00:00
Erico Nunes
32e4dd6978 v3dv: rename primary_fd to display_fd
In this current implementation, primary_fd refers to the display
device, which can be confused with the primary node of the render
device. In a followup we would like to use primary_fd as the primary
node from v3d, prepare for that by renaming it here.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37584>
2025-10-13 09:10:16 +00:00
David Rosca
415a09515c radeonsi/vcn: Use VP9 use_prev_frame_mvs and segmentation_update_data
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37808>
2025-10-13 08:11:55 +00:00
David Rosca
add5074460 frontends/va: Add VP9 use_prev_frame_mvs and segmentation_update_data flags
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37808>
2025-10-13 08:11:55 +00:00
David Rosca
6531f060dd frontends/va: Fix parsing VP9 frame header
Fix parsing intra only frames with profile 0. Change type to
signed int and initialize default values for ref_deltas and
mode_deltas.

Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37808>
2025-10-13 08:11:55 +00:00
Daivik Bhatia
fc2ee4d407 broadcom/compiler: support arithmetic subgroup operations
This adds support for subgroup reduce operations
and subgroup scan operations. We rely on nir lowering
to lower these.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37836>
2025-10-13 08:25:25 +02:00
Daivik Bhatia
cdef2c0b61 broadcom/common: Add subgroup support to CSD super-group packing
Certain subgroup operations don’t impose constraints on
CSD supergroup packing. Mark these as supported
and account for them in v3d_csd_choose_workgroups_per_supergroup()
so packing remains unchanged when they are present.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37836>
2025-10-13 08:25:24 +02:00
Daivik Bhatia
1326d52d23 broadcom/common: Optimize CSD super-group packing
Return one work group per super group when the work group size
is multiple of 16 (elements per batch) and recalculate max_wgs_per_sg
only when TSY barriers cut the available QPU threads.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37836>
2025-10-13 08:25:24 +02:00
Yiwei Zhang
099ac5be1a panvk: log device and driver info for startup
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37825>
2025-10-12 19:13:52 +00:00
Yiwei Zhang
8892f398e7 panvk: use mesa_logi for startup info logs
For startup info logs behind the debug option, logging the file path and
line of code is not quite useful. So use mesa_logi for simplicity.

Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37825>
2025-10-12 19:13:52 +00:00
Eric Engestrom
a9b161fd3f broadcom/ci: document fixed tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37832>
2025-10-12 17:40:09 +00:00
Eric Engestrom
8ee9f54177 nvk/ci: document fixed tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37832>
2025-10-12 17:40:09 +00:00
Eric Engestrom
4710ec1867 nvk/ci: document some flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37832>
2025-10-12 17:40:09 +00:00
Simon Perretta
bbdd688bc5 docs/pvr: update hardware list
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: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Alessio Belle
1db1038a61 pvr: add device info for BXM-4-64 (36.56.104.183)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/12

Signed-off-by: Alessio Belle <alessio.belle@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Frank Binns
0dd5db3478 pvr: add device info for GE8300 (22.68.54.30)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/6

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Frank Binns
6c42d7eb01 pvr: add device info for GE8300 (22.102.54.38)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/5

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Frank Binns
e60e0c96ba pvr: add device info for BXE-2-32 (36.29.52.182)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/2

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Frank Binns
2743363a57 pvr: add device info for BXM-4-64 (36.52.104.182)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/1

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:09 +00:00
Frank Binns
5914d1146f pvr: add device info for GX6650 (4.46.6.62)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/mesa/mesa/-/issues/7032

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:09 +00:00
Frank Binns
9358c65c3d pvr: add device info for G6110 (5.9.1.46)
Requested by the community [1][2].

[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15243#note_1306552
[2] https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/issues/1

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:08 +00:00
Frank Binns
4a245d9f57 pvr: add device info for GX6250 (4.45.2.58)
Requested by the community [1].

[1] https://lists.freedesktop.org/archives/dri-devel/2023-June/409639.html

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:08 +00:00
Frank Binns
ea28791d40 pvr: add device info for BXE-4-32 (36.50.54.182)
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:08 +00:00
Simon Perretta
d41c34c5ca pco: ensure a variable exists for the multiview index
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37724>
2025-10-11 20:28:16 +01:00
Simon Perretta
e7c409cd29 pvr: amend num temps calculation when wg_size is not provided
Fixes: 7a32dc673b ("pvr: add device info and functions for calculating ava...")
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37724>
2025-10-11 20:28:16 +01:00
Simon Perretta
1c1bc876fb pvr: amend tile buffer size calculation for eot
Fixes: a67120cda3 ("pvr, pco: full support for tile buffer eot handling")
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37724>
2025-10-11 20:28:16 +01:00
Simon Perretta
b0609a30b1 pco: improve early and late algebraic pass ordering
Ensures early algebraic passes aren't called again following late
algebraic passes, so that the latter's opts aren't undone (e.g.
unfusing ffmas).

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37724>
2025-10-11 20:28:16 +01:00
Simon Perretta
e637d01ef2 pco: tidy and commonize conversion ops
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37724>
2025-10-11 20:28:16 +01:00
Simon Perretta
34b4b35ca8 pco: apply rounding mode to relevant conversion ops
The rounding behaviour on [iu]2f32 ops needs to be explicitly set in
order to match the implicit behaviour described in the
KHR_shader_float_controls properties.

Fixes: e306abc6e6 ("pvr: implement KHR_shader_float_controls")
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37724>
2025-10-11 20:28:16 +01:00
Mel Henning
a89ab2993a nvk: Reduce subc switches with events
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671>
2025-10-11 16:58:24 +00:00
Mel Henning
a3ed200300 nvk/cmd_copy: Pipeline user copy_rect operations
Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671>
2025-10-11 16:58:24 +00:00
Mel Henning
e9432eb3e0 nvk/cmd_copy: Use PIPELINED for user transfers
Vulkan requires applications to insert any necessary pipeline barriers.

Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671>
2025-10-11 16:58:24 +00:00
Mel Henning
08861bad46 nvk: WFI on the most recent subc
This should be a bit faster. It also matches what the proprietary driver
generates, based on the reverse engineering done here:
https://gitlab.freedesktop.org/mhenning/re/-/tree/main/vk_test_overlap_exec

Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671>
2025-10-11 16:58:24 +00:00