diff options
Diffstat (limited to 'source/slang/slang-ir.cpp')
| -rw-r--r-- | source/slang/slang-ir.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index 0a52561c0..57dac80b6 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -3464,6 +3464,55 @@ namespace Slang return inst; } + IRInst* IRBuilder::emitWaveMaskBallot(IRType* type, IRInst* mask, IRInst* condition) + { + auto inst = createInst<IRInst>( + this, + kIROp_WaveMaskBallot, + type, + mask, + condition); + addInst(inst); + return inst; + } + + IRInst* IRBuilder::emitWaveMaskMatch(IRType* type, IRInst* mask, IRInst* value) + { + auto inst = createInst<IRInst>( + this, + kIROp_WaveMaskMatch, + type, + mask, + value); + addInst(inst); + return inst; + } + + IRInst* IRBuilder::emitBitAnd(IRType* type, IRInst* left, IRInst* right) + { + auto inst = createInst<IRInst>( + this, + kIROp_BitAnd, + type, + left, + right); + addInst(inst); + return inst; + } + + IRInst* IRBuilder::emitBitNot(IRType* type, IRInst* value) + { + auto inst = createInst<IRInst>( + this, + kIROp_BitNot, + type, + value); + addInst(inst); + return inst; + } + + + // // Decorations // |
