Samuel Pitoiset
a97160cad8
radv: add RADV_DEBUG=nomeshshader
...
This option will be used to disable VK_EXT_mesh_shader in Mesa CI
for GFX11 because running task shader tests in parallel can hang the
GPU.
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10051
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25969 >
2023-11-01 08:49:35 +01:00
Samuel Pitoiset
15f92c3b2c
radv/ci: update list of expected failures/flakes for NAVI31
...
Let's clean the flakes list, it might be needed to re-add some of them
but we will track those.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25969 >
2023-11-01 08:49:35 +01:00
Bas Nieuwenhuizen
da7e6f303b
radv: Add some initial graphics DGC preprocessing support.
...
Just the bits that obviously need no adjustment in the DGC
preprocessing code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25835 >
2023-11-01 00:06:10 +00:00
Bas Nieuwenhuizen
c4fb827441
radv: Add compute DGC preprocessing support.
...
This should reduce the overhead due to reduced syncs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25835 >
2023-11-01 00:06:10 +00:00
Bas Nieuwenhuizen
108227a84e
radv: Add DGC preprocessing barrier support.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25835 >
2023-11-01 00:06:09 +00:00
Samuel Pitoiset
0477346c0b
aco: remove dead code in nir_intrinsic_xfb_counter_{add,sub}_amd
...
This code path is only used by GFX11 now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25903 >
2023-10-30 08:51:51 +00:00
Samuel Pitoiset
d390cd7c5d
ac/nir: remove dead code in nir_intrinsic_xfb_counter_{add,sub}_amd
...
This code path is only used by GFX11 now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25903 >
2023-10-30 08:51:51 +00:00
Samuel Pitoiset
5176f75e0d
radv: remove unnecessary VS_PARTIAL_FLUSH for NGG streamout
...
This used to be a PS_PARTIAL_FLUSH to fix synchronization issues with
NGG streamout on RDNA2 but it's no longer needed for RDNA3. It's
already synchronized in CmdEndTransformFeedbackEXT().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25903 >
2023-10-30 08:51:51 +00:00
Samuel Pitoiset
eb47e07782
radv: remove NGG streamout support for RDNA1-2
...
This was useful for experimenting it on RDNA2 and during RNDA3 bringup,
but now the support is rock solid on RDNA3 and it's useless to keep the
RADV_PERFTEST=ngg_streamout option.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25903 >
2023-10-30 08:51:51 +00:00
Samuel Pitoiset
7beddd4f5c
radv: use the GPUVM fault protection status helper
...
To print more useful information when a fault happens.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25855 >
2023-10-30 08:10:23 +00:00
Samuel Pitoiset
e18c4bca31
ac/debug: add a helper to print GPUVM fault protection status
...
This basically prints the same info as dmesg.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25855 >
2023-10-30 08:10:22 +00:00
Samuel Pitoiset
bc09932ec3
ac/registers: allow to parse GCVM_L2_PROTECTION_FAULT_STATUS
...
To have defined bitfields for this register.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25855 >
2023-10-30 08:10:22 +00:00
Samuel Pitoiset
7d96fe853e
radv: fix a synchronization issue with primitives generated query on RDNA1-2
...
Only RDNA1-2 are affected because RADV needs to handle the legacy vs
NGG path for this query, and the NGG results are stored with 2 extra
64-bit values.
Fixes flakes with
dEQP-VK.transform_feedback.primitives_generated_query.* since VKCTS
1.3.7.0.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25862 >
2023-10-30 07:33:06 +00:00
Mike Blumenkrantz
c4283e32e3
radv: correctly return oom from the device when failing to create a cs
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25927 >
2023-10-27 15:29:32 +00:00
Samuel Pitoiset
7ec2544a9b
radv: dump the pipeline hash to the gpu hang report
...
It can be useful to verify that a specific pipeline causes a hang.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25908 >
2023-10-27 12:10:51 +00:00
Karol Herbst
1c619b668d
radv: fix buffers in vkGetDescriptorEXT with size not aligned to 4
...
The range alignment didn't happen through GetDescriptorEXT as it called
write_buffer_descriptor directly. So simply move the align
from write_buffer_descriptor_impl into write_buffer_descriptor.
Fixes: 46e0c77582 ("radv: implement VK_EXT_descriptor_buffer")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25837 >
2023-10-27 10:52:55 +00:00
Faith Ekstrand
d5c310899a
nir: Split nir_lower_subgroup_options::lower_vote_eq into two bits
...
On NVIDIA, we can do a vote_ieq on bool in one hardware op so we don't
want that lowered. We do want to lower vote_feq and other vote_ieq,
though.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25894 >
2023-10-26 23:05:44 +00:00
Samuel Pitoiset
4f8a225387
ac/gpu_info: remove bogus assertion about number of COMPUTE/SDMA queues
...
For example, my polaris10 GPU now returns 3 compute queues.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25876 >
2023-10-26 13:44:21 +00:00
Samuel Pitoiset
fb64f7c676
radv: advertise VK_EXT_image_compression_control
...
This will be used by vkd3d-proton to disable eg. DCC per image in order
to workaround game bugs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25681 >
2023-10-26 13:04:08 +00:00
Samuel Pitoiset
8a25a9f4dd
radv: implement VK_EXT_image_compression_control
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25681 >
2023-10-26 13:04:08 +00:00
Samuel Pitoiset
8ec0a4c89c
radv: move RADV_DEBUG_NO_HIZ check in radv_use_htile_for_image()
...
To match radv_use_dcc_for_image().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25681 >
2023-10-26 13:04:08 +00:00
Yonggang Luo
43715516fc
treewide: Merge num_mesh_vertices_per_primitive and u_vertices_per_prim into mesa_vertices_per_prim
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25880 >
2023-10-26 09:35:04 +00:00
Qiang Yu
23cb6768cb
aco: add aco_is_gpu_supported
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25631 >
2023-10-26 02:01:49 +00:00
Qiang Yu
9c63138ae3
aco: stop emit s_endpgm for first stage of merged shader
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25631 >
2023-10-26 02:01:49 +00:00
Qiang Yu
14022a3a0e
aco: move end program handling to select_shader
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25631 >
2023-10-26 02:01:49 +00:00
Qiang Yu
f3f2311d69
aco: extend max operands in a instruction to 128
...
We get more than 64 operands in p_end_with_regs when radeonsi.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25631 >
2023-10-26 02:01:49 +00:00
Qiang Yu
e2af0b0b3f
aco: add create_end_for_merged_shader
...
For radeonsi merged shader LS/ES part to pass args to next
stage.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25631 >
2023-10-26 02:01:49 +00:00
Qiang Yu
71fd3c2a35
aco: do not fix_exports when separately compiled ngg vs or es
...
For radeonsi not abort when this case, as it does not jump at
last.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25631 >
2023-10-26 02:01:49 +00:00
Samuel Pitoiset
1febb6f762
radv: report the last GPUVM fault when a device lost is detected
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23238 >
2023-10-25 15:29:23 +00:00
Samuel Pitoiset
5a6208ad72
radv: query and report the last GPUVM fault with RADV_DEBUG=hang
...
Tested with a small use-after-free Vulkan test. It's pretty basic
for now but I think I will add status decoding support to report
more useful information.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23238 >
2023-10-25 15:29:22 +00:00
Samuel Pitoiset
5eb8b3e9b1
radv/amdgpu: add support quering the last GPUVM fault
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23238 >
2023-10-25 15:29:22 +00:00
Samuel Pitoiset
bdc62108be
amd: add has_gpuvm_fault_query
...
Whether the kernel allows to query the last GPUVM fault.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23238 >
2023-10-25 15:29:22 +00:00
Samuel Pitoiset
1b0fbcbe1c
radv: remove outdated RADV_DEBUG=vmfaults support
...
It's been a very long time since this was useless because dmesg
required sudo access for a while.
This will be replaced by the new GPUVM fault interface which allows
to query from the kernel directly instead of trying to parse dmesg.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23238 >
2023-10-25 15:29:22 +00:00
David Rosca
9b4fccf4b3
radeonsi/vcn: Add encode support for H264 B-frames
...
Tested with ffmpeg and gstreamer vah264enc.
References to B-frames (b_depth/b-pyramid) not supported.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25565 >
2023-10-25 01:03:58 +00:00
Timur Kristóf
9a79c5f1e5
radv: Support SDMA in si_cs_emit_write_event_eop.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833 >
2023-10-24 23:12:45 +00:00
Timur Kristóf
b442de86c1
radv: Support SDMA in radv_cp_wait_mem.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833 >
2023-10-24 23:12:45 +00:00
Timur Kristóf
04a3ed8a92
radv: Support SDMA in radv_cs_write_data_head.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25833 >
2023-10-24 23:12:45 +00:00
Rhys Perry
28ebe62af2
radv: enable mesh shader gs_fast_launch=2 and multi-row export
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:07 +00:00
Rhys Perry
3531136949
radv: implement mesh shader multi-row export
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:07 +00:00
Rhys Perry
773d35d25e
ac/nir: implement mesh shader multi-row export
...
Unlike AMDVLK, this has separate loops for attribute stores and exports,
so that the stores from different rows can overlap.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:07 +00:00
Rhys Perry
c29d8a9e68
ac/nir,radv: pass workgroup size to ac_nir_lower_ngg_ms
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
c300a496ea
ac/nir: add emit_ms_outputs helper
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
23cb0b00db
radv: implement mesh shader gs_fast_launch=2
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
c63ac28014
ac/nir: optimize mesh shader local_invocation_index
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
cddbe9a4c2
ac/nir: implement mesh shader gs_fast_launch=2
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
75bc2e7149
ac/nir: refactor mesh vertex/primitive export
...
To prepare for row export, move them into helpers with index and row
parameters.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
24431419ce
ac/nir: remove dead code
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
6ec72806b7
ac/nir: add row parameter to helpers
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Rhys Perry
4c3677094e
aco,nir: add export_row_amd intrinsic
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25040 >
2023-10-24 21:36:06 +00:00
Samuel Pitoiset
13cac671fd
ac/gpu_info: fix querying the maximum number of IBs per ring
...
The kernel uses 32-bit and Mesa was using 8-bit...
Fixes: 96345ae2ed ("ac/gpu_info: query the maximum number of IBs per submit from the kernel")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25867 >
2023-10-24 19:53:08 +00:00