From a2a7c4d988b2b7126130d9dcbe4ec94e1ce8424b Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 2 Sep 2020 12:21:28 -0700 Subject: Allow unspecialized existential shader parameters (dynamic dispatch). (#1529) * Allow unspecialized existential shader parameters (dynamic dispatch). * Fixes. * Fixes * disable cuda test --- source/slang/slang.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source/slang/slang.cpp') diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 889ac8203..b9381eec3 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -623,6 +623,20 @@ SLANG_NO_THROW slang::TypeLayoutReflection* SLANG_MCALL Linkage::getTypeLayout( return asExternal(typeLayout); } +SLANG_NO_THROW SlangResult SLANG_MCALL Linkage::getTypeRTTIMangledName( + slang::TypeReflection* type, ISlangBlob** outNameBlob) +{ + auto internalType = asInternal(type); + if (auto declRefType = as(internalType)) + { + auto name = getMangledName(internalType->getASTBuilder(), declRefType->declRef); + Slang::ComPtr blob = Slang::StringUtil::createStringBlob(name); + *outNameBlob = blob.detach(); + return SLANG_OK; + } + return SLANG_FAIL; +} + SLANG_NO_THROW SlangResult SLANG_MCALL Linkage::getTypeConformanceWitnessMangledName( slang::TypeReflection* type, slang::TypeReflection* interfaceType, ISlangBlob** outNameBlob) { -- cgit v1.2.3