summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-type-layout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-type-layout.cpp')
-rw-r--r--source/slang/slang-type-layout.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/slang-type-layout.cpp b/source/slang/slang-type-layout.cpp
index f7efd4ee4..195e14d79 100644
--- a/source/slang/slang-type-layout.cpp
+++ b/source/slang/slang-type-layout.cpp
@@ -823,6 +823,9 @@ struct HLSLObjectLayoutRulesImpl : ObjectLayoutRulesImpl
case ShaderParameterKind::SamplerState:
return SimpleLayoutInfo(LayoutResourceKind::SamplerState, 1);
+ case ShaderParameterKind::SubpassInput:
+ return SimpleLayoutInfo(LayoutResourceKind::InputAttachmentIndex, 1);
+
case ShaderParameterKind::TextureSampler:
case ShaderParameterKind::MutableTextureSampler:
case ShaderParameterKind::InputRenderTarget:
@@ -3858,6 +3861,14 @@ static TypeLayoutResult _createTypeLayout(
type,
rules);
}
+ else if (auto subpassType = as<SubpassInputType>(type))
+ {
+ ShaderParameterKind kind = ShaderParameterKind::SubpassInput;
+ return createSimpleTypeLayout(
+ rules->GetObjectLayout(kind, context.objectLayoutOptions),
+ type,
+ rules);
+ }
else if (auto atomicType = as<GLSLAtomicUintType>(type))
{
ShaderParameterKind kind = ShaderParameterKind::AtomicUint;