summaryrefslogtreecommitdiffstats
path: root/source/slang-wasm/slang-wasm-bindings.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-11-08 16:19:31 -0800
committerGitHub <noreply@github.com>2024-11-08 16:19:31 -0800
commit5ca37c316a9ea1833907bae497734054dfa3c3cb (patch)
tree6aec7069ca410fd6d2426c36ef102303512c28e3 /source/slang-wasm/slang-wasm-bindings.cpp
parent7c414463063b979afb0b5184a48a13fcaf5b8af7 (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.cpp42
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);
};