diff options
author | Billy Laws <[email protected]> | 2023-01-05 19:10:35 +0000 |
---|---|---|
committer | Billy Laws <[email protected]> | 2023-01-05 19:10:39 +0000 |
commit | 86a720d2cf0c81c5f9dc501bef2e4210431c5317 (patch) | |
tree | 78656c40b0a92ac941ffd9b672794cb53615d89e /src/instructions/group.cpp | |
parent | d7ad93a88864bda94e282e95028f90b5784e4d20 (diff) | |
download | sirit-86a720d2cf0c81c5f9dc501bef2e4210431c5317.tar.gz sirit-86a720d2cf0c81c5f9dc501bef2e4210431c5317.zip |
Add OpGroupNonUniformElect, OpGroupNonUniformBroadcastFirst
Diffstat (limited to 'src/instructions/group.cpp')
-rw-r--r-- | src/instructions/group.cpp | 11 |
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 |