From 0c4a30eb51d0affe85ff9bd80b733ca5285221e1 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 18 Dec 2017 19:38:58 +0100 Subject: [PATCH] radv: do not add extra SGPR when push constants are not used This is not because the vertex stage needs some push constants that other stages need them too. This should reduce the number of loaded SGPRs in some situations. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/common/ac_shader_info.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/common/ac_shader_info.c b/src/amd/common/ac_shader_info.c index 6aadb5032e2..ab5388fb53f 100644 --- a/src/amd/common/ac_shader_info.c +++ b/src/amd/common/ac_shader_info.c @@ -149,7 +149,8 @@ ac_nir_shader_info_pass(struct nir_shader *nir, struct nir_function *func = (struct nir_function *)exec_list_get_head(&nir->functions); info->needs_push_constants = false; - if (options->layout->push_constant_size || + if ((options->layout->push_constant_size && + options->layout->push_constant_stages & (1 << nir->info.stage)) || options->layout->dynamic_offset_count) info->needs_push_constants = true; -- 2.30.2