Samuel Pitoiset
3c81961c2e
radv: enable DCC fast clears for 8bpp/16bpp on GFX11
...
This was disabled during GFX11 bringup few years ago to follow RadeonSI,
but this is working just fine and RadeonSI also enabled it recently.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33756 >
2025-02-28 08:33:39 +00:00
Samuel Pitoiset
aa476f4b52
radv: check HTILE compression for depth/stencil images per level
...
This might avoid some useless decompression passes/cache levels for
levels that can't be compressed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33665 >
2025-02-28 08:05:14 +00:00
Samuel Pitoiset
77913edd99
radv/meta: remove useless assertion in when copy VRS to HTILE
...
The caller already checks that.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33665 >
2025-02-28 08:05:13 +00:00
Samuel Pitoiset
0f0d471154
radv/meta: inline radv_meta_get_view_layer()
...
The comment for 3D is also incorrect now because meta should never
bind a 3D image to the framebuffer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33758 >
2025-02-28 07:40:56 +00:00
Samuel Pitoiset
7c4a919f19
radv/meta: rename image<->buffer copies helpers
...
They operate on VAs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33599 >
2025-02-19 10:30:36 +00:00
Samuel Pitoiset
89ea983df9
radv/meta: inline radv_copy_buffer()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33599 >
2025-02-19 10:30:36 +00:00
Samuel Pitoiset
a659771e68
radv/meta: use radv_copy_memory() for the FMASK copy
...
The BOs are already added in radv_CmdCopyImage2KHR().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33599 >
2025-02-19 10:30:36 +00:00
Samuel Pitoiset
efa23ef664
radv: fix adding the BO for unaligned SDMA copies to the cmdbuf list
...
It shouldn't be only added at creation time.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33600 >
2025-02-19 07:29:27 +00:00
Samuel Pitoiset
9427df23b4
radv: use radv_image::bindings::addr more
...
Also remove radv_image::bindings::offset.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33524 >
2025-02-18 09:49:14 +01:00
Samuel Pitoiset
50851f17d1
radv/meta: remove the buffer dependency for image copy operations
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33526 >
2025-02-18 08:40:30 +01:00
Samuel Pitoiset
ae5d2bfd36
radv/meta: use radv_copy_memory() instead of radv_copy_buffer()
...
To remove the buffer dependency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33526 >
2025-02-18 08:40:30 +01:00
Samuel Pitoiset
70bd4fe621
radv/meta: pass the buffer addr to SDMA image buffer copy operations
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33526 >
2025-02-18 08:40:30 +01:00
Samuel Pitoiset
6e2da49e92
radv/meta: add BOs to cmdbuf list earlier for image copy operations
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33526 >
2025-02-18 08:40:30 +01:00
Samuel Pitoiset
84ba15eb05
radv/meta: switch to descriptor buffers
...
The main advantage is to use BDA for texel buffer descriptors.
It might also be slightly faster on the CPU.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33505 >
2025-02-17 16:52:49 +01:00
Samuel Pitoiset
e977c6968f
radv/meta: add radv_{copy,fill,update}_memory() helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:48:09 +01:00
Samuel Pitoiset
7aa4c81744
radv: rename fill/copy memory helpers
...
memory seems more appropriate than buffer because they operate on VAs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:47:14 +01:00
Samuel Pitoiset
69bf2a13f8
radv/meta: inline copy_buffer()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:43:30 +01:00
Samuel Pitoiset
5684c1687c
radv/meta: disable conditional rendering for fill/update buffer operations
...
These commands shouldn't be affected by conditional rendering, similar
to the copy buffer operation.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:43:30 +01:00
Samuel Pitoiset
5d6e4d3b25
radv/meta: remove the heuristic that prefers CP DMA for GTT BOs
...
This is actually slower on my side. Tested the copy_buffer/fill_buffer
benchmarks from crucible on NAVI31.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:43:30 +01:00
Timur Kristóf
91c28f67e6
ac/nir: Move surface related NIR functions to separate file.
...
This is to stop including nir related stuff in places that
actually don't need that.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33439 >
2025-02-12 22:33:07 +01:00
Timur Kristóf
df0798a40c
radv: Add missing copyright info to radv_meta_buffer.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
09db738c9a
radv: Move NIR specific function declarations to radv_meta_nir.h
...
Also rename some functions for consistency with other functions,
and slightly change the includes.
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
f6a02d034b
radv: Move NIR helpers from radv_meta.c 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
c093b03213
radv: Move resolve NIR fs 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
b360474821
radv: Move resolve NIR fragment 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
16f6123c1e
radv: Move resolve NIR compute 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
538c391022
radv: Move FMASK expand NIR shader to radv_nir_meta.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
dccf698e1b
radv: Move FMASK copy NIR shader 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
6ceafe2afa
radv: Move DCC decompress NIR shader 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
b6eb2f52ce
radv: Move expand depth stencil NIR shader 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
4837d1c457
radv: Move DCC retile NIR shader 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
113c8d0e77
radv: Move VRS HTILE copy NIR shader 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
ea182f797a
radv: Move clear 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
59517d9aa6
radv: Move buffer-image copy and clear 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
1c3585021c
radv: Move blit2d 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
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