X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Famd%2Fcommon%2Fac_shader_info.c;h=443980c7d1245d06ea1c125e8c9ba1aa45520493;hb=24575c815c3a8bf3457b54077b93baa5fd73c7f2;hp=5dac1131bd0783b6de86595374c8f083be746b34;hpb=3b2cb2f99ae8f82dd172f8486753637ae580d571;p=mesa.git diff --git a/src/amd/common/ac_shader_info.c b/src/amd/common/ac_shader_info.c index 5dac1131bd0..443980c7d12 100644 --- a/src/amd/common/ac_shader_info.c +++ b/src/amd/common/ac_shader_info.c @@ -73,6 +73,12 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, struct ac_shader_info *info) case nir_intrinsic_load_invocation_id: info->uses_invocation_id = true; break; + 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; @@ -151,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);