diff options
Diffstat (limited to 'source/slang/slang-ir.cpp')
| -rw-r--r-- | source/slang/slang-ir.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index bd2271953..e624ef1fd 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -2809,6 +2809,13 @@ namespace Slang operands); } + IRVectorType* IRBuilder::getVectorType( + IRType* elementType, + IRIntegerValue elementCount) + { + return getVectorType(elementType, getIntValue(getIntType(), elementCount)); + } + IRMatrixType* IRBuilder::getMatrixType( IRType* elementType, IRInst* rowCount, @@ -4607,6 +4614,13 @@ namespace Slang IRInst* IRBuilder::emitElementExtract( IRInst* base, + IRIntegerValue index) + { + return emitElementExtract(base, getIntValue(getIntType(), index)); + } + + IRInst* IRBuilder::emitElementExtract( + IRInst* base, const ArrayView<IRInst*>& accessChain) { for (auto access : accessChain) @@ -4653,6 +4667,13 @@ namespace Slang IRInst* IRBuilder::emitElementAddress( IRInst* basePtr, + IRIntegerValue index) + { + return emitElementAddress(basePtr, getIntValue(getIntType(), index)); + } + + IRInst* IRBuilder::emitElementAddress( + IRInst* basePtr, IRInst* index) { IRType* type = nullptr; @@ -4726,6 +4747,11 @@ namespace Slang return inst; } + IRInst* IRBuilder::emitUpdateElement(IRInst* base, IRIntegerValue index, IRInst* newElement) + { + return emitUpdateElement(base, getIntValue(getIntType(), index), newElement); + } + IRInst* IRBuilder::emitUpdateElement(IRInst* base, const List<IRInst*>& accessChain, IRInst* newElement) { List<IRInst*> args; |
