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

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

radv: force indirect descriptor sets for non-monolithic shaders

When VS and TCS are compiled separately on GFX9+, we can't know how
many descriptor sets are used for both stages and the function
arguments must match.

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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_shader_args.c 
b/src/amd/vulkan/radv_shader_args.c
index 41dc8764b9a..e3421e87d67 100644
--- a/src/amd/vulkan/radv_shader_args.c
+++ b/src/amd/vulkan/radv_shader_args.c
@@ -729,7 +729,7 @@ radv_declare_shader_args(const struct radv_device *device, 
const struct radv_pip
 
    uint32_t num_desc_set = util_bitcount(info->desc_set_used_mask);
 
-   if (remaining_sgprs < num_desc_set) {
+   if (!info->is_monolithic || remaining_sgprs < num_desc_set) {
       user_sgpr_info.indirect_all_descriptor_sets = true;
       user_sgpr_info.remaining_sgprs--;
    } else {

Reply via email to