radv: declare shader arguments for TCS epilogs
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 11 Aug 2023 22:00:58 +0000 (00:00 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 22 Aug 2023 06:10:32 +0000 (06:10 +0000)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24643>

src/amd/vulkan/radv_shader_args.c
src/amd/vulkan/radv_shader_args.h

index 32986dc..5008bd6 100644 (file)
@@ -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);
 }
index be82069..c7eece6 100644 (file)
@@ -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