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
...
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
...
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
...
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
...
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
Mel Henning
8447dba5b3
nvk: INVALIDATE_SHADER_CACHES on most recent subc
...
This should be a bit faster.
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
Mohamed Ahmed
7a0e7d24bb
nvk: Use the compute MME for compute dispatch
...
Switching from compute to 3D and vice versa leads to a long stall which
destroys compute performance. This switches to the compute MME on Ampere
onwards (which was where it was added) for compute dispatches which eliminates
stalling from sub-channel switching in these cases.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671 >
2025-10-11 16:58:24 +00:00
Mohamed Ahmed
146a64524d
nouveau/mme: Add unit tests for sharing between compute and 3D scratch registers
...
Co-developed-by: Mary Guillemard <mary@mary.zone >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Tested-by: Mary Guillemard <mary@mary.zone >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671 >
2025-10-11 16:58:24 +00:00
Faith Ekstrand
0bfe27553d
nvk: Actually reserve 1/2 for FALCON
...
In 03f785083f ("nvk: Reserve MME scratch area for communicating with
FALCON"), we said we reserved these but actually only reserved 0. Only
0 is actually used today but if we're going to claim to reserve
registers we should actually do it.
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
Mohamed Ahmed
17ab1d463f
nouveau/headers: Add AMPERE_B compute subchannel definition
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Mary Guillemard <mary@mary.zone >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37671 >
2025-10-11 16:58:24 +00:00
Mel Henning
0e3781df7f
vulkan: Drop vk_pipeline_stage_flags2_has_*_shader
...
These are no longer used anywhere. Moreover, it's not clear that they
can be used for a correct implementation of pipeline barriers since a
correct implementation cannot ignore execution deps in non-shader
stages.
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
2eeef34e35
nvk/cmd_buffer: Remove redundant tests for access
...
In each of these cases, the spec mandates that apps pair a memory barrier
specified with access with a relevant exec barrrier specified by stages.
We therefore don't need to wfi based on access - the tests on stage are
sufficient.
Acked-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
515793d5bb
nvk: Fix execution deps in pipeline barriers
...
We were under-synchronizing before. In particular, `stages` form
execution barriers even in the absence of a memory barrier in the
`access` flags.
The particular issue that prompted this was one where we weren't waiting
on a pipeline barrier in Baldur's Gate 3 with:
srcStageMask == VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT &&
srcAccessMask == VK_ACCESS_2_SHADER_READ_BIT &&
dstStageMask == (VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT |
VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT) &&
dstAccessMask == (VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT)
Based on the spec and discussion in
https://github.com/KhronosGroup/Vulkan-Docs/issues/131 the read bit in
srcAccessMask doesn't really matter here - what matters is that there's
an execution barrier on the fragment stage which needs to prevent the
fragment shader exection from overlapping with the later call's
fragment tests (which write to the depth attachment).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13909
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
895bbb7601
nvk: Combine BARRIER_{COMPUTE,RENDER}_WFI
...
When we want to WFI, we only need to do so on a single channel. The
others will implicitly get a WFI from the channel switch.
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
6c44390e80
nvk: Only run one INVALIDATE_SHADER_CACHES
...
This is presumably the same cache across compute and 3d, so we only need
to run one of these, not two.
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:23 +00:00
Lorenzo Rossi
b56b5b90f7
nvk: Fix QMD buffer length on upload
...
Current code allocates the maximum QMD data for all generations and
uploads everything, even on generations where a smaller QMD buffer
suffices. This is not only wasteful, but actually crashes Kepler GPUs
due to complications with the QMD queue.
Only upload the useful bytes of the QMD buffer.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14070
Fixes: 0e268dad00 ("nvk: Allow for larger QMDs")
Signed-off-by: Lorenzo Rossi <git@rossilorenzo.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37815 >
2025-10-11 08:20:22 +00:00
Surafel Assefa
a219308867
wsi: Implements scaling controls for DRI3 presentation.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30701 >
2025-10-11 06:59:37 +00:00
Caio Oliveira
74859c19fb
intel/executor: Add a matrix multiplication example
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37805 >
2025-10-11 01:02:45 +00:00
Caio Oliveira
1e0ee84841
intel/executor: Add DPAS examples for HF/F, UB/UD and BF/F
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37805 >
2025-10-11 01:02:45 +00:00
Caio Oliveira
62f07dc5e3
intel/executor: Add script directory to package.path
...
In Lua, modules (i.e. files with lua code) are loaded by using
the standard library require(), e.g.
```
local mylib = require("mylib")
mylib.do_something()
```
The require() will decide where to look by peeking at `package.path`
table. By default it doesn't include the scripts directory, so running
executor from the script directory vs. from the root of the repo would
yield different results (require works vs. require fail to find the
module). This patch includes the script directory to avoid this issue.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37805 >
2025-10-11 01:02:45 +00:00