diff options
Diffstat (limited to 'source/slang/slang-type-layout.cpp')
| -rw-r--r-- | source/slang/slang-type-layout.cpp | 11 |
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; |
