Module: Mesa
Branch: main
Commit: e5d30462c991f9fd8f344a9c896e9a05db3b06e6
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5d30462c991f9fd8f344a9c896e9a05db3b06e6

Author: Samuel Pitoiset <[email protected]>
Date:   Tue Aug 15 11:37:46 2023 +0200

radv: do not inline push constants for non-monolithic shaders

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 <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24697>

---

 src/amd/vulkan/radv_shader_args.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_shader_args.c 
b/src/amd/vulkan/radv_shader_args.c
index 841e1f9bd34..41dc8764b9a 100644
--- a/src/amd/vulkan/radv_shader_args.c
+++ b/src/amd/vulkan/radv_shader_args.c
@@ -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);
 }

Reply via email to