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