Samuel Pitoiset
40131ddadc
radv: adjust the source aspect for color to depth/stencil image copies
...
The opposite is already supported. Note that only one aspect (depth or
stencil) is supported when it's a copy<->depth/stencil copy, and
multiplanar images aren't supported.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33091 >
2025-01-21 07:28:14 +00:00
Samuel Pitoiset
3be1e9ee4d
radv: add support for VkMemoryBarrierAccessFlags3KHR
...
There is no flags yet.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33091 >
2025-01-21 07:28:14 +00:00
Samuel Pitoiset
0019900312
radv/meta: do not create redundant pipeline layout objects
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32834 >
2025-01-03 09:11:59 +00:00
Samuel Pitoiset
105e809a9d
radv/meta: add radv_meta_get_noop_pipeline_layout()
...
To avoid duplicated objects.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32834 >
2025-01-03 09:11:59 +00:00
Samuel Pitoiset
c8d2614113
radv/meta: fix loading the meta pipeline cache
...
This has been removed by mistake.
Fixes: f528c9e8f5 ("radv/meta: stop initializing RT accel structs")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32838 >
2025-01-03 08:49:42 +00:00
Samuel Pitoiset
f528c9e8f5
radv/meta: stop initializing RT accel structs
...
They are already always compiled on-demand.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32809 >
2024-12-31 12:54:11 +01:00
Samuel Pitoiset
853c99260b
radv/meta: move initializing emulated astc to radv_device_init_meta()
...
For consistency with emulated etc2.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32809 >
2024-12-31 12:54:11 +01:00
Samuel Pitoiset
422d64d7ee
radv/meta: always initialize emulated etc2 on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32809 >
2024-12-31 12:54:11 +01:00
Samuel Pitoiset
1e75b6dfb8
radv/meta: remove a workaround for building accel structs with LLVM
...
This is no longer needded and this will allow us to compile the meta
pipelines on-demand.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32818 >
2024-12-31 11:34:40 +00:00
Samuel Pitoiset
09b8ed4dd4
radv/meta: remove unused radv_meta_create_xxx() helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
aa709ca32c
radv/meta: convert the blit2d GFX pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
19c1397855
radv/meta: use only one push constant range for blit2d pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
8a104de180
radv/meta: convert the resolve GFX pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
bc5c37fef8
radv/meta: convert the clear GFX pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
64676f52b2
radv/meta: convert the blit GFX pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
b3c587e429
radv/meta: convert the fast-clear GFX pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
015e3e34a7
radv/meta: convert the HW resolve GFX pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
e33f6b6394
radv/meta: convert the HTILE expand GFX pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32805 >
2024-12-31 10:32:50 +00:00
Samuel Pitoiset
bf7a0285cf
radv/meta: remove radv_meta_create_compute_pipeline()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
37116720a8
radv/meta: convert the compute resolve pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
ab019f14b2
radv/meta: convert the clear image pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
db40e4a78d
radv/meta: convert the image-to-image pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
0c21ebbc89
radv/meta: convert the buffer-to-image pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
8396bf9d64
radv/meta: convert the image-to-buffer pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
f63ced7ff2
radv/meta: convert the query resolve pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
1a34e799bd
radv/meta: convert DGC pipeline layout to vk_meta
...
DGC pipelines aren't using the vk_meta helper because that would
require to compute a separate key and that's useless.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
27adadbe63
radv/meta: convert the DCC comp-to-single pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
23d2d76ab7
radv/meta: convert the clear HTILE mask pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
c6804016d0
radv/meta: convert the DCC decompress CS pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
a0c05dd7b5
radv/meta: convert the HTILE expand CS pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
3ff28c8f98
radv/meta: convert the DCC retile pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
4521eb1b2b
radv/meta: convert the FMASK copy pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
a3aeeab434
radv/meta: convert the FMASK expand pipelines to vk_meta
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
f27bee04ce
radv/meta: convert the copy VRS to HTILE pipelines to vk_meta
...
This pipeline was already always on-demand.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:50 +00:00
Samuel Pitoiset
88ffeb61ae
radv/meta: convert the copy/fill pipelines to vk_meta
...
This also switches these pipelines to on-demand always.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32744 >
2024-12-29 18:31:49 +00:00
Samuel Pitoiset
2bc155959e
radv: pass extra graphics pipeline create info using pNext
...
This will be needed to convert meta graphics pipeline to vk_meta.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32750 >
2024-12-29 17:51:03 +00:00
Samuel Pitoiset
23b1df7953
radv: use VK_PRIMITIVE_TOPOLOGY_META_RECT_LIST_MESA for meta pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32750 >
2024-12-29 17:51:03 +00:00
Samuel Pitoiset
a7d32be1dd
radv: rename GDS queries to emulated queries
...
Emulated is more generic than GDS. GDS will be replaced with SSBO
atomics anyways.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32702 >
2024-12-19 08:08:53 +00:00
Samuel Pitoiset
310e03c8d3
radv/meta: move vk_meta_device_init() to radv_device_init_meta()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32571 >
2024-12-11 07:25:29 +00:00
Samuel Pitoiset
cad6e1ea09
radv/meta: add missing vk_meta_device_finish()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32571 >
2024-12-11 07:25:29 +00:00
Samuel Pitoiset
8b755840fc
radv: fix initializing HTILE when the image has VRS rates
...
VRS rates should only be preserved for clears, otherwise the HTILE
buffer should be cleared completely.
This fixes some failures/flakes in CI.
Fixes: 8197d744f5 ("radv: Do not overwrite VRS rates when doing fast clears")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32463 >
2024-12-05 07:34:58 +00:00
Samuel Pitoiset
8c2ff0a80b
radv: promote VK_KHR_push_descriptor to core 1.4 API
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32432 >
2024-12-03 10:21:55 +00:00
Samuel Pitoiset
54cd43f93e
radv: promote VK_KHR_maintenance5 to core 1.4 API
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32432 >
2024-12-03 10:21:55 +00:00
Konstantin
8197d744f5
radv: Do not overwrite VRS rates when doing fast clears
...
Fixes a whole bunch of VRS tests on navi24.
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32318 >
2024-11-27 14:45:31 +00:00
Samuel Pitoiset
2181ddf383
radv: destroy meta resources properly when creating the device failed
...
Better to call radv_device_finish_meta().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32112 >
2024-11-19 07:02:52 +00:00
Samuel Pitoiset
7a3a65c0c4
radv: pass the image subresource range to radv_{src,dst}_access_flush()
...
This will allow us to optimize the pipe misaligned special case for
GFX11 because only the first mip in the mip-tail needs the L2 cache
invalidation.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31921 >
2024-11-12 17:27:39 +00:00
Samuel Pitoiset
f7a39fac10
radv: use vk_image_view_subresource_range() when possible
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31921 >
2024-11-12 17:27:39 +00:00
Konstantin Seurer
0963a0a2b4
radv: Move ac_addrlib to the physical device
...
There is nothing amdgpu specific here so this does not need to be
abstracted away. max_alignment also is not used in winsys code.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31643 >
2024-10-28 20:06:38 +00:00
Samuel Pitoiset
9f8684359f
radv: implement VK_EXT_device_generated_commands
...
The major differences compared to the NV extensions are:
- support for the sequence index as push constants
- support for draw with count tokens (note that DrawID is zero for
normal draws)
- support for raytracing
- support for IES (only compute is supported for now)
- improved preprocessing support with the state command buffer param
The NV DGC extensions were only enabled for vkd3d-proton and it will
maintain both paths for a while, so they can be replaced by the EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31383 >
2024-10-28 16:27:35 +00:00
Samuel Pitoiset
be81c8b8db
radv: fix initializing the HTILE buffer on transfer queue
...
When only of the depth/stencil aspects is used, RADV dispatches a
compute shader to initialize the HTILE buffer. But dispatching on SDMA
just hangs and the only way to initialize the HTILE buffer is to clear
both aspects using a memory fill operation.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31803 >
2024-10-24 06:25:18 +00:00