mesa/src/amd/vulkan/nir
Georg Lehmann a2d3cbac2a radv: determine subgroup/wave size early
This means we can actually implement varying subgroup size correctly.
It also means that we implement the implicit SPIR-V 1.6 full subgroups
requirement in compute shaders with cswave32/rtwave32.

In the future it will also allow more optimizations that use the subgroup size.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>

The only somewhat complex case here is GFX10 geometry shaders, if gewave32 is
used. We then only know the subgroup size when is_ngg is decided, as legacy
GS doesn't support wave32.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37294>
2025-09-14 13:21:21 +00:00
..
radv_meta_nir.c radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_meta_nir.h radv/meta: add a pass to clear HiZ surfaces 2025-08-12 13:48:09 +00:00
radv_nir.h radv: set ACCESS_CAN_SPECULATE for smem buffer loads with known good descriptors 2025-08-27 09:45:19 +00:00
radv_nir_apply_pipeline_layout.c radv: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_nir_export_multiview.c treewide: use VARYING_BIT_* 2025-07-04 19:01:04 +00:00
radv_nir_lower_abi.c radv: rename NGG culling user SGPRs 2025-09-01 08:52:55 +00:00
radv_nir_lower_cooperative_matrix.c radv/nir/lower_cmat: clean up GFX11 ACC->B convert 2025-09-09 06:08:55 +00:00
radv_nir_lower_fs_barycentric.c radv: rename rast_prim to vgt_outprim_type everywhere 2025-08-25 12:17:38 +00:00
radv_nir_lower_fs_intrinsics.c treewide: simplify nir_def_rewrite_uses_after 2025-08-01 15:34:24 +00:00
radv_nir_lower_hit_attrib_derefs.c radv/rt: don't split array/struct payload variables 2024-09-24 15:41:04 +00:00
radv_nir_lower_intrinsics_early.c radv: re-run clang-format 2025-07-16 09:10:33 +02:00
radv_nir_lower_io.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
radv_nir_lower_primitive_shading_rate.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
radv_nir_lower_printf.c radv: Rename radv_printf files to radv_debug_nir 2025-08-15 10:32:34 +00:00
radv_nir_lower_ray_queries.c radv: Store parent node IDs inside nodes on GFX12 2025-08-15 13:00:32 +00:00
radv_nir_lower_view_index.c radv/nir_lower_view_index: intrinsic pass 2025-02-24 20:19:10 +00:00
radv_nir_lower_viewport_to_zero.c radv/nir_lower_viewport_to_zero: intrinsic pass 2025-02-24 20:19:10 +00:00
radv_nir_lower_vs_inputs.c radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_nir_opt_access_speculate.c radv: set ACCESS_CAN_SPECULATE for smem buffer loads with known good descriptors 2025-08-27 09:45:19 +00:00
radv_nir_opt_fs_builtins.c radv: Optimize fs builtins using static gfx state 2025-02-17 09:45:15 +00:00
radv_nir_opt_tid_function.c nir: make inverse_ballot 1bit only 2025-09-04 14:03:56 +00:00
radv_nir_remap_color_attachment.c radv: implement VK_KHR_dynamic_rendering_local_read 2024-05-07 10:35:04 +00:00
radv_nir_rt_common.c radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_nir_rt_common.h radv: Store parent node IDs inside nodes on GFX12 2025-08-15 13:00:32 +00:00
radv_nir_rt_shader.c radv: determine subgroup/wave size early 2025-09-14 13:21:21 +00:00