summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-use-uninitialized-values.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-ir-use-uninitialized-values.cpp')
-rw-r--r--source/slang/slang-ir-use-uninitialized-values.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/source/slang/slang-ir-use-uninitialized-values.cpp b/source/slang/slang-ir-use-uninitialized-values.cpp
index daa667a0a..200f29d1b 100644
--- a/source/slang/slang-ir-use-uninitialized-values.cpp
+++ b/source/slang/slang-ir-use-uninitialized-values.cpp
@@ -54,7 +54,7 @@ enum ParameterCheckType
static ParameterCheckType isPotentiallyUnintended(IRParam* param, Stage stage, int index)
{
IRType* type = param->getFullType();
- if (auto out = as<IROutType>(param->getFullType()))
+ if (auto out = as<IROutParamType>(param->getFullType()))
{
// Don't check `out Vertices<T>` or `out Indices<T>` parameters
// in mesh shaders.
@@ -75,7 +75,7 @@ static ParameterCheckType isPotentiallyUnintended(IRParam* param, Stage stage, i
return AsOut;
}
- else if (auto inout = as<IRInOutType>(type))
+ else if (auto inout = as<IRBorrowInOutParamType>(type))
{
// TODO: some way to check if the method
// is actually used for autodiff
@@ -263,7 +263,10 @@ static InstructionUsageType getCallUsageType(IRCall* call, IRInst* inst)
// Consider it as a store if its passed
// as an out/inout/ref parameter
auto type = unwrapAttributedType(ftype->getParamType(index));
- return (as<IROutType>(type) || as<IRInOutType>(type) || as<IRRefType>(type)) ? Store : Load;
+ return (as<IROutParamType>(type) || as<IRBorrowInOutParamType>(type) ||
+ as<IRRefParamType>(type))
+ ? Store
+ : Load;
}
static InstructionUsageType getInstructionUsageType(IRInst* user, IRInst* inst)