diff options
author | Samuel Pitoiset <[email protected]> | 2018-01-08 15:19:34 +0100 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2018-01-10 12:35:08 +0100 |
commit | 7145b20afb3eaf40b3b40b9a191d05d7fd23a4cb (patch) | |
tree | a9da1767e7957d153af0d7b6e3e07db1a7d15935 /src | |
parent | a1f1f708c0d3f7ee8fb9ba013aeec1a2d20608d2 (diff) |
amd/common: bump the number of available user SGPRS to 32 on GFX9
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/amd/common/ac_nir_to_llvm.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 840d27e7a8e..932d6480828 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -600,7 +600,9 @@ static void allocate_user_sgprs(struct nir_to_llvm_context *ctx, if (ctx->shader_info->info.loads_push_constants) user_sgpr_info->sgpr_count += 2; - uint32_t remaining_sgprs = 16 - user_sgpr_info->sgpr_count; + uint32_t available_sgprs = ctx->options->chip_class >= GFX9 ? 32 : 16; + uint32_t remaining_sgprs = available_sgprs - user_sgpr_info->sgpr_count; + if (remaining_sgprs / 2 < util_bitcount(ctx->shader_info->info.desc_set_used_mask)) { user_sgpr_info->sgpr_count += 2; user_sgpr_info->indirect_all_descriptor_sets = true; |