aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorReinUsesLisp <[email protected]>2019-11-10 21:15:45 -0300
committerReinUsesLisp <[email protected]>2019-11-10 21:15:45 -0300
commit71b53b855a2a5427c8e1e91559b3d39c21f7437d (patch)
tree66d8f54a1aef0c5677adc550f2c651276a5bde5b /include
parent688d6d9799b33787506a768b5cf10b392e226567 (diff)
downloadsirit-71b53b855a2a5427c8e1e91559b3d39c21f7437d.tar.gz
sirit-71b53b855a2a5427c8e1e91559b3d39c21f7437d.zip
Add OpSubgroupBallotKHR and vote instructions
Diffstat (limited to 'include')
-rw-r--r--include/sirit/sirit.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/sirit/sirit.h b/include/sirit/sirit.h
index 7b68757..aa6b976 100644
--- a/include/sirit/sirit.h
+++ b/include/sirit/sirit.h
@@ -941,11 +941,24 @@ public:
// Group
+ /// Computes a bitfield value combining the Predicate value from all invocations in the current
+ /// Subgroup that execute the same dynamic instance of this instruction.
+ Id OpSubgroupBallotKHR(Id result_type, Id predicate);
+
/// Return the value from the invocation in the subgroup with an invocation ID equal to index.
/// The index must be the same for all active invocations in the subgroup, otherwise the results
/// are undefined.
Id OpSubgroupReadInvocationKHR(Id result_type, Id value, Id index);
+ /// TBD
+ Id OpSubgroupAllKHR(Id result_type, Id predicate);
+
+ /// TBD
+ Id OpSubgroupAnyKHR(Id result_type, Id predicate);
+
+ /// TBD
+ Id OpSubgroupAllEqualKHR(Id result_type, Id predicate);
+
/// 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, spv::Scope scope, Id value, Id mask);