aboutsummaryrefslogtreecommitdiffstats
path: root/src/amd/common/ac_nir_to_llvm.h
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2018-02-05 22:54:18 +0100
committerBas Nieuwenhuizen <[email protected]>2018-03-07 21:18:32 +0100
commit97f10934edf8ac02f28fccea0bcbbe9293375357 (patch)
treed0af38ad0594961185a9f8a2ff31a88caa76fd4e /src/amd/common/ac_nir_to_llvm.h
parentc217607b65ae00918ea86454eb59e6ee69c6ea68 (diff)
ac/nir: Add vote_ieq/vote_feq lowering pass.
The old vote_eq implementation supported only booleans, but now we have to support arbitrary values, so use the read_first_invocation intrinsic + ballot. I took this as an opportunity to figure out how easy it was to do this in nir instead of in the nir_to_llvm pass, and it actually turned out pretty okay IMO. Only creating the pass is some extra code. Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/common/ac_nir_to_llvm.h')
-rw-r--r--src/amd/common/ac_nir_to_llvm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.h b/src/amd/common/ac_nir_to_llvm.h
index 870e7f8988c..983189eb93a 100644
--- a/src/amd/common/ac_nir_to_llvm.h
+++ b/src/amd/common/ac_nir_to_llvm.h
@@ -235,4 +235,6 @@ void ac_lower_indirect_derefs(struct nir_shader *nir, enum chip_class);
void ac_nir_translate(struct ac_llvm_context *ac, struct ac_shader_abi *abi,
struct nir_shader *nir);
+bool ac_lower_subgroups(struct nir_shader *shader);
+
#endif /* AC_NIR_TO_LLVM_H */