radv: do not inline push constants for non-monolithic shaders
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 15 Aug 2023 09:37:46 +0000 (11:37 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 25 Aug 2023 07:22:03 +0000 (07:22 +0000)
It's hard to implement this because the function arguments must match
when eg. VS or TCS are compiled separately on GFX9+.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24697>

src/amd/vulkan/radv_shader_args.c

index 841e1f9..41dc876 100644 (file)
@@ -736,7 +736,8 @@ radv_declare_shader_args(const struct radv_device *device, const struct radv_pip
       user_sgpr_info.remaining_sgprs -= num_desc_set;
    }
 
-   allocate_inline_push_consts(info, &user_sgpr_info);
+   if (info->is_monolithic)
+      allocate_inline_push_consts(info, &user_sgpr_info);
 
    declare_shader_args(device, key, info, stage, previous_stage, args, &user_sgpr_info);
 }