summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-array-reg-to-mem.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-10-02 15:39:34 -0700
committerGitHub <noreply@github.com>2023-10-02 15:39:34 -0700
commitd87493a46c00be37b820a473c0827bbb865eb222 (patch)
tree33155e6be017238e07314f7793423dd50b748150 /source/slang/slang-ir-array-reg-to-mem.cpp
parentcea230bc686ef87db4cff47e367bbf824b90377d (diff)
More direct-SPIRV fixes. (#3257)
* More direct-SPIRV fixes. * Fix array-reg-to-mem. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-array-reg-to-mem.cpp')
-rw-r--r--source/slang/slang-ir-array-reg-to-mem.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/source/slang/slang-ir-array-reg-to-mem.cpp b/source/slang/slang-ir-array-reg-to-mem.cpp
index 6f749f242..34bd5b148 100644
--- a/source/slang/slang-ir-array-reg-to-mem.cpp
+++ b/source/slang/slang-ir-array-reg-to-mem.cpp
@@ -33,9 +33,9 @@ namespace Slang
if (auto arrayType = as<IRArrayTypeBase>(param->getFullType()))
{
changed = true;
- builder.setInsertBefore(param);
auto ptrArrayType = builder.getPtrType(arrayType);
- auto newParam = builder.emitParam(ptrArrayType);
+ auto newParam = builder.createParam(ptrArrayType);
+ newParam->insertBefore(param);
setInsertAfterOrdinaryInst(&builder, param);
auto regVal = builder.emitLoad(newParam);
param->replaceUsesWith(regVal);
@@ -62,6 +62,7 @@ namespace Slang
for (auto paramId : arrayParamIds)
{
auto arg = call->getArg(paramId);
+ SLANG_ASSERT(as<IRPtrTypeBase>(paramTypes[paramId]));
auto var = builder.emitVar(as<IRPtrTypeBase>(paramTypes[paramId])->getValueType());
builder.emitStore(var, arg);
call->setArg(paramId, var);