Georg Lehmann
de45676efd
aco/insert_exec: reset exec temporary after combined p_demote + p_end_wqm
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Otherwise the next divergent merge block might re-enable demoted invocations.
Fixes: 90faadae72 ("aco/insert_exec_mask: don't disable dead quads on demote in divergent CF")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12898
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12912
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34278 >
2025-03-31 06:43:22 +00:00
David Rosca
f9d7d131a4
ac/parse_ib: Parse VCN DYNAMIC_REFLIST_BUFFER
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34262 >
2025-03-29 08:50:49 +00:00
David Rosca
5275a88174
ac/parse_ib: Fix parsing output format on VCN5
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34262 >
2025-03-29 08:50:49 +00:00
Timur Kristóf
64c6930bfc
ac/nir/ngg: Remove cleanup_culling_shader_after_dce.
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Not needed anymore, now that the new concept is there.
No Fossil DB changes on Navi 21.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
243a80be44
ac/nir/ngg: Use deferred info for compacted arguments.
...
This means we don't have to emit dead code anymore and can only
repack the sysvals that are actually used by the deferred part.
No Fossil DB changes on Navi 21.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
0b71293358
ac/nir/ngg: Gather info about what the deferred shader part uses.
...
Now that the deferred shader part is prepared before emitting
the non-deferred part, we can also gather info about what sysvals
it needs.
No Fossil DB changes on Navi 21.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
e4c91c01e3
ac/nir/ngg: Prepare deferred shader part before adding culling code.
...
The previous concept was to emit the non-deferred shader part
first, including the culling code, and then modify the
non-deferred part accordingly.
This caused some issues because it was really impossible to tell
which sysvals the deferred part needs after DCE, so we had to
run an additional cleanup pass afterwards.
The new concept is to prepare the deferred part first by applying
reusable variables (from the non-deferred part) and run DCE.
This opens the possibility to accurately gather info about what
the deferred part needs.
This idea is further expanded in the next commits.
Fossil DB stats on Navi 21:
Totals from 17 (0.02% of 79377) affected shaders:
Instrs: 18063 -> 18064 (+0.01%)
CodeSize: 93368 -> 93372 (+0.00%)
Latency: 49889 -> 49899 (+0.02%); split: -0.01%, +0.03%
SALU: 2416 -> 2417 (+0.04%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
e9e58fa412
ac/nir/ngg: Remove inputs_needed_by_*
...
This information will be collected by NIR core better,
no need to do it here. It is also currently unused.
No functional changes.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
1e7d28a82e
ac/nir/ngg: Improve reuse of position value.
...
Instead of hand-rolled code, use nir_scalar and its
helper functions to reuse the position value.
Results in more copies, which are mitigated by
copy prop from the previous commit.
This helps eliminate some instructions, especially VMEM loads
from the deferred shader part of NGG culling shaders, which
can be reused from the position values calculated by the
non-deferred part.
Fossil DB stats on Navi 21:
Totals from 2472 (3.11% of 79377) affected shaders:
MaxWaves: 78748 -> 78772 (+0.03%)
Instrs: 636342 -> 633739 (-0.41%); split: -0.45%, +0.04%
CodeSize: 3444740 -> 3427172 (-0.51%); split: -0.53%, +0.02%
VGPRs: 62552 -> 62176 (-0.60%)
Latency: 2025711 -> 2019449 (-0.31%); split: -0.73%, +0.42%
InvThroughput: 221140 -> 221946 (+0.36%); split: -0.12%, +0.49%
VClause: 5443 -> 5278 (-3.03%); split: -3.20%, +0.17%
SClause: 8369 -> 8302 (-0.80%); split: -0.82%, +0.02%
Copies: 102435 -> 101652 (-0.76%); split: -0.87%, +0.11%
PreSGPRs: 63714 -> 63533 (-0.28%)
PreVGPRs: 48555 -> 48392 (-0.34%)
VALU: 242165 -> 241457 (-0.29%); split: -0.33%, +0.04%
SALU: 197656 -> 197482 (-0.09%); split: -0.10%, +0.01%
VMEM: 7746 -> 7571 (-2.26%)
SMEM: 10822 -> 10730 (-0.85%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
f7a160d501
ac/nir/ngg: Run copy propagation.
...
Helps eliminate needless copies caused by reusing variables.
Mitigates negative stats from the next commit.
Fossil DB stats on Navi 21:
Totals from 109 (0.14% of 79377) affected shaders:
Instrs: 124480 -> 124486 (+0.00%); split: -0.00%, +0.01%
CodeSize: 651444 -> 651468 (+0.00%); split: -0.00%, +0.00%
Latency: 754120 -> 754116 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 174384 -> 174383 (-0.00%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Natalie Vock
c1e1d86bd1
radv/rt: Flush CP writes from the common BVH framework with INV_L2 on GFX12
...
a1b05991 ("radv/rt: Flush L2 after writing internal node offset on GFX12")
did this for radv-internal CP writes - we also need to do this for PLOC
sync data initialization which is done in the common framework.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34178 >
2025-03-28 23:07:17 +00:00
Dave Airlie
dc8e21ce60
radv: expose VK_KHR_video_mainteance2
...
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34204 >
2025-03-28 21:18:00 +00:00
Dave Airlie
feef12b2a8
radv/video: convert to using common parameter wrappers.
...
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34204 >
2025-03-28 21:18:00 +00:00
Samuel Pitoiset
a7d8e5d4ca
ac,radv,radeonsi: use PM4 for shadowed registers
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34228 >
2025-03-28 20:50:22 +00:00
Samuel Pitoiset
250742519f
radv: disable TC-compatible CMASK with {FMASK,DCC}_DECOMPRESS
...
Because if FMASK_COMPRESS_1FRAG_ONLY is set, the FMASK decompress
operation actually doesn't occur. Note that DCC_DECOMPRESS implicitly
decompresses FMASK.
This fixes an issue on GFX10-GFX10.3 which is uncovered by enabling
VK_EXT_sample_locations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33639 >
2025-03-28 19:41:07 +00:00
Samuel Pitoiset
8c96b9e306
radv: make sure to always decompress FMASK before expanding it
...
This is actually required even for TC-compatible CMASK images.
VKCTS coverage is missing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33639 >
2025-03-28 19:41:07 +00:00
Samuel Pitoiset
42b0df447c
radv: inline radv_fast_clear_flush_image_inplace()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33639 >
2025-03-28 19:41:07 +00:00
Samuel Pitoiset
09d91837e4
radv: rework radv_handle_color_image_transition()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33639 >
2025-03-28 19:41:07 +00:00
Samuel Pitoiset
7bb3a2363d
radv: add radv_fmask_color_expand()
...
Similar to radv_fmask_decompress()/radv_fast_clear_eliminate() helpers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33639 >
2025-03-28 19:41:06 +00:00
Samuel Pitoiset
aaf634cc24
radv: rework radv_fast_clear_flush_image_inplace()
...
FMASK_DECOMPRESS also implies FAST_CLEAR_ELIMINATE, so it can run first.
The only exception is fast-clear for color images that have DCC and
FMASK but without comp-to-single (only GFX10) because FMASK_DECOMPRESS
can't eliminate DCC fast-clears.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33639 >
2025-03-28 19:41:06 +00:00
Samuel Pitoiset
a452098791
radv: skip FCE for comp-to-single fast clears with DCC MSAA
...
comp-to-single supports MSAA since a while and it's useless to perform
a fast clear eliminate for these fast color clears.
Only GFX10-GFX10.3 are affected because these are the only GPUs that
support DCC with MSAA with FMASK.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33639 >
2025-03-28 19:41:06 +00:00
Daniel Stone
f6f085f50a
ci: Re-enable trace jobs with updated Piglit
...
mesa/piglit!996 fixed up Piglit to allow us to do trace downloads again,
so we can now bring these jobs back. The fdno trace jobs hosted at
Google are still disabled whilst we try to fix their nginx.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34245 >
2025-03-28 13:00:14 +00:00
Daniel Stone
c8c427fb3d
ci/amd: Add new radeonsi fail seen in the wild
...
Unsure how this slipped in, but it sure is failing consistently.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34256 >
2025-03-28 12:06:08 +00:00
Samuel Pitoiset
8032f628ad
radv: add a helper to emit PM4 commands to a CS
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
498fc42fa9
radv: add a helper to emit a PKT3_COPY_DATA with an immediate
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
cd08da2f20
radv/video: slightly change radv_vcn_sq_header()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
a2b6b6f1f9
radv: add more helpers to start/stop perfcounters
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
6d3ee9d8ad
radv: use radv_cs_write_data_imm() more
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
7affd623c0
radv: slightly change the COND_EXEC for sampling performance counters
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
8d12578989
radv: add a helper to emit SPM muxsel
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
f12bf800e3
radv: add a helper to emit indirect buffer for draws/dispatches
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
af5cde7107
radv: apply some cosmetic changes for future begin/end CS sequences
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Samuel Pitoiset
391da996ed
radv: rework the shader pointer emit as macros
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34223 >
2025-03-28 07:49:04 +00:00
Daniel Stone
df97f243e6
ci: Re-enable Collabora CI
...
Now that all our S3 issues have been resolved, let's start running some
tests again.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34244 >
2025-03-27 20:23:15 +00:00
Samuel Pitoiset
09656e3dc4
radv/ci: fix renaming the VKCTS job for tahiti
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This one has been missing during the renames.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34226 >
2025-03-27 08:00:57 +00:00
Samuel Pitoiset
ae8c0b06a7
radv: add radeon_event_write() macros
...
Similar to RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34145 >
2025-03-27 07:09:07 +00:00
Samuel Pitoiset
344aa38925
radv: add new helper to emit PKT3_EVENT_WRITE for sampling queries
...
Everything in one function is easier to share.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34145 >
2025-03-27 07:09:07 +00:00
Samuel Pitoiset
e2e8dca941
radv: rework radeon_set_uconfig_perfctr_reg_seq to use amd_ip_type
...
To be more generic.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34145 >
2025-03-27 07:09:07 +00:00
Samuel Pitoiset
88df7e709a
radv: move the optimized context reg macros with other similar ones
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34145 >
2025-03-27 07:09:07 +00:00
Samuel Pitoiset
30948e63f4
radv: switch all emit helpers to macros
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34145 >
2025-03-27 07:09:07 +00:00
Samuel Pitoiset
74a5266d8f
radv: replace radeon_set_reg_seq by a macro
...
To be more close to RadeonSI, other similar functions will be replaced
by macros in the next commits.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34145 >
2025-03-27 07:09:07 +00:00
Georg Lehmann
8648d7cf75
ac/nir: set has_mul24_relaxed
...
This is only used by OpenCL.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33871 >
2025-03-27 06:24:16 +00:00
Georg Lehmann
7c6a2b16e0
ac/llvm: support mul24_relaxed
...
I didn't find dedicated 24bit intrinsics, but I also haven't looked that hard.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33871 >
2025-03-27 06:24:16 +00:00
Georg Lehmann
7631b10984
aco: implement mul24_relaxed
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33871 >
2025-03-27 06:24:16 +00:00
Marek Olšák
219b2cde13
radeonsi: remove clover support
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Only Rusticl is supported.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34215 >
2025-03-27 01:59:19 +00:00
Valentine Burley
55749a5bbb
amd/ci: Rename AMD jobs to follow unified naming convention
...
All AMD jobs now follow the new naming convention: {driver}-{gpu}-{test}.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34147 >
2025-03-26 22:27:00 +00:00
Valentine Burley
74ebd5d5b2
radv/ci: Delete obsolete vkcts-stoney-valve job
...
This job won't be re-enabled, so delete it.
Suggested by @mupuf.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34147 >
2025-03-26 22:27:00 +00:00
Samuel Pitoiset
c168fdcd50
radv/ci: delete empty radv-hawaii-skips.txt
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34147 >
2025-03-26 22:27:00 +00:00
Samuel Pitoiset
a78eccdb9b
radv/ci: rename radv-gfx1200 to radv-gfx1201
...
Also create an empty file for flakes, otherwise deqp-runner complains.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34147 >
2025-03-26 22:27:00 +00:00
Samuel Pitoiset
a6d47aeaa3
radv/ci: drop aco suffix for CI files
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34147 >
2025-03-26 22:27:00 +00:00