mirror of
https://git.suyu.dev/suyu/sirit.git
synced 2024-12-22 12:12:05 +00:00
Add OpGroupNonUniformShuffle subgroup op
This commit is contained in:
parent
da4ffce189
commit
661499f6ec
2 changed files with 9 additions and 0 deletions
|
@ -1160,6 +1160,9 @@ public:
|
|||
// the group.
|
||||
Id OpGroupNonUniformBroadcast(Id result_type, Id scope, Id value, Id id);
|
||||
|
||||
// Result is the Value of the invocation identified by the id Id.
|
||||
Id OpGroupNonUniformShuffle(Id result_type, Id scope, Id value, Id id);
|
||||
|
||||
/// Return the value of the invocation identified by the current invocation's id within the
|
||||
/// group xor'ed with mask.
|
||||
Id OpGroupNonUniformShuffleXor(Id result_type, Id scope, Id value, Id mask);
|
||||
|
|
|
@ -42,6 +42,12 @@ Id Module::OpGroupNonUniformBroadcast(Id result_type, Id scope, Id value, Id id)
|
|||
<< id << EndOp{};
|
||||
}
|
||||
|
||||
Id Module::OpGroupNonUniformShuffle(Id result_type, Id scope, Id value, Id id) {
|
||||
code->Reserve(6);
|
||||
return *code << OpId{spv::Op::OpGroupNonUniformShuffle, result_type} << scope << value << id
|
||||
<< EndOp{};
|
||||
}
|
||||
|
||||
Id Module::OpGroupNonUniformShuffleXor(Id result_type, Id scope, Id value, Id mask) {
|
||||
code->Reserve(6);
|
||||
return *code << OpId{spv::Op::OpGroupNonUniformShuffleXor, result_type} << scope << value
|
||||
|
|
Loading…
Reference in a new issue