diff --git a/src/compiler/clc/clc.h b/src/compiler/clc/clc.h index a41c365838e..9e8604c0953 100644 --- a/src/compiler/clc/clc.h +++ b/src/compiler/clc/clc.h @@ -71,6 +71,7 @@ struct clc_optional_features { bool subgroups_ifp; bool subgroups_shuffle; bool subgroups_shuffle_relative; + bool subgroups_ballot; }; struct clc_compile_args { diff --git a/src/compiler/clc/clc_helpers.cpp b/src/compiler/clc/clc_helpers.cpp index 836439fe105..bec802b1317 100644 --- a/src/compiler/clc/clc_helpers.cpp +++ b/src/compiler/clc/clc_helpers.cpp @@ -1001,6 +1001,9 @@ clc_compile_to_llvm_module(LLVMContext &llvm_ctx, if (args->features.subgroups_shuffle_relative) { c->getPreprocessorOpts().addMacroDef("cl_khr_subgroup_shuffle_relative=1"); } + if (args->features.subgroups_ballot) { + c->getPreprocessorOpts().addMacroDef("cl_khr_subgroup_ballot=1"); + } } if (args->features.subgroups_ifp) { assert(args->features.subgroups);