Samuel Pitoiset
01339c6c93
radv: add radv_device_init_perf_counter()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30153 >
2024-07-15 09:34:42 +02:00
Samuel Pitoiset
5657f21fcf
radv: destroy the perf counter BO in radv_device_finish_perf_counter()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30153 >
2024-07-15 09:34:42 +02:00
Josh Simmons
c68408d195
radv: Fix crash when using SQTT and NO_COMPUTE
...
Signed-off-by: Josh Simmons <josh@nega.tv>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30177 >
2024-07-15 07:05:40 +00:00
Samuel Pitoiset
0a6852907d
radv: fix marking RADV_DYNAMIC_COLOR_ATTACHMENT_MAP as dirty
...
Due to the cmdbuf dirty split.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30119 >
2024-07-12 06:37:52 +00:00
Rhys Perry
4b36668575
radv: remove unecessary nir_remove_unused_varyings cleanup passes
...
I think the comment meant to refer to nir_remove_unused_varyings.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25590 >
2024-07-10 19:11:38 +00:00
Samuel Pitoiset
56aa1ac74b
radv: use ac_is_reduction_mode_supported()
...
This reduces the number of formats that support filter min/max
reduction on <= GFX8 due to some hw limitations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30074 >
2024-07-10 07:57:42 +00:00
Samuel Pitoiset
2d29b8b01e
radv: disable VK_EXT_sampler_filter_minmax on TAHITI and VERDE
...
Ported from RadeonSI.
This also explains all the flakes on Tahiti, see
9329f2c15b for reference.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30074 >
2024-07-10 07:57:42 +00:00
Samuel Pitoiset
4994c0fa94
radv: use blake3 for hashing pipeline layouts
...
This should also be faster.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30089 >
2024-07-10 07:35:19 +00:00
Samuel Pitoiset
51c6910ba7
radv: use blake3 for hashing descriptor set layouts
...
It's faster than sha1, up to 28% with 1M of bindings.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9476
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30089 >
2024-07-10 07:35:18 +00:00
Samuel Pitoiset
2c28ed7c5c
radv: remove radv_descriptor_set_layout::shader_stages
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30089 >
2024-07-10 07:35:18 +00:00
Samuel Pitoiset
d1c97a1a50
radv: rework generating all graphics state for compiling pipelines
...
This introduces a new helper that will be used to generate a graphics
pipeline hash from a pCreateInfo struct only. Similar to RT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30049 >
2024-07-09 05:48:31 +00:00
Samuel Pitoiset
8f102c9d61
radv: stop passing a pipeline to some graphics related helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30049 >
2024-07-09 05:48:30 +00:00
Samuel Pitoiset
1a3b3b845b
radv: simplify determining when a VS prolog is needed
...
Only if a VS is compiled without the vertex input state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
7608aada6f
radv: simplify determining when the rasterization primitive is unknown
...
Either if the vertex input state is missing, or if no TES/GS/MS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
0c0ecc90c4
radv: move radv_hash_shaders() to radv_graphics_pipeline.c
...
And rename it for consistency with compute/RT hash functions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b51af513dd
radv: remove unnecessary radv_pipeline_has_ngg() function
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b5193c8937
radv: remove unused get_vs_output_info() function
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
b43b71450c
radv: simplify importing libraries with retained shaders
...
It's possible to use create_flags directly.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Samuel Pitoiset
6aba052f82
radv: remove unused parameter to radv_pipeline_import_retained_shaders()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30045 >
2024-07-05 13:33:24 +00:00
Konstantin Seurer
0208927bcf
radv: Always use dynamic line smoothing
...
Static enablement is too complex for a feature that is barely used.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26833 >
2024-07-05 08:58:53 +00:00
Konstantin Seurer
d571e19966
radv: Fix smooth lines with dynamic polygon mode and topology
...
Non-line modes need to disable the smoothing paths. (overrasterization,
shader code)
Fixes: 85cbdba ("radv: add support for smooth lines")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9393
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26833 >
2024-07-05 08:58:53 +00:00
Samuel Pitoiset
dc89028bbc
radv: advertise VK_KHR_maintenance7
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29956 >
2024-07-03 12:39:01 +00:00
Qiang Yu
3151f5ec47
nir: add filter parameter to nir_lower_array_deref_of_vec
...
To be used by latter commits to limit the lowering to specific
variables.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29799 >
2024-07-03 02:06:56 +00:00
Samuel Pitoiset
6326cc4a5e
radv: use radv_get_user_sgpr() more in DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29980 >
2024-07-01 16:54:09 +00:00
Samuel Pitoiset
598e85b3e9
radv: use the graphics pipeline from the DGC info
...
Doesn't change anything because it's required to bind one graphics
pipeline before using DGC but it's cleaner.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29980 >
2024-07-01 16:54:09 +00:00
Samuel Pitoiset
4c8d44aed0
radv: move radv_CmdPreprocessGeneratedCommandsNV() to radv_cmd_buffer.c
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29980 >
2024-07-01 16:54:09 +00:00
Samuel Pitoiset
e7f6388ac7
radv: use radv_dgc_with_task_shader() more
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29980 >
2024-07-01 16:54:09 +00:00
Samuel Pitoiset
b51b8c54c0
radv: cleanup using vtx_base_sgpr for userdata with DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29980 >
2024-07-01 16:54:09 +00:00
Samuel Pitoiset
c77e26daa5
radv: do not emit compute userdata for empty dispatches
...
Unnecessary.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29980 >
2024-07-01 16:54:09 +00:00
Samuel Pitoiset
3f919c0df6
radv: remove unused parameter to dgc_emit_draw_mesh_tasks_ace()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29980 >
2024-07-01 16:54:09 +00:00
Samuel Pitoiset
484f613a97
radv: use radv_get_user_sgpr_loc() for the GS copy shader too
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29957 >
2024-07-01 13:39:51 +00:00
Samuel Pitoiset
f22ee282fc
radv: add radv_get_user_sgpr{_loc}() helpers
...
To simplify all the user sgpr computations which are very redundant.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29957 >
2024-07-01 13:39:51 +00:00
Samuel Pitoiset
bf852536fc
radv: rename radv_get_user_sgpr() to radv_get_user_sgpr_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29957 >
2024-07-01 13:39:51 +00:00
David Heidelberg
68215332a8
build: pass licensing information in SPDX form
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Dylan Baker <dylan.c.baker@intel.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29972 >
2024-06-29 12:42:49 -07:00
Samuel Pitoiset
cc48e12431
radv: suspend user conditional rendering when DGC has task shaders
...
Otherwise the DGC ACE IB would be uninitialized and it would hang.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29954 >
2024-06-28 14:35:22 +00:00
Konstantin Seurer
9ae1c5dce3
radv: Refactor radv_(dst|src)_access_flush
...
A few ifs should be faster and more readable than looping over every set
bit.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29051 >
2024-06-28 10:41:49 +00:00
Konstantin Seurer
41619da397
radv: Handle AS access bits like shader storage access bits
...
Acceleration structures are accessed directly from shaders or via
PKT3_WRITE_DATA.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29051 >
2024-06-28 10:41:49 +00:00
Konstantin Seurer
ca96abe1cb
radv: Remove write access handling from radv_dst_access_flush
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29051 >
2024-06-28 10:41:49 +00:00
Konstantin Seurer
3eefd0b040
radv: Remove handling for expanded access flags
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29051 >
2024-06-28 10:41:49 +00:00
Konstantin Seurer
135348a3c3
radv: Remove no-op access flag handling
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29051 >
2024-06-28 10:41:49 +00:00
Konstantin Seurer
3acab3dfff
radv: Use vk_expand_(src|dst)_access_flags2
...
Simplifies access flags handling since the driver doesn't have to worry
about VK_ACCESS_2_MEMORY_READ_BIT and friends.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29051 >
2024-06-28 10:41:49 +00:00
Samuel Pitoiset
88864b707a
radv: enable task shaders support with NV DGC
...
No games are using task shaders with DGC at the moment but this is
supposed to work.
This fixes test_amplification_shader_execute_indirect from vkd3d.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00
Samuel Pitoiset
e6aee84265
radv: fix a synchronization issue with non-preprocessed DGC with task shader
...
We need to make sure that the DGC ACE IB will wait for the DGC
prepare shader before the execution starts. When DGC is preprocessed
the synchronization is already correct.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00
Samuel Pitoiset
74713469e1
radv: disable conditional rendering with DGC and task shaders
...
When the DGC prepare shader is conditionally executed on the graphics
queue, the generated IBs might be uninitialized. It's fine for the
DGC GFX IB because the INDIRECT_PACKET would also be conditionally
skipped but it's not possible to do that for the DGC ACE IB
(ie. no IB2 on compute).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00
Samuel Pitoiset
fec2385301
radv: emit push constant for task shaders with DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00
Samuel Pitoiset
1ffb420edd
radv: adjust the base upload offset when DGC uses task shaders
...
The upload space is after the DGC ACE IB.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00
Samuel Pitoiset
f55d4f2f09
radv: reserve space for push constants in the DGC ACE IB
...
The upload space will be shared for both IBs when push constants need
to be allocated.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00
Samuel Pitoiset
8d321421c7
radv: rework emitting push constants with DGC
...
Using a push constant stages mask to emit them in the DGC ACE IB for
task shaders.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00
Samuel Pitoiset
f6150edbb3
radv: split allocating and emitting push constants with DGC
...
This will allow us to emit push constants for task shaders.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00
Samuel Pitoiset
1f7bdcfa8d
radv: add a helper that determines if DGC uses task shaders
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29935 >
2024-06-28 06:19:56 +00:00