Timur Kristóf
f599a2e435
radv: Move blit NIR shaders to radv_meta_nir.c
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33494 >
2025-02-12 11:44:18 +00:00
Timur Kristóf
c8842d19ed
radv: Move buffer related NIR meta shaders to radv_meta_nir.c
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33494 >
2025-02-12 11:44:18 +00:00
Samuel Pitoiset
990244f7e2
radv/meta: use BDA for copying VRS rates to HTILE
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33493 >
2025-02-12 08:02:30 +00:00
Samuel Pitoiset
e3cd101c17
radv/meta: use BDA for clear HTILE mask
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33493 >
2025-02-12 08:02:30 +00:00
Samuel Pitoiset
8df1ffaa78
radv: use radv_buffer::addr more
...
And remove radv_buffer:offset.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33475 >
2025-02-11 15:12:34 +00:00
Samuel Pitoiset
f70af40c5d
radv: pass addr to radv_copy_buffer()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33475 >
2025-02-11 15:12:34 +00:00
Samuel Pitoiset
06ac711b06
radv/meta: simplify creating buffers for R32G32B32 operations
...
Not necessary to allocate things.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33475 >
2025-02-11 15:12:33 +00:00
Samuel Pitoiset
4fc856af98
radv: fix caching on-demand meta shaders
...
This switches to disk_cache instead of our own mechanism which only
stored meta shaders when the logical was destroyed.
Meta shaders are still stored separately from the application shaders
because they are common to all applications on a given GPU/Mesa version.
The default cache is 32MiB which should be large enough.
This fixes massive stuttering in FF7 Rebirth but all apps are
technically affected.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33370 >
2025-02-05 16:30:27 +00:00
Samuel Pitoiset
f095aaf819
radv/meta: stop using string keys also for DGC and query objects
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33379 >
2025-02-05 08:25:00 +00:00
Samuel Pitoiset
7d3062470f
radv/meta: add missing pipeline lookups
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33360 >
2025-02-04 07:52:01 +00:00
Konstantin Seurer
3ab55b3c51
radv/meta: Stop using strings for meta keys
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32881 >
2025-02-03 16:03:49 +01:00
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