summaryrefslogtreecommitdiff
path: root/source/slang/slang-serialize-factory.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-02-15 00:05:51 -0800
committerGitHub <noreply@github.com>2024-02-15 00:05:51 -0800
commit5a623ec227726ad1d988a5d91f55f19b62a98e03 (patch)
tree94a3fd2f00ce1a95035f39cd3571c9e97a70d24e /source/slang/slang-serialize-factory.cpp
parent2ced683f10fb82f63a2e2c3d7b5f099c53bb57b0 (diff)
Support loading serialized modules. (#3588)
* Support loading serialized modules. * Fix. * Fix vs solution files * Fix glsl module loading. * C++ fix. * Fix. * Try fix c++ error. * Try fix. * Fix. * Fix.
Diffstat (limited to 'source/slang/slang-serialize-factory.cpp')
-rw-r--r--source/slang/slang-serialize-factory.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/source/slang/slang-serialize-factory.cpp b/source/slang/slang-serialize-factory.cpp
index 351742e60..5eae5e740 100644
--- a/source/slang/slang-serialize-factory.cpp
+++ b/source/slang/slang-serialize-factory.cpp
@@ -45,6 +45,11 @@ void* DefaultSerialObjectFactory::create(SerialTypeKind typeKind, SerialSubType
return nullptr;
}
+void* DefaultSerialObjectFactory::getOrCreateVal(ValNodeDesc&& desc)
+{
+ return m_astBuilder->_getOrCreateImpl(_Move(desc));
+}
+
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ModuleSerialFilter !!!!!!!!!!!!!!!!!!!!!!!!
SerialIndex ModuleSerialFilter::writePointer(SerialWriter* writer, const RefObject* inPtr)
@@ -65,12 +70,6 @@ SerialIndex ModuleSerialFilter::writePointer(SerialWriter* writer, const NodeBas
NodeBase* ptr = const_cast<NodeBase*>(inPtr);
SLANG_ASSERT(ptr);
- // We don't serialize Scope
- if (as<Scope>(ptr))
- {
- writer->setPointerIndex(inPtr, SerialIndex(0));
- return SerialIndex(0);
- }
if (Decl* decl = as<Decl>(ptr))
{