mesa/src/amd/vulkan
Timur Kristóf e3a80d9d29 radv: Add support for per-primitive mesh shader outputs.
Generic per-primitive outputs:

They work similarly to other NGG outputs.
In the ISA they are param export instructions that are executed
on the primitive threads. These per-primitive params must be
sorted last among both mesh shader outputs and pixel shader inputs.

PS can read these inputs using the same old VINTRP instructions.
They use the same amount of LDS space as per-vertex PS inputs.

Special per-primitive outputs:

The VRS rate x, y, viewport and layer are special per-primitive
outputs which must go to the second channel of the primitive
export instruction, which is enabled by EN_PRIM_PAYLOAD.

If the PS wants to read these, they must also be exported as
a generic param.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580>
2021-12-31 13:05:09 +00:00
..
layers radv: Add safety check for RGP traces on VanGogh. 2021-12-17 21:25:01 +00:00
winsys radv/amdgpu: Use VkResult for wait_timeline_syncobj. 2021-12-28 15:55:18 +00:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
meson.build radv: Add ETC2 decode shader. 2021-12-14 11:30:48 +00:00
radv_acceleration_structure.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_acceleration_structure.h radv: Add copy/serialization info to accel struct headers. 2021-10-01 13:43:28 +00:00
radv_android.c radv: Remove android build warning. 2021-11-09 20:51:14 +00:00
radv_check_va.py radv: add a Python script to check if a VA was ever valid 2020-12-30 08:40:21 +01:00
radv_cmd_buffer.c radv: fix clears with value of "1" and different DCC signedness 2021-12-28 16:35:51 +00:00
radv_constants.h radv: Add named constants for max framebuffer width/height. 2021-12-05 17:21:32 +00:00
radv_cs.h radv: Format. 2021-04-10 03:31:58 +02:00
radv_debug.c radv: upload shader binaries of a pipeline contiguously in memory 2021-12-02 07:17:04 +00:00
radv_debug.h radv: implement dynamic vertex input state using vertex shader prologs 2021-10-13 05:13:10 +00:00
radv_descriptor_set.c radv: re-apply "Do not access set layout during vkCmdBindDescriptorSets." 2021-12-28 15:56:55 +01:00
radv_descriptor_set.h radv: re-apply "Do not access set layout during vkCmdBindDescriptorSets." 2021-12-28 15:56:55 +01:00
radv_device.c radv: stop checking buffer size in vkCreateBuffer() 2021-12-29 15:03:28 +00:00
radv_formats.c radv: Set up ETC2 emulation wiring. 2021-12-14 11:30:48 +00:00
radv_image.c radv: print number of levels with RADV_DEBUG=img 2021-12-29 15:24:42 +00:00
radv_llvm_helper.cpp radv: Rename radv_shader_helper.h to radv_llvm_helper.h 2021-10-01 10:40:18 +02:00
radv_llvm_helper.h radv: Rename radv_shader_helper.h to radv_llvm_helper.h 2021-10-01 10:40:18 +02:00
radv_meta.c radv: Add ETC2 decode shader. 2021-12-14 11:30:48 +00:00
radv_meta.h radv: Add ETC2 decode shader. 2021-12-14 11:30:48 +00:00
radv_meta_blit.c radv: add radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_blit2d.c radv: add radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_buffer.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_bufimage.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_clear.c radv: re-enable fast clears for images that support comp-to-single 2021-12-28 14:24:40 +00:00
radv_meta_copy.c radv: Add ETC2 decode shader. 2021-12-14 11:30:48 +00:00
radv_meta_copy_vrs_htile.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_dcc_retile.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_decompress.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_etc_decode.c radv: Add ETC2 decode shader. 2021-12-14 11:30:48 +00:00
radv_meta_fast_clear.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_fmask_copy.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_fmask_expand.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_resolve.c radv: fix restoring subpass during hw/fs color resolves 2021-12-28 12:53:12 +00:00
radv_meta_resolve_cs.c radv: initialize workgroup_size in radv_meta_init_shader 2021-12-08 11:07:40 +00:00
radv_meta_resolve_fs.c radv: fix restoring subpass during hw/fs color resolves 2021-12-28 12:53:12 +00:00
radv_nir_lower_ycbcr_textures.c nir: Drop the unused instr arg for src/dest copy functions. 2021-09-14 17:53:06 +00:00
radv_nir_to_llvm.c radv,aco: do not disable anisotropy filtering for non-mipmap images 2021-12-16 07:20:50 +00:00
radv_pass.c radv: Support VK_KHR_dynamic_rendering for pipeline creation. 2021-12-05 17:21:32 +00:00
radv_perfcounter.c radv: add few helpers for configuring performance counters 2021-12-08 08:40:51 +00:00
radv_pipeline.c radv: Add support for per-primitive mesh shader outputs. 2021-12-31 13:05:09 +00:00
radv_pipeline_cache.c radv: upload shader binaries of a pipeline contiguously in memory 2021-12-02 07:17:04 +00:00
radv_pipeline_rt.c radv: Match function definitions to declarations 2021-11-12 09:46:10 +00:00
radv_private.h radv: Add radv_pipeline_has_mesh helper. 2021-12-31 13:05:09 +00:00
radv_query.c radv: Use correct buffer size for query pool result copies. 2021-12-28 15:35:51 +00:00
radv_radeon_winsys.h radv/amdgpu: Use VkResult for wait_timeline_syncobj. 2021-12-28 15:55:18 +00:00
radv_shader.c radv,aco: don't lower some ffma instructions 2021-12-13 11:22:33 +00:00
radv_shader.h radv: Add support for per-primitive mesh shader outputs. 2021-12-31 13:05:09 +00:00
radv_shader_args.c radv: constify radv_shader_info in radv_declare_shader_args() 2021-11-29 10:10:06 +00:00
radv_shader_args.h radv: constify radv_shader_info in radv_declare_shader_args() 2021-11-29 10:10:06 +00:00
radv_shader_info.c radv: Add support for per-primitive mesh shader outputs. 2021-12-31 13:05:09 +00:00
radv_spm.c radv: add initial SPM support on GFX10+ 2021-12-08 08:40:51 +00:00
radv_sqtt.c radv: add initial SPM support on GFX10+ 2021-12-08 08:40:51 +00:00
radv_util.c radv: Switch to the new common vk_error helpers 2021-10-07 20:51:36 +00:00
radv_wsi.c radv: Match function definitions to declarations 2021-11-12 09:46:10 +00:00
radv_wsi_display.c radv: Use the common WSI wrappers 2021-10-13 00:06:15 +00:00
si_cmd_buffer.c radv: Add named constants for max framebuffer width/height. 2021-12-05 17:21:32 +00:00
vk_format.h vulkan: move common format helpers to vk_format 2021-11-19 12:23:19 +01:00
vulkan.sym radv: Add Android module info to linker script. 2021-01-12 20:17:52 +00:00
vulkan_radv.def radv: fix build with mingw 2021-08-13 12:13:21 +02:00