projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ac/nir: fix translation of nir_op_frsq for doubles
[mesa.git]
/
src
/
amd
/
common
/
ac_shader_info.c
diff --git
a/src/amd/common/ac_shader_info.c
b/src/amd/common/ac_shader_info.c
index 5dac1131bd0783b6de86595374c8f083be746b34..443980c7d1245d06ea1c125e8c9ba1aa45520493 100644
(file)
--- 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_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;
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);
{
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);
nir_foreach_variable(variable, &nir->inputs)
gather_info_input_decl(nir, options, variable, info);