Konstantin Seurer
9fe34a3204
radv: Remove uses_dynamic_rt_callable_stack
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28619 >
2024-05-28 12:23:45 +00:00
Konstantin Seurer
1038f48dd1
radv: Replace is_rt_shader with RADV_SHADER_TYPE_RT_PROLOG
...
The flag was only used for identifying the rt prolog.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28619 >
2024-05-28 12:23:45 +00:00
Rhys Perry
8bc03668e1
radv/gfx12: don't add workgroup id shader args
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29330 >
2024-05-28 10:52:11 +00:00
Samuel Pitoiset
a9f4931a91
ac,radv,radeonsi: a function that sets mutable CB surface fields
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29378 >
2024-05-28 08:49:53 +00:00
Konstantin Seurer
28be0cca45
radv: Add locking to radv_replay_shader_arena_block
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29169 >
2024-05-28 07:11:02 +00:00
Konstantin Seurer
9b932aadf4
radv: Remove radv_cmd_dirty_dynamic_bits
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29345 >
2024-05-27 20:34:36 +00:00
Samuel Pitoiset
07c6fdb878
radv: use the common helper for initializing CB surfaces
...
This adds GFX12 support implicitly.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29342 >
2024-05-27 17:04:26 +02:00
Samuel Pitoiset
1935e63545
radv: align DCC control settings to RadeonSI for GFX8
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29342 >
2024-05-27 17:04:26 +02:00
Rhys Perry
c9f5152ddd
radv: malloc graphics pipeline stages
...
This uses a lot of stack, which is apparently a problem for musl libc.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29379 >
2024-05-27 10:22:45 +00:00
Samuel Pitoiset
3c5173aabf
ac,radv: add a stride parameter to ac_build_attr_ring_descriptor()
...
For RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29385 >
2024-05-27 08:17:58 +02:00
Samuel Pitoiset
003d49c0bc
ac,radv,radeonsi: add a function to translate texture data format
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29301 >
2024-05-24 17:04:54 +02:00
Samuel Pitoiset
e1997226da
radv: use PIPE_FORMAT in radv_translate_tex_dataformat()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29301 >
2024-05-24 17:04:54 +02:00
Samuel Pitoiset
7785a63fc0
amd/common: add ac_gpu_info::has_etc_support
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29301 >
2024-05-24 17:04:54 +02:00
Marek Olšák
ad07ea3162
amd: enable 32B minimum DCC block size for gfx1151
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29313 >
2024-05-24 13:48:28 +00:00
Samuel Pitoiset
cd5f980d51
ac,radv,radeonsi: move ZRANGE_PRECISION to mutable DS fields
...
The DS surfaces are now completely configured in common code.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29349 >
2024-05-24 11:48:32 +00:00
Samuel Pitoiset
332a06903d
ac,radv,radeonsi: a function that sets mutable DS surface fields
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29349 >
2024-05-24 11:48:32 +00:00
Samuel Pitoiset
1a08fa6150
ac,radv,radeonsi: add function to get the number of ZPLANES
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29349 >
2024-05-24 11:48:32 +00:00
Samuel Pitoiset
709452b9d1
radv: do not check image usage for ITERATE256 with TC-compat HTILE
...
This is redundant because TC-compat HTILE is only enabled for images
that are readable by shaders.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29349 >
2024-05-24 11:48:32 +00:00
Samuel Pitoiset
dcfa351af3
radv: only enable DB_STENCIL_INFO.ITERATE_FLUSH when necessary
...
When no HTILE for stencil this shouldn't be neessary.
This also matches RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29349 >
2024-05-24 11:48:32 +00:00
Samuel Pitoiset
ed30b320c8
radv: use the common helper for initializing DS surfaces
...
This adds GFX12 support implicitly.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29329 >
2024-05-23 15:47:14 +00:00
Samuel Pitoiset
e1da1c891c
radv: separate non-mutable vs mutable fields for ds surface
...
RADV doesn't really have a concept of mutable fields but RadeonSI does.
Separate setting those fields to introduce common helpers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29329 >
2024-05-23 15:47:14 +00:00
Samuel Pitoiset
55be5868c5
radv: tidy up radv_initialise_ds_surface()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29329 >
2024-05-23 15:47:14 +00:00
Samuel Pitoiset
e9a390cb94
radv: replace db_{z,stencil}_{read,write}_base by db_{depth,stencil}_base
...
Both read/write register values are similar.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29329 >
2024-05-23 15:47:14 +00:00
Samuel Pitoiset
2867a07922
radv: fix setting a custom pitch for CB on GFX10_3+
...
The gfx_level check was missing the version...
Found by inspection.
Fixes: 3f7ddaf281 ("radv: implement setting a custom pitch to any multiple of 256B on gfx10.3+"
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29331 >
2024-05-23 06:10:07 +00:00
Samuel Pitoiset
f458b0fc4b
radv: replace vk_to_non_srgb_format() by vk_format_no_srgb()
...
Similar but it handles more formats.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29322 >
2024-05-22 16:34:17 +00:00
Samuel Pitoiset
bab26a239e
radv: simplify radv_is_vertex_buffer_format_supported()
...
ac_translate_buffer_dataformat() already handles everything correctly.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29322 >
2024-05-22 16:34:17 +00:00
Samuel Pitoiset
e7016fb7a6
radv: remove useless check about FIXED formats
...
There are no FIXED formats in Vulkan.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29322 >
2024-05-22 16:34:17 +00:00
Samuel Pitoiset
33e558f64a
radv: remove unused radv_translate_buffer_dataformat()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29322 >
2024-05-22 16:34:17 +00:00
Timur Kristóf
3963e4b53a
radv: Fix TCS -> TES I/O linking typo of VARYING_SLOT vs. BIT.
...
In these bitwise expressions, VARYING_BIT_* should be used,
but the code mistakenly used VARYING_SLOT_* which is wrong.
Fixes: 0e481a4adc
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29327 >
2024-05-22 14:39:49 +00:00
Friedrich Vock
db564a40b3
radv: Use max_se instead of num_se where appropriate
...
Scratch allocation needs to happen using max_se, otherwise there can be
hangs.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29202 >
2024-05-22 10:35:01 +00:00
Samuel Pitoiset
074f3cfe73
radv: use new common helpers for building buffer descriptor
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29268 >
2024-05-22 08:31:39 +00:00
Samuel Pitoiset
3224fd706c
amd/common: only pass gfx_level to ac_get_gfx10_format_table()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29268 >
2024-05-22 08:31:39 +00:00
Samuel Pitoiset
64fefc1179
ac,radv,radeonsi: add a common helper for translating swizzle
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29268 >
2024-05-22 08:31:39 +00:00
Samuel Pitoiset
2487a87552
ac,radv,radeonsi: add function to determine if alpha should be on MSB
...
The only difference for RADV is that the helper now converts SRGB
formats to non-SRGB but that shouldn't change anything in practice.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29308 >
2024-05-22 08:17:31 +02:00
Samuel Pitoiset
179f4ed414
radv: adjust determining if alpha should be on MSB
...
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29308 >
2024-05-22 08:14:56 +02:00
Samuel Pitoiset
68c4d26691
radv: only set ALPHA_IS_ON_MSB if the image has DCC on GFX6-9
...
This is technically incorrect to only check meta_offset which might be
non-zero for CMASK/FMASK but this applies to DCC only.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29308 >
2024-05-22 08:14:56 +02:00
Timur Kristóf
0e0c2574d1
radv: Add shader stats for inputs and outputs.
...
These new stats report the combined inputs and outputs of
graphics stages stages where applicable.
Task -> Mesh payload is not included.
This is useful for reporting the effects of any shader
optimizations which affect linking.
Signed-off-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/29209 >
2024-05-21 20:37:05 +00:00
Timur Kristóf
590fff6906
radv: Add TES num_linked_patch_inputs.
...
Not needed by actual driver functionality, but will be
used for reporting I/O stats.
Signed-off-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/29209 >
2024-05-21 20:37:05 +00:00
Samuel Pitoiset
bb09fac659
ac,radv,radeonsi: add a function for getting border color swizzle
...
The swizzle for 8-bit stencil shuld be also fine on RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29307 >
2024-05-21 19:12:52 +00:00
Marek Olšák
7952e4fc7a
ac: move radv_mem_vectorize_callback to common code
...
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29282 >
2024-05-21 18:20:30 +00:00
Samuel Pitoiset
26cd3a1718
ac,radv,radeonsi: add a helper to set mutable tex desc fields
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29286 >
2024-05-21 16:41:40 +00:00
Samuel Pitoiset
7523c1ec57
radv: stop clearing unnecessary bitfields in radv_set_mutable_tex_desc_fields()
...
They should already be zero because nothing else sets them before.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29286 >
2024-05-21 16:41:40 +00:00
Samuel Pitoiset
d09afbdebc
radv: set ITERATE_256 for GFX10+ in radv_set_mutable_tex_desc_fields()
...
To be closer to the RadeonSI helper. This doesn't change anything for
RADV because images are required to be bound at image view creation.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29286 >
2024-05-21 16:41:40 +00:00
Samuel Pitoiset
fb37ea092d
radv: tidy up meta_va in radv_set_mutable_tex_desc_fields()
...
To be closer to the RadeonSI helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29286 >
2024-05-21 16:41:40 +00:00
Samuel Pitoiset
8adb326f59
radv: tidy up custom pitch for gfx10.3 in radv_set_mutable_tex_desc_fields()
...
To be closer to the RadeonSI helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29286 >
2024-05-21 16:41:40 +00:00
Samuel Pitoiset
d1fa5ffab0
radv: tidy up swizzle in radv_set_mutable_tex_desc_fields()
...
To be closer to the RadeonSI helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29286 >
2024-05-21 16:41:40 +00:00
Samuel Pitoiset
81e927ea05
ac,radv,radeonsi: add a helper to get the tile mode index
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29286 >
2024-05-21 16:41:40 +00:00
Samuel Pitoiset
72485fe592
radv: set image view descriptors as buffer for non-graphics GPU
...
Ported from RadeonSI, for CDNA.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29286 >
2024-05-21 16:41:40 +00:00
Georg Lehmann
cc404d45ff
aco: remove perfwarn
...
This didn't do anything useful.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29270 >
2024-05-21 13:31:23 +00:00
Samuel Pitoiset
97962f2a34
radv: mark some formats as unsupported on GFX8/CARRIZO
...
Ported from RadeonSI, untested.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29288 >
2024-05-21 06:34:06 +00:00