diff options
Diffstat (limited to 'source/slang/slang-emit-vm.cpp')
| -rw-r--r-- | source/slang/slang-emit-vm.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/slang-emit-vm.cpp b/source/slang/slang-emit-vm.cpp index 1602fbfb8..80d3762aa 100644 --- a/source/slang/slang-emit-vm.cpp +++ b/source/slang/slang-emit-vm.cpp @@ -247,6 +247,17 @@ public: operand = addConstantValue(constantInst); mapInstToOperand[inst] = operand; } + else if (auto constantVector = as<IRMakeVector>(inst)) + { + SLANG_ASSERT(constantVector->getOperandCount() > 0); + operand = ensureInst(constantVector->getOperand(0)); + for (UInt i = 1; i < constantVector->getOperandCount(); i++) + { + ensureInst(constantVector->getOperand(i)); + } + operand.size *= (uint32_t)constantVector->getOperandCount(); + mapInstToOperand[inst] = operand; + } else { SLANG_UNEXPECTED("unsupported global inst for vm bytecode emit"); |
