aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/instructions/group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/instructions/group.cpp')
-rw-r--r--src/instructions/group.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/instructions/group.cpp b/src/instructions/group.cpp
index 3b6f71a..b853284 100644
--- a/src/instructions/group.cpp
+++ b/src/instructions/group.cpp
@@ -36,6 +36,17 @@ Id Module::OpSubgroupAllEqualKHR(Id result_type, Id predicate) {
return *code << OpId{spv::Op::OpSubgroupAllEqualKHR, result_type} << predicate << EndOp{};
}
+Id Module::OpGroupNonUniformElect(Id result_type, Id scope) {
+ code->Reserve(4);
+ return *code << OpId{spv::Op::OpGroupNonUniformElect, result_type} << scope << EndOp{};
+}
+
+Id Module::OpGroupNonUniformBroadcastFirst(Id result_type, Id scope, Id value) {
+ code->Reserve(5);
+ return *code << OpId{spv::Op::OpGroupNonUniformBroadcastFirst, result_type} << scope << value
+ << EndOp{};
+}
+
Id Module::OpGroupNonUniformBroadcast(Id result_type, Id scope, Id value, Id id) {
code->Reserve(6);
return *code << OpId{spv::Op::OpGroupNonUniformBroadcast, result_type} << scope << value