mesa/src/amd/vulkan/nir
Alyssa Rosenzweig 6b34e2174e nir: introduce ergonomic tex builder
for intrinsics, we have these really nice builders using designated initializers
+ macros to specify optional indices. texture instrs have even more craziness
involved, but we can do the same trick. this commit takes the existing "fixed
form" deref-centric tex builders and generalizes them to work with non-deref
textures, making it useful also for GL and late VK passes, while providing an
API that strives to be ergonomic and consistent.

this series only implements a subset of possible texture operations for now, but
more generalizing could be added as people have need.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36050>
2025-07-21 12:11:41 +00:00
..
radv_meta_nir.c nir: introduce ergonomic tex builder 2025-07-21 12:11:41 +00:00
radv_meta_nir.h radv: re-run clang-format 2025-07-16 09:10:33 +02:00
radv_nir.h nir: rename nir_lower_io_to_scalar_early -> nir_lower_io_vars_to_scalar 2025-06-26 18:20:49 +00:00
radv_nir_apply_pipeline_layout.c radv: split descriptor set and descriptor utils in separate files 2025-06-27 07:55:37 +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: don't export cull distances if the shader culls against them 2025-07-12 05:20:05 +00:00
radv_nir_lower_cooperative_matrix.c radv/nir/lower_cmat: vectorize GFX11 B -> ACC conversion 2025-07-16 11:46:52 +00:00
radv_nir_lower_fs_barycentric.c radv: re-run clang-format 2025-07-16 09:10:33 +02:00
radv_nir_lower_fs_intrinsics.c radv: re-run clang-format 2025-07-16 09:10:33 +02: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 radv: re-run clang-format 2025-07-16 09:10:33 +02: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: Handle nir_intrinsic_printf 2025-04-10 19:31:37 +00:00
radv_nir_lower_ray_queries.c radv/rt: Implement null acceleration structure in shader code 2025-07-19 21:02:42 +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/nir: lower unassigned vertex attributes to (0,0,0,0) 2025-06-13 07:33:03 +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 radv/nir: update radv_nir_opt_tid for derivative group quads 2025-02-04 08:11:16 +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/rt: Use inv_dir for software ray-triangle tests 2025-07-19 16:35:37 +00:00
radv_nir_rt_common.h radv: Optimize ray tracing position fetch 2025-07-19 16:07:59 +00:00
radv_nir_rt_shader.c radv/rt: Implement null acceleration structure in shader code 2025-07-19 21:02:42 +00:00