Samuel Pitoiset
a9c8366261
radv: implement padding cmdbuffer for DGC on GFX6
...
GFX6 only supports PKT2_NOP_PAD.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23689 >
2023-06-21 06:54:03 +00:00
Dave Airlie
146adbd2f4
radv/video: drop incorrect defines for uapi ones.
...
I missed there's an off by one, and found the kernel defined
the correct bits, so just use that.
Fixes: 9477f117f4 ("radv/video: add initial frameworking.")
Reviewed-by: Lynne <dev@lynne.ee >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23757 >
2023-06-21 05:28:01 +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
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
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
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
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
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
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
Erik Faye-Lund
590e191e77
nir: use nir_imm_{true,false}
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23461 >
2023-06-15 13:34:48 +00:00
Erik Faye-Lund
8b03a54bcd
nir: use more imm-helpers
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23461 >
2023-06-15 13:34:48 +00:00
Erik Faye-Lund
2a71e332aa
nir: use new immediate comparison helpers
...
There's plenty of places we can use these new and shiny helpers, so
let's clean up the code a bit.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23460 >
2023-06-15 13:33:58 +02:00
Samuel Pitoiset
71b6108f67
radv: reset some dynamic states when the fragment shader stage is unbound
...
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23494 >
2023-06-15 06:23:33 +00:00
Samuel Pitoiset
80153a8666
radv: fix re-emitting early_z/late_z when the bound PS changes
...
This state depends on the fragment shader.
Fixes: d740e283e1 ("radv: implement VK_EXT_attachment_feedback_loop_dynamic_state")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23494 >
2023-06-15 06:23:33 +00:00
Samuel Pitoiset
00968f38ca
radv: fix re-emitting some dynamic states when the previous FS is NULL
...
If the previous FS is NULL, some dynamic states still need to be
re-emitted.
Doesn't fix anything known.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23494 >
2023-06-15 06:23:33 +00:00
Dave Airlie
13df91d7d7
radv/video: restrict the number of IBs on video related queues.
...
The hardware gets given a session context from userspace in each
submission, but if the session context changes the hardware wants
a FENCE to be emitted to know it can give up the current session.
IF a test submits interleaved session ctx access and uses a single
vulkan submit the hardware crashes, unless each IB is submitted
in a separate submission so the fence can be sent.
In theory it could be possible to construct a single command buffer
to trigger this so I do think the hardware should be smarter here.
Should this be fixed in the kernel to always emit a fence between
IBs?
Fixes: dEQP-VK.video.decode.h264_interleaved
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23641 >
2023-06-15 02:49:00 +00:00
Samuel Pitoiset
d096a3f1a6
radv: fix smooth lines with graphics pipeline library
...
Need to be defensive here.
Fixes recent CTS
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.*.line_raster_mode_smooth.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23200 >
2023-06-14 05:54:57 +00:00
Samuel Pitoiset
8f88cf3b42
radv: do not force VRS 1x1 when smooth lines are enabled
...
Otherwise this will break VRS with GPL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23200 >
2023-06-14 05:54:56 +00:00
Samuel Pitoiset
f6c01cd1dc
radv: add a helper for forcing VRS 1x1 in some situations
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23200 >
2023-06-14 05:54:56 +00:00
Samuel Pitoiset
642a0972f0
radv: gather info about load_poly_line_smooth_enabled
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23200 >
2023-06-14 05:54:56 +00:00
Lynne
5ce784e5c9
radv/video: reject unsupported hevc profiles and bit depths
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23625 >
2023-06-14 03:59:40 +00:00
Lynne
d7d0ccdc51
radv/video: reject non-8bit H264
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23625 >
2023-06-14 03:59:40 +00:00
Lynne
758e6a8f2f
radv/video: reject general unsupported video formats
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23625 >
2023-06-14 03:59:40 +00:00
Dave Airlie
e816c10638
radv/video: program hevc max dec pic buffering correctly
...
This programs it like vaapi does.
Reviewed-by: Lynne <dev@lynne.ee >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23613 >
2023-06-14 00:37:05 +00:00