From 65191bb35124e14fb815c4508f98f5050ed07d8b Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Sat, 12 Aug 2023 00:00:58 +0200 Subject: [PATCH] radv: declare shader arguments for TCS epilogs Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader_args.c | 9 ++++++++- src/amd/vulkan/radv_shader_args.h | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_shader_args.c b/src/amd/vulkan/radv_shader_args.c index 32986dc84dc..5008bd649ec 100644 --- a/src/amd/vulkan/radv_shader_args.c +++ b/src/amd/vulkan/radv_shader_args.c @@ -773,5 +773,12 @@ radv_declare_tcs_epilog_args(const struct radv_device *device, const struct radv ac_add_arg(&args->ac, AC_ARG_SGPR, 2, AC_ARG_CONST_DESC_PTR, &args->ac.ring_offsets); - /* TODO: declare other arguments. */ + ac_add_arg(&args->ac, AC_ARG_SGPR, 1, AC_ARG_INT, &args->ac.tess_offchip_offset); + ac_add_arg(&args->ac, AC_ARG_SGPR, 1, AC_ARG_INT, &args->ac.tcs_factor_offset); + ac_add_arg(&args->ac, AC_ARG_SGPR, 1, AC_ARG_INT, &args->tcs_offchip_layout); + ac_add_arg(&args->ac, AC_ARG_SGPR, 1, AC_ARG_INT, &args->patch_base); + + ac_add_arg(&args->ac, AC_ARG_VGPR, 1, AC_ARG_INT, &args->tcs_out_current_patch_data_offset); + ac_add_arg(&args->ac, AC_ARG_VGPR, 1, AC_ARG_INT, &args->invocation_id); + ac_add_arg(&args->ac, AC_ARG_VGPR, 1, AC_ARG_INT, &args->rel_patch_id); } diff --git a/src/amd/vulkan/radv_shader_args.h b/src/amd/vulkan/radv_shader_args.h index be820696cb1..c7eece608d9 100644 --- a/src/amd/vulkan/radv_shader_args.h +++ b/src/amd/vulkan/radv_shader_args.h @@ -71,6 +71,12 @@ struct radv_shader_args { struct ac_arg tcs_offchip_layout; struct ac_arg tcs_epilog_pc; + /* TCS epilogs */ + struct ac_arg patch_base; + struct ac_arg tcs_out_current_patch_data_offset; + struct ac_arg invocation_id; + struct ac_arg rel_patch_id; + /* TES */ /* # [0:7] = the number of tessellation patches * # [8:15] = the number of TCS vertices output