From 71e90a7ba78d0566e3b7da54df48f9af598e4cbb Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 9 Dec 2024 04:47:35 -0800 Subject: Fix reflection for pointer element types. (#5797) * Fix reflection for pointer element types. * Fix. --------- Co-authored-by: Ellie Hermaszewska --- source/slang/slang-type-layout.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/slang/slang-type-layout.cpp b/source/slang/slang-type-layout.cpp index 5e63a7cfd..b54f813dd 100644 --- a/source/slang/slang-type-layout.cpp +++ b/source/slang/slang-type-layout.cpp @@ -4763,7 +4763,16 @@ static TypeLayoutResult _createTypeLayout(TypeLayoutContext& context, Type* type ptrLayout->addResourceUsage(info.kind, info.size); - const auto valueTypeLayout = _createTypeLayout(context, ptrType->getValueType()); + TypeLayoutResult valueTypeLayout; + if (context.rules != &kScalarLayoutRulesImpl_) + { + auto subContext = context.with(&kScalarLayoutRulesImpl_); + valueTypeLayout = _createTypeLayout(subContext, ptrType->getValueType()); + } + else + { + valueTypeLayout = _createTypeLayout(context, ptrType->getValueType()); + } ptrLayout->valueTypeLayout = valueTypeLayout.layout; -- cgit v1.2.3