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
Dave Airlie
ff4e9fa2d5
radv/video: program frame number correctly.
...
doesn't appear to fix anything, but is more correct.
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
Friedrich Vock
374bd4e1be
radv: Enable ray tracing pipelines by default
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23603 >
2023-06-13 19:38:27 +00:00
Friedrich Vock
fa7c7791ee
radv: Add RADV_DEBUG=nort
...
This makes vkCmdTraceRaysKHR and ray queries no-ops and is useful
for triaging GPU hangs with raytracing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23603 >
2023-06-13 19:38:27 +00:00
Mike Blumenkrantz
68ded42a38
radv: directly use vk_format_map for vertex input
...
this is much faster than calling a non-inline function with
conditionals to index the same array
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23599 >
2023-06-13 18:38:27 +00:00
Mike Blumenkrantz
0d52acce1e
radv: tweak gfx pipeline stage binding
...
iterating all the stages like this ends up unnecessarily calling
through to geometry stage binds when no shader was bound and no shader
is being bound by the power of optimization, so instead only do the unbind
part for the stages that are being unbound
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23600 >
2023-06-13 17:27:05 +00:00
Alyssa Rosenzweig
1d4a59448c
treewide: Remove use_scoped_barrier
...
It is now set by all relevant drivers and not checked anywhere.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23191 >
2023-06-13 16:36:10 +00:00