summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-shader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-shader.cpp')
-rw-r--r--source/slang/slang-check-shader.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/slang-check-shader.cpp b/source/slang/slang-check-shader.cpp
index a84e40768..3a64f3c8f 100644
--- a/source/slang/slang-check-shader.cpp
+++ b/source/slang/slang-check-shader.cpp
@@ -583,6 +583,17 @@ namespace Slang
return varDecl->getName();
}
+ Type* getParamType(ASTBuilder* astBuilder, DeclRef<VarDeclBase> const& paramDeclRef)
+ {
+ auto paramType = getType(astBuilder, paramDeclRef);
+ if (paramDeclRef.getDecl()->findModifier<NoDiffModifier>())
+ {
+ auto modifierVal = static_cast<Val*>(astBuilder->getOrCreate<NoDiffModifierVal>());
+ paramType = astBuilder->getModifiedType(paramType, 1, &modifierVal);
+ }
+ return paramType;
+ }
+
void Module::_collectShaderParams()
{
auto moduleDecl = m_moduleDecl;