Samuel Pitoiset
c8852719d0
radv: rename radeon perfctr uconfig helpers
...
To match other helpers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29192 >
2024-05-15 11:34:35 +00:00
Samuel Pitoiset
2957cedad7
radv: remove redundant radeon_set_perfctr_reg() helper
...
It's exactly the same as radeon_set_uconfig_reg_perfctr().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29192 >
2024-05-15 11:34:35 +00:00
Samuel Pitoiset
6b023780ad
radv: introduce radeon_set_reg_seq()
...
This is the base helper for emitting packets, it will be much more
closer to the new command buffer recording mecanishm if we decide to
use the same helpers as RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29192 >
2024-05-15 11:34:35 +00:00
Samuel Pitoiset
f0d4212847
radv: stop using radv_physical_device for radeon helpers
...
It will be easier to share helpers between RadeonSI and RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29192 >
2024-05-15 11:34:35 +00:00
Marek Olšák
573b2b813a
ac/llvm: improve/simplify/fix load_ssbo
...
Effects:
- multi-component subdword handling removed because it's lowered
- 3-dword loads selected correctly instead of 4-dword loads
- the failure of dEQP-GLES3.functional.buffer.copy.subrange.large_to_small
due to LLVM exposed by a future commit is mysteriously fixed by this
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29053 >
2024-05-15 06:42:33 +00:00
Chia-I Wu
59babe9fa0
radv: make radv_pipeline_has_ngg static
...
radv_pipeline_has_ngg has no external user anymore. Also remove the
unused radv_pipeline_has_gs_copy_shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29200 >
2024-05-14 23:42:25 +00:00
Chia-I Wu
be391fdb33
radv: check gs_copy_shader directly for executable props
...
The pipeline could be a graphics pipeline library and
radv_pipeline_to_graphics would assert on debug builds.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29200 >
2024-05-14 23:42:25 +00:00
Rhys Perry
4abe5b7927
aco/gfx12: disable s_cmpk optimization
...
These opcodes were removed.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29162 >
2024-05-14 20:50:28 +00:00
Rhys Perry
2c4f561708
aco: don't change prefetch mode on GFX11.5+
...
This instruction was effectively removed:
https://github.com/llvm/llvm-project/commit/ba131b7017ce
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29162 >
2024-05-14 20:50:27 +00:00
Rhys Perry
5e58e32832
aco/tests: add GFX12 assembler tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29162 >
2024-05-14 20:50:27 +00:00
Rhys Perry
e1e5bc0dd0
aco: support GFX12 in assembler
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29162 >
2024-05-14 20:50:27 +00:00
Rhys Perry
74aa6437d6
aco: add GFX11.5+ opcodes
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29162 >
2024-05-14 20:50:27 +00:00
Rhys Perry
97698e564a
aco: add SFPU/ValuPseudoScalarTrans instr class
...
The latency is from LLVM's SISchedule.td
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29162 >
2024-05-14 20:50:27 +00:00
Rhys Perry
e9a25151fa
aco/tests: support GFX12
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29162 >
2024-05-14 20:50:27 +00:00
Samuel Pitoiset
6c8224c693
radv: simplify radv_emit_ps_inputs() slightly
...
Also remove useless check about ps_offset being zero because memcmp
return false in this case.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983 >
2024-05-14 15:32:08 +00:00
Samuel Pitoiset
c63ac0521a
radv: track all graphics shaders context registers
...
This should be similar to the previous ctx_cs logic that was
implemented in order to reduce context rolls but this also applies
to shader objects.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983 >
2024-05-14 15:32:08 +00:00
Samuel Pitoiset
db597d274b
radv: add more radeon_opt_set_xxx variants
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983 >
2024-05-14 15:32:08 +00:00
Samuel Pitoiset
d5af67ea2c
radv: add graphics shaders context registers that need to be tracked
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983 >
2024-05-14 15:32:07 +00:00
Samuel Pitoiset
9532b0f1b2
radv: emit graphics pipelines directly from the cmdbuf
...
This allows us to unify emitting monolithic graphics pipelines and
shader objects.
Though, this temporarily reduces performance in some games due to more
context rolls. But this will be fixed in the following commits by
using the recent mechanism to track context register writes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983 >
2024-05-14 15:32:07 +00:00
Samuel Pitoiset
fca40bcce3
radv: make radv_conv_gl_prim_to_gs_out() a non-static function
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28983 >
2024-05-14 15:32:07 +00:00
Friedrich Vock
590ea76104
aco/spill: Insert p_start_linear_vgpr right after p_logical_end
...
If p_start_linear_vgpr allocates a VGPR that is already blocked, RA
will try moving the blocking VGPR somewhere else. If
p_start_linear_vgpr is inserted right before the branch, that move will
be inserted after exec has been overwritten, which might cause the move
to be skipped for some threads.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28041 >
2024-05-14 13:54:34 +00:00
Friedrich Vock
84c1870b65
aco/tests: Insert p_logical_start/end in reduce_temp tests
...
Linear VGPR insertion will depend on a p_logical_end existing in the
blocks the VGPR is inserted in.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28041 >
2024-05-14 13:54:34 +00:00
Konstantin Seurer
1f0f76dbdc
radv/ci: Document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29188 >
2024-05-14 13:09:28 +00:00
Konstantin Seurer
9db41dfec5
radv/ci: Add back pipeline library flakes
...
The tests are still flaky.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29188 >
2024-05-14 13:09:28 +00:00
Rhys Perry
cb81ec7a61
aco: don't count certain pseudo towards VMEM_STORE_CLAUSE_MAX_GRAB_DIST
...
fossil-db (navi31):
Totals from 1023 (1.29% of 79395) affected shaders:
MaxWaves: 29258 -> 29240 (-0.06%)
Instrs: 1134024 -> 1133163 (-0.08%); split: -0.10%, +0.02%
CodeSize: 5682108 -> 5678696 (-0.06%); split: -0.08%, +0.02%
VGPRs: 60248 -> 60272 (+0.04%); split: -0.08%, +0.12%
Latency: 3797510 -> 3792797 (-0.12%); split: -0.18%, +0.05%
InvThroughput: 781270 -> 781239 (-0.00%); split: -0.03%, +0.03%
VClause: 24701 -> 23976 (-2.94%); split: -3.55%, +0.61%
Copies: 75177 -> 75169 (-0.01%); split: -0.20%, +0.19%
VALU: 659939 -> 659962 (+0.00%); split: -0.02%, +0.02%
VOPD: 2040 -> 2009 (-1.52%); split: +0.29%, -1.81%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28948 >
2024-05-14 12:30:54 +00:00
Eric Engestrom
a40345aaeb
ci: reuse dead .vkd3d-proton-test to make vkd3d less radv-specific
...
Replace dead `script:` with `HWCI_TEST_SCRIPT`, and rename it to have
the `b2c-` prefix since it's no longer generic.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170 >
2024-05-14 11:46:41 +00:00
Eric Engestrom
9af82fc98f
amd/ci: track changes to VKD3D_PROTON_RESULTS files
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170 >
2024-05-14 11:46:41 +00:00
Eric Engestrom
7dd2b9e11a
ci: hardcode -vkd3d namespace for VKD3D_PROTON_RESULTS
...
This means we can rely on these files always having that name.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170 >
2024-05-14 11:46:41 +00:00
Hans-Kristian Arntzen
6c3457033a
radv: Implement VK_MESA_image_alignment_control
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Co-authored-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Co-authored-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29129 >
2024-05-14 09:30:40 +00:00
Hans-Kristian Arntzen
14457b358f
ac/surface: Add surface flags to prefer 4K and 64K alignment.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Co-authored-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Co-authored-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29129 >
2024-05-14 09:30:40 +00:00
Samuel Pitoiset
2097bec163
radv: fix the late scissor workaround for GFX9 since a recent refactoring
...
This was a typo.
Fixes: 92337aff03 ("radv: split cmdbuf dirty flags into dirty/dirty_dynamic")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11142
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29156 >
2024-05-14 08:36:46 +00:00
Dave Airlie
2f02af39b3
radv/video/encode: fix quality params on v2 hw.
...
This should have the extra dword as well.
Fixes: 54d499818c ("radv/video: add initial support for encoding with h264.")
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29098 >
2024-05-14 05:45:57 +00:00
Georg Lehmann
80b8bbf0c5
aco/gfx11: use v_swap_b16
...
I tested that v_swap_b16 can be encoded as VOP3, because the ISA doc doesn't list
it as a possible VOP3 opcode. VOP3 is nessecary to access v128+.
Foz-DB Navi31:
Totals from 32 (0.04% of 79395) affected shaders:
Instrs: 201865 -> 195168 (-3.32%)
CodeSize: 1082220 -> 1031228 (-4.71%); split: -4.71%, +0.00%
Latency: 2258198 -> 2238586 (-0.87%)
InvThroughput: 796731 -> 788934 (-0.98%)
Copies: 34514 -> 29220 (-15.34%)
VALU: 122457 -> 117163 (-4.32%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29143 >
2024-05-13 18:42:19 +00:00
Eric Engestrom
5803a40e2f
radeonsi/ci: document new crash (assert)
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29168 >
2024-05-13 18:23:35 +00:00
Rhys Perry
38cbc3c605
radv: advertise VK_EXT_legacy_vertex_attributes
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11094
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29071 >
2024-05-13 17:22:27 +00:00
Rhys Perry
6ddd675168
aco/util: improve small_vec assertion
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29071 >
2024-05-13 17:22:26 +00:00
Rhys Perry
869253b66c
aco: support VS prologs with unaligned access
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29071 >
2024-05-13 17:22:26 +00:00
Rhys Perry
9ec2fa392f
aco: copy VS prolog constants after loads
...
This way, the loads start earlier.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29071 >
2024-05-13 17:22:26 +00:00
Rhys Perry
46b8ba8154
aco: form hard clauses in VS prologs
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29071 >
2024-05-13 17:22:26 +00:00
Rhys Perry
d48c8905f1
radv: keep track of unaligned dynamic vertex access
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29071 >
2024-05-13 17:22:26 +00:00
Samuel Pitoiset
62b4e9a779
radv: simplify radv_emit_hw_gs() slightly
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29132 >
2024-05-13 16:10:20 +00:00
Samuel Pitoiset
bdefab362c
radv: simplify radv_emit_hw_vs() slightly
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29132 >
2024-05-13 16:10:20 +00:00
Samuel Pitoiset
5572a83b00
radv: simplify radv_emit_hw_ngg() slightly
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29132 >
2024-05-13 16:10:20 +00:00
Samuel Pitoiset
dd3ae170a7
radv: do not emit VGT_GS_OUT_PRIM_TYPE to ctx_cs on GFX11
...
Missed that one but it doesn't cause any context rolls.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29132 >
2024-05-13 16:10:20 +00:00
Samuel Pitoiset
f228e7ed2d
radv: remove gfx10_emit_ge_pc_alloc()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29132 >
2024-05-13 16:10:20 +00:00
Konstantin Seurer
406dda70e7
radv: Zero initialize capture replay group handles
...
radv_serialized_shader_arena_block is not tightly packed and using an
initializer list leaves the gaps uninitialized.
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28961 >
2024-05-12 10:28:27 +00:00
Konstantin Seurer
df82221bb3
radv: Remove arenas from capture_replay_arena_vas
...
Avoids an use after free when looking up an arena.
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28961 >
2024-05-12 10:28:27 +00:00
Konstantin Seurer
e050abc961
radv: Fix radv_shader_arena_block list corruption
...
Remove it from the previous list befor adding it to a new one.
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28961 >
2024-05-12 10:28:27 +00:00
Tatsuyuki Ishi
e21ea25de9
radv: Remove radv_queue::device again
...
It was mistakenly revived.
Fixes: 0fb19b8331 ("radv: add radv_queue.h")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29151 >
2024-05-12 09:58:22 +00:00
Ruijing Dong
e28195bf4b
radeonsi/vcn: enable decoding in vcn5.
...
Signed-off-by: David (Ming Qiang) Wu <David.Wu3@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
OA#
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29007 >
2024-05-11 22:14:06 -04:00