diff options
| author | Yong He <yonghe@outlook.com> | 2024-11-08 16:19:31 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-08 16:19:31 -0800 |
| commit | 5ca37c316a9ea1833907bae497734054dfa3c3cb (patch) | |
| tree | 6aec7069ca410fd6d2426c36ef102303512c28e3 /source/slang-wasm/slang-wasm-bindings.cpp | |
| parent | 7c414463063b979afb0b5184a48a13fcaf5b8af7 (diff) | |
Use automatic coarse grained memory management in wasm binding. (#5528)
Diffstat (limited to 'source/slang-wasm/slang-wasm-bindings.cpp')
| -rw-r--r-- | source/slang-wasm/slang-wasm-bindings.cpp | 42 |
1 files changed, 11 insertions, 31 deletions
diff --git a/source/slang-wasm/slang-wasm-bindings.cpp b/source/slang-wasm/slang-wasm-bindings.cpp index e980cd608..346fe8a04 100644 --- a/source/slang-wasm/slang-wasm-bindings.cpp +++ b/source/slang-wasm/slang-wasm-bindings.cpp @@ -9,45 +9,36 @@ EMSCRIPTEN_BINDINGS(slang) { constant("SLANG_OK", SLANG_OK); - function( - "createGlobalSession", - &slang::wgsl::createGlobalSession, - return_value_policy::take_ownership()); - function("getLastError", &slang::wgsl::getLastError); - function( - "getCompileTargets", - &slang::wgsl::getCompileTargets, - return_value_policy::take_ownership()); + function("getCompileTargets", &slang::wgsl::getCompileTargets); class_<slang::wgsl::GlobalSession>("GlobalSession") .function( "createSession", &slang::wgsl::GlobalSession::createSession, - return_value_policy::take_ownership()); + allow_raw_pointers()); + + function("createGlobalSession", &slang::wgsl::createGlobalSession, allow_raw_pointers()); class_<slang::wgsl::Session>("Session") .function( "loadModuleFromSource", &slang::wgsl::Session::loadModuleFromSource, - return_value_policy::take_ownership()) + allow_raw_pointers()) .function( "createCompositeComponentType", &slang::wgsl::Session::createCompositeComponentType, - return_value_policy::take_ownership()); + allow_raw_pointers()); class_<slang::wgsl::ComponentType>("ComponentType") - .function("link", &slang::wgsl::ComponentType::link, return_value_policy::take_ownership()) + .function("link", &slang::wgsl::ComponentType::link, allow_raw_pointers()) .function("getEntryPointCode", &slang::wgsl::ComponentType::getEntryPointCode) .function("getEntryPointCodeBlob", &slang::wgsl::ComponentType::getEntryPointCodeBlob) .function("getTargetCodeBlob", &slang::wgsl::ComponentType::getTargetCodeBlob) .function("getTargetCode", &slang::wgsl::ComponentType::getTargetCode) .function("getLayout", &slang::wgsl::ComponentType::getLayout, allow_raw_pointers()) - .function( - "loadStrings", - &slang::wgsl::ComponentType::loadStrings, - return_value_policy::take_ownership()); + .function("loadStrings", &slang::wgsl::ComponentType::loadStrings, allow_raw_pointers()); class_<slang::wgsl::TypeLayoutReflection>("TypeLayoutReflection") .function( @@ -85,15 +76,15 @@ EMSCRIPTEN_BINDINGS(slang) .function( "findEntryPointByName", &slang::wgsl::Module::findEntryPointByName, - return_value_policy::take_ownership()) + allow_raw_pointers()) .function( "findAndCheckEntryPoint", &slang::wgsl::Module::findAndCheckEntryPoint, - return_value_policy::take_ownership()) + allow_raw_pointers()) .function( "getDefinedEntryPoint", &slang::wgsl::Module::getDefinedEntryPoint, - return_value_policy::take_ownership()) + allow_raw_pointers()) .function("getDefinedEntryPointCount", &slang::wgsl::Module::getDefinedEntryPointCount); value_object<slang::wgsl::Error>("Error") @@ -104,14 +95,6 @@ EMSCRIPTEN_BINDINGS(slang) class_<slang::wgsl::EntryPoint, base<slang::wgsl::ComponentType>>("EntryPoint") .function("getName", &slang::wgsl::EntryPoint::getName, allow_raw_pointers()); - class_<slang::wgsl::CompileTargets>("CompileTargets") - .function( - "findCompileTarget", - &slang::wgsl::CompileTargets::findCompileTarget, - return_value_policy::take_ownership()); - - register_vector<slang::wgsl::ComponentType*>("ComponentTypeList"); - register_vector<std::string>("StringList"); register_optional<std::vector<std::string>>(); @@ -251,7 +234,4 @@ EMSCRIPTEN_BINDINGS(slang) "createLanguageServer", &slang::wgsl::lsp::createLanguageServer, return_value_policy::take_ownership()); - - class_<slang::wgsl::HashedString>("HashedString") - .function("getString", &slang::wgsl::HashedString::getString); }; |
