Georg Lehmann
71d30bcede
aco: combine scalar mul+pk_add to pk_fma
...
Foz-DB Navi21:
Totals from 12 (0.01% of 134913) affected shaders:
CodeSize: 37860 -> 37668 (-0.51%)
Instrs: 6757 -> 6733 (-0.36%)
Latency: 25632 -> 25589 (-0.17%)
InvThroughput: 2637 -> 2622 (-0.57%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21819 >
2023-06-20 14:29:24 +00:00
Georg Lehmann
6db61d0dc0
aco: use uses helpers for pk_fma opt
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21819 >
2023-06-20 14:29:24 +00:00
Rhys Perry
532407094a
radv: use wave32 for small workgroups
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23555 >
2023-06-20 14:03:52 +00:00
Rhys Perry
b765a27d73
radv: refactor CS subgroup size determination
...
This is less convoluted.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23555 >
2023-06-20 14:03:52 +00:00
Samuel Pitoiset
1359e806f2
radv: advertise VK_EXT_depth_bias_control
...
Pass new CTS on RDNA2.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23696 >
2023-06-20 12:46:28 +00:00
Samuel Pitoiset
266b2cfe5b
radv: implement VK_EXT_depth_bias_control
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23696 >
2023-06-20 12:46:28 +00:00
Caio Oliveira
59cc77f0fa
compiler: Move from nir_scope to mesa_scope
...
Just moving the enum and performing renames, no behavior change.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23328 >
2023-06-19 23:29:26 +00:00
Eric Engestrom
ec8932fd63
radv: fix formatting
...
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23719 >
2023-06-19 11:19:42 +01:00
Samuel Pitoiset
3208844539
radv: use cs_execute_ib() for GFX, MBCP and DGC IBs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23671 >
2023-06-19 07:53:35 +00:00
Samuel Pitoiset
afbe187715
radv/amdgpu: add cs_execute_ib() for executing IBs
...
This will be used to implement support for DGC with RADV_DEBUG=noibs,
DGC for secondaries and for future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23671 >
2023-06-19 07:53:35 +00:00
Samuel Pitoiset
0551954e80
radv/amdgpu: remove useless assert in radv_amdgpu_winsys_cs_submit_internal()
...
The zero CS submission path is used instead, and this assertion isn't
really useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23669 >
2023-06-19 07:33:35 +00:00
Samuel Pitoiset
8e1579a214
radv/amdgpu: fix a buffer overflow for submissions with RADV_DEBUG=noibs
...
With RADV_DEBUG=noibs (aka no chaining) the number of IBs to submit
depends on the number of old IB buffers of every CS.
This fixes a stack smashing error.
Fixes: 53b439d24f ("radv/amdgpu: Use STACK_ARRAY for IB array to reduce stack usage."
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23669 >
2023-06-19 07:33:35 +00:00
Samuel Pitoiset
795bf984c6
radv: reserve space for shadowed regs
...
Tested on RDNA2, hopefully the space reservation is large enough for
other chips as well.
Fixes: 7893040f80 ("radv: Add stricter space checks.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23672 >
2023-06-19 07:07:37 +00:00
Samuel Pitoiset
a5cdc4840d
radv: use IB for the GFX preamble on GFX6
...
GFX6 supports IBs without any issues.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23670 >
2023-06-19 06:48:21 +00:00
Samuel Pitoiset
e20a0f32f2
radv: do not use IB for the GFX preamble with RADV_DEBUG=noibs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23670 >
2023-06-19 06:48:21 +00:00
Marek Olšák
f0eb548e7b
amd: skip redundant INDEX_TYPE even with register shadowing
...
same as PAL
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:21 +00:00
Marek Olšák
2ce24402d6
amd: skip redundant PKT3_NUM_INSTANCES even with register shadowing
...
same as PAL
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:21 +00:00
Marek Olšák
6349d3f537
amd: update shadowed register tables for gfx11
...
The new table format is identical to the source to facilitate backporting.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:21 +00:00
Marek Olšák
c8efd2b2cf
amd: add a new helper that prints all non-shadowed regs
...
for validating our tables against register definitions
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:21 +00:00
Marek Olšák
f43d68d7ac
amd: remove ac_check_shadowed_regs
...
not useful anymore
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:21 +00:00
Marek Olšák
6e19b6d97f
amd: remove non-shadowed register tables
...
not useful
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:21 +00:00
Marek Olšák
93dbdde313
amd: fix GPU cache sizes retrieved from the kernel
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:21 +00:00
Marek Olšák
c33622d931
amd: don't set PA_RATE_CNTL because it has no effect
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:20 +00:00
Marek Olšák
3e5aa9e717
amd: increase the attribute ring size on gfx1103_r1
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:20 +00:00
Marek Olšák
9316258449
amd: rename mid_command_buffer_preemption_enabled -> register_shadowing_required
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:20 +00:00
Marek Olšák
789a3b24c1
amd: improve the IB parser, parse more packets
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:20 +00:00
Marek Olšák
95a85d1b37
amd: update SET_*_REG_PAIRS* documentation and remove radeon_info options
...
All released firmware supports the packets.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23687 >
2023-06-17 23:42:20 +00:00
Eric Engestrom
6b21653ab4
aco: reformat according to its .clang-format
...
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23253 >
2023-06-16 19:59:52 +00:00
Eric Engestrom
8b319c6db8
radv: reformat according to its .clang-format
...
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23253 >
2023-06-16 19:59:52 +00:00
Eric Engestrom
1725d9aa67
radv,aco: tweaks to get clang-format to print nicer code
...
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23253 >
2023-06-16 19:59:52 +00:00
Konstantin Seurer
7f3874981d
radv/rt: Enable RT pipelines on GFX10_3+ excluding vangogh
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23677 >
2023-06-16 16:13:34 +00:00
Konstantin Seurer
49b400423c
Revert "radv: Enable ray tracing pipelines by default"
...
This partially reverts commit 374bd4e1be .
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23677 >
2023-06-16 16:13:34 +00:00
Friedrich Vock
b49afd6ce2
radv: Add the BOs of all shaders in a RT pipeline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23681 >
2023-06-16 14:47:03 +00:00
Georg Lehmann
99e44cc527
aco/opcodes: delete wrong comment copy pasted from NIR
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21882 >
2023-06-16 13:45:38 +00:00
Georg Lehmann
fe3993447d
aco: remove v_cvt_pkrtz_f16_f32_e64 when it's actually VOP2
...
More consistent with how we handle all the opcodes which were moved to VOP3.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21882 >
2023-06-16 13:45:38 +00:00
Georg Lehmann
49bdc3a1c2
aco/opcodes: move v_cndmask_b32 back to the VOP2 list
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21882 >
2023-06-16 13:45:38 +00:00
Tony Wasserka
89c86af39e
aco/spill: Use arena allocator for spills
...
Gives a marginal speedup.
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12000 >
2023-06-16 12:46:01 +00:00
Tony Wasserka
73835f4b09
aco/spill: Use arena allocator for next use distances
...
Speedup of aco::spill(): ~50%
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12000 >
2023-06-16 12:46:01 +00:00
Samuel Pitoiset
0e726c63ff
radv: add dgc_emit_index_buffer()
...
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584 >
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
a842f37dff
radv: add dgc_emit_draw_indexed() helper
...
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584 >
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
0551c54dff
radv: add dgc_emit_draw() helper
...
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584 >
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
bb24e17d44
radv: add dgc_emit_vertex_buffer() helper
...
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584 >
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
be05e0e7a4
radv: add dgc_emit_push_constant() helper
...
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584 >
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
cc3a9b90a9
radv: add dgc_emit_state() helper
...
For emitting VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV.
The scissor workaround for GFX9 is only needed if the state is emitted,
so move it there as well.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584 >
2023-06-16 06:19:13 +00:00
Samuel Pitoiset
1d0c18ba3b
radv: remove unused radv_dgc_token struct
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23584 >
2023-06-16 06:19:13 +00:00
Dave Airlie
562e890f2c
ac/radeonsi: add av1 defaults header file from radeonsi
...
This just moves this header file so radv can use it.
Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23640 >
2023-06-16 05:53:44 +00:00
Konstantin Seurer
daac72de3a
radv/rt: Stop forcing wave32 by setting compute_subgroup_size
...
We end up reporting the wrong subgroup size this way.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23572 >
2023-06-15 15:20:35 +00:00
Erik Faye-Lund
a593de7cf3
nir: add missed nir_cmp_imm-helpers
...
Seems I missed these in my previous round, let's fix them up now!
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23461 >
2023-06-15 13:34:49 +00:00
Erik Faye-Lund
3a64e3425f
nir: add and use nir_imod_imm
...
Just a short-hand, really. Makes the code a bit easier to read.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23461 >
2023-06-15 13:34:49 +00:00
Erik Faye-Lund
e1f4c79288
nir: add and use nir_fdiv_imm
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23461 >
2023-06-15 13:34:49 +00:00