diff options
Diffstat (limited to 'source/slang/slang-check-conformance.cpp')
| -rw-r--r-- | source/slang/slang-check-conformance.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/slang/slang-check-conformance.cpp b/source/slang/slang-check-conformance.cpp index 499b409ea..71b87f447 100644 --- a/source/slang/slang-check-conformance.cpp +++ b/source/slang/slang-check-conformance.cpp @@ -347,9 +347,16 @@ TypeTag SemanticsVisitor::getTypeTags(Type* type) if (auto parameterGroupType = as<UniformParameterGroupType>(type)) { auto elementTags = getTypeTags(parameterGroupType->getElementType()); - elementTags = (TypeTag)((int)elementTags & ~(int)TypeTag::Unsized); + elementTags = (TypeTag)(((int)elementTags & ~(int)TypeTag::Unsized) | (int)TypeTag::Opaque); return elementTags; } + else if ( + as<UntypedBufferResourceType>(type) || as<ResourceType>(type) || + as<SamplerStateType>(type) || as<HLSLStructuredBufferTypeBase>(type) || + as<DynamicResourceType>(type)) + { + return TypeTag::Opaque; + } else if (auto declRefType = as<DeclRefType>(type)) { if (auto aggTypeDecl = as<AggTypeDecl>(declRefType->getDeclRef())) |
