From ae207b62984bfa8dd3d03b9e4a893a54c7d75339 Mon Sep 17 00:00:00 2001 From: ZhangLiang Date: Sat, 9 Aug 2025 10:04:00 +0000 Subject: [PATCH 1/2] add dlopen_ns passthrough Signed-off-by: ZhangLiang Change-Id: Iccf2c9f421cbd2419c24cab08e374c65879ff251 --- loader/vk_loader_platform.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/loader/vk_loader_platform.h b/loader/vk_loader_platform.h index 9a3b9c1c..8a86166c 100644 --- a/loader/vk_loader_platform.h +++ b/loader/vk_loader_platform.h @@ -405,6 +405,18 @@ static inline loader_platform_dl_handle loader_platform_open_driver(const char * static inline loader_platform_dl_handle loader_platform_open_library(const char *libPath) { return dlopen_fuchsia(libPath, LOADER_DLOPEN_MODE, false); } +#elseif defined(VK_USE_PLATFORM_OHOS) +static inline loader_platform_dl_handle loader_platform_open_library(const char *libPath) { + void *handle = NULL; + Dl_namespace ns_ps; + if (!dlns_get("passthrough", &ns_ps)) { + handle = dlopen_ns(&ns_ps, libPath, LOADER_DLOPEN_MODE); + } + if (!handle) { + handle = dlopen(libPath, LOADER_DLOPEN_MODE); + } + return handle; +} #else static inline loader_platform_dl_handle loader_platform_open_library(const char *libPath) { return dlopen(libPath, LOADER_DLOPEN_MODE); -- Gitee From 5d5e737c3842e646b946c1f5b74b008ade5a98fd Mon Sep 17 00:00:00 2001 From: ZhangLiang Date: Sat, 9 Aug 2025 10:07:31 +0000 Subject: [PATCH 2/2] add dlopen_ns passthrough Signed-off-by: ZhangLiang Change-Id: Ib18bc62f3fbb9767c553f001c84069c64e5e180f --- loader/vk_loader_platform.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loader/vk_loader_platform.h b/loader/vk_loader_platform.h index 8a86166c..e337f014 100644 --- a/loader/vk_loader_platform.h +++ b/loader/vk_loader_platform.h @@ -405,7 +405,7 @@ static inline loader_platform_dl_handle loader_platform_open_driver(const char * static inline loader_platform_dl_handle loader_platform_open_library(const char *libPath) { return dlopen_fuchsia(libPath, LOADER_DLOPEN_MODE, false); } -#elseif defined(VK_USE_PLATFORM_OHOS) +#elif defined(VK_USE_PLATFORM_OHOS) static inline loader_platform_dl_handle loader_platform_open_library(const char *libPath) { void *handle = NULL; Dl_namespace ns_ps; -- Gitee