Samuel Pitoiset
d776f3d3f9
radv: allow VK_EXT_vertex_input_dynamic_state with DGC
...
It should be supported now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29831 >
2024-08-14 07:47:12 +00:00
Samuel Pitoiset
55b497ef19
radv: add support for dynamic vertex input state with DGC
...
DGC preprocessing is disabled for VBOs, so the dynamic vertex input
should always be initialized. Null VBO descriptors are slightly
different when used with dynamic VS inputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29831 >
2024-08-14 07:47:12 +00:00
Samuel Pitoiset
d8861d52a2
radv: add a helper to set shader stage key robustness info
...
For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30643 >
2024-08-14 07:25:03 +00:00
Samuel Pitoiset
7a5b40a2ff
radv: cleanup robustness with vk_pipeline_robustness_state_fill()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30643 >
2024-08-14 07:25:03 +00:00
Samuel Pitoiset
cdf21c5ce5
radv: fix handling view index from device index
...
This feature is marginal but VKCTS recently got coverage and most of
the implementations were broken, including RADV.
Fixes recent tests
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.other.view_index_from_device_index_.*
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30642 >
2024-08-14 06:54:03 +00:00
Samuel Pitoiset
5d367aba7b
radv: stop re-initializing HTILE for non-compressed to compressed transitions
...
Decompressing HTILE should also reset the HTILE metadata to initial
state which means that re-initializing it for non-compressed to
compressed transitions is redundant.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30122 >
2024-08-13 06:16:03 +00:00
Friedrich Vock
70fc5987d4
radv/rt: Don't atomicAdd local prefix sums
...
This only gets written to by one invocation at a time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30483 >
2024-08-09 18:12:52 +00:00
Friedrich Vock
a3df3ebab4
radv/rt: Only do ploc atomicCompSwap once per workgroup
...
There is no need to do this for every invocation in the wave.
Improves GravityMark scores by 5%.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30483 >
2024-08-09 18:12:52 +00:00
Timur Kristóf
f917b81665
radv: Stop assigning linked driver locations.
...
The ac/nir passes are now able to map memory locations for the I/O
intrinsics without relying on driver location (intrinsic base).
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29812 >
2024-08-08 16:55:02 +00:00
Timur Kristóf
6d83389a39
ac/nir/esgs: Add gs_inputs_read to ES output lowering.
...
This commit just adds the field, it will be taken into use
in a following commit.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29812 >
2024-08-08 16:55:02 +00:00
Timur Kristóf
b5f53fdf32
ac/nir/tess: Add tcs_inputs_read to LS output lowering.
...
This commit just adds the field, it will be taken into use
in a following commit.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29812 >
2024-08-08 16:55:02 +00:00
Timur Kristóf
a8d78f889e
radv: Add gs/hs_inputs_read field for linked LS and ES.
...
This will be used in the following commits to determine the
memory locations for LS/HS and ES/GS linking.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29812 >
2024-08-08 16:55:02 +00:00
Alyssa Rosenzweig
048173a55a
radv: use glsl function name for dFdxfine
...
since fddx isn't a name used anywhere now
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30565 >
2024-08-08 15:26:07 +00:00
Alyssa Rosenzweig
530498cb83
treewide: use new-style derivative builders
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30565 >
2024-08-08 15:26:07 +00:00
Georg Lehmann
97aa3464b9
radv/rt: remove one VALU from traversal loop
...
Not much, but something, I guess?
Foz-DB Navi31:
Totals from 93 (0.12% of 79395) affected shaders:
MaxWaves: 1338 -> 1354 (+1.20%)
Instrs: 3689907 -> 3689721 (-0.01%); split: -0.01%, +0.00%
CodeSize: 18921812 -> 18922920 (+0.01%); split: -0.00%, +0.01%
VGPRs: 9012 -> 8988 (-0.27%)
Latency: 23153748 -> 23167640 (+0.06%)
InvThroughput: 4490882 -> 4493136 (+0.05%)
Copies: 287888 -> 287728 (-0.06%)
VALU: 2022082 -> 2021916 (-0.01%)
SALU: 458904 -> 459064 (+0.03%)
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30342 >
2024-07-25 20:24:23 +00:00
Marek Olšák
709ebd8293
amd: expose nir_io_mix_convergent_flat_with_interpolated
...
The drivers need to invert how they gather flat inputs.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29895 >
2024-07-23 16:13:17 +00:00
Marek Olšák
b2d32ae246
nir: add nir_intrinsic_load_per_primitive_input, split from io_semantics flag
...
Instead of having 1 bit in nir_io_semantics indicating a per-primitive
FS input, add a dedicated intrinsic for it.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29895 >
2024-07-23 16:13:16 +00:00
Samuel Pitoiset
1846eed38b
radv/meta: create the layout for clear depth/stencil on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
7c62f53b83
radv/meta: rework getting depth stencil clear pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
cfd9d550d8
radv/meta: create the layout for clear color on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
dd188b7e77
radv/meta: rework getting clear color pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
2af57b1cac
radv/meta: create the louts for DCC comp-to-single clear on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
6c6dae59fb
radv/meta: create the layouts for compute resolve on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
fd5526fd87
radv/meta: create the layouts for FMASK expand on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
4f3f3ccd0d
radv/meta: create the layouts for FMASK copy on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
40724a657a
radv/meta: create the layouts for depth decompress on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
e7eb201e18
radv/meta: create the layouts for FS resolve pipelines on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
fc30915637
radv/meta: create the layouts for blit pipelines on-demand
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
5361a50d54
radv/meta: stop creating similar pipeline layouts for depth decompress
...
Only the pipeline depends on the number of samples.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
5b7459d0fa
radv/meta: remove unnecessary goto
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
c96f2c5e3d
radv/meta: stop checking that creating NIR shaders failed
...
This shouldn't happen in practice.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30262 >
2024-07-19 14:53:44 +00:00
Samuel Pitoiset
65acc81e9d
radv: fix shaders cache corruption with indirect pipeline binds
...
Indirect pipeline binds force indirect descriptor sets and this needs
to be in the shader stage key, otherwise two shaders might result in
the same pipeline cache key.
Fixes: b1ba02e707 ("radv: force using indirect descriptor sets for indirect compute pipelines")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30209 >
2024-07-19 06:52:21 +00:00
Samuel Pitoiset
3fba270907
radv/meta: create clear r32g32b32 pipelines on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
5933d2274b
radv/meta: add a helper to create clear r32g32b32 pipeline
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
9a3f00e7e6
radv/meta: create clear pipeliones on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
7bda80f08b
radv/meta: update the helper that creates clear pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
b406121d22
radv/meta: create itoi r32g32b32 pipelines on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
2e21c4098f
radv/meta: add a helper to create itoi r32g32b32 pipeline
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
ef2af61300
radv/meta: create itoi pipelines on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
e47dffb100
radv/meta: update the helper that creates itoi pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
bb745776b7
radv/meta: create btoi r32g32b32 pipeline on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
010e2c373b
radv/meta: add a helper to create btoi r32g32b32 pipeline
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
b68b9b1677
radv/meta create btoi pipelines on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
3332de3640
radv/meta: add a helper to create btoi pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
c23ec1a7c3
radv/meta: create itob pipelines on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
0cdd230772
radv/meta: add a helper to create itob pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30248 >
2024-07-18 17:27:46 +02:00
Samuel Pitoiset
9a2730d9a5
radv/meta: create DCC comp-to-single pipelines on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30244 >
2024-07-18 14:55:05 +00:00
Samuel Pitoiset
72fa7a0449
radv/meta: create clear HTILE mask pipeline on-demand when needed
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30244 >
2024-07-18 14:55:05 +00:00
Samuel Pitoiset
f8a434bb93
radv/meta: rework creating clear HTILE mask pipeline
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30244 >
2024-07-18 14:55:05 +00:00
Samuel Pitoiset
e5f3d8d24e
radv/meta: rework creating DCC decompress compute pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30244 >
2024-07-18 14:55:05 +00:00