diff options
author | Samuel Pitoiset <[email protected]> | 2018-01-09 18:09:43 +0100 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2018-01-10 12:31:54 +0100 |
commit | d43f50c00b8172abd0c9e934c3e193bdc85b5089 (patch) | |
tree | 450fbbfbe553ea95826d5fc1a24d342b5ab702f2 /src/amd/common/ac_shader_info.c | |
parent | 4e701cf75c89dbe8dd731698f2652beb7863e69b (diff) |
amd/common: do not rely on the pipeline for the push constants logic
It makes more sense to rely on nir_intrinsic_load_push_constant
instead of the pipeline layout.
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/common/ac_shader_info.c')
-rw-r--r-- | src/amd/common/ac_shader_info.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/amd/common/ac_shader_info.c b/src/amd/common/ac_shader_info.c index 27896a26bb4..443980c7d12 100644 --- a/src/amd/common/ac_shader_info.c +++ b/src/amd/common/ac_shader_info.c @@ -76,6 +76,9 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, struct ac_shader_info *info) case nir_intrinsic_load_primitive_id: info->uses_prim_id = true; break; + case nir_intrinsic_load_push_constant: + info->loads_push_constants = true; + break; case nir_intrinsic_vulkan_resource_index: info->desc_set_used_mask |= (1 << nir_intrinsic_desc_set(instr)); break; @@ -154,11 +157,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 && - options->layout->push_constant_stages & (1 << nir->info.stage)) || - options->layout->dynamic_offset_count) - info->needs_push_constants = true; + if (options->layout->dynamic_offset_count) + info->loads_push_constants = true; nir_foreach_variable(variable, &nir->inputs) gather_info_input_decl(nir, options, variable, info); |