[Mesa-dev] [PATCH v3 3/4] radv: keep track of the number of remaining user SGPRs

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Feb 5 19:22:00 UTC 2019


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/vulkan/radv_nir_to_llvm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c
index dbeae2aafde..29300aeab9f 100644
--- a/src/amd/vulkan/radv_nir_to_llvm.c
+++ b/src/amd/vulkan/radv_nir_to_llvm.c
@@ -588,6 +588,7 @@ set_loc_desc(struct radv_shader_context *ctx, int idx, uint8_t *sgpr_idx)
 struct user_sgpr_info {
 	bool need_ring_offsets;
 	bool indirect_all_descriptor_sets;
+	uint8_t remaining_sgprs;
 };
 
 static bool needs_view_index_sgpr(struct radv_shader_context *ctx,
@@ -701,6 +702,9 @@ static void allocate_user_sgprs(struct radv_shader_context *ctx,
 
 	if (remaining_sgprs < num_desc_set) {
 		user_sgpr_info->indirect_all_descriptor_sets = true;
+		user_sgpr_info->remaining_sgprs = remaining_sgprs - 1;
+	} else {
+		user_sgpr_info->remaining_sgprs = remaining_sgprs - num_desc_set;
 	}
 }
 
-- 
2.20.1



More information about the mesa-dev mailing list