diff options
| author | Robin Kertels <robin.kertels@gmail.com> | 2023-06-01 00:05:06 +0200 |
|---|---|---|
| committer | Robin Kertels <robin.kertels@gmail.com> | 2023-06-11 13:52:34 +0200 |
| commit | 23bebc5270bfd5a149aeb8bb5a3a2dd4433bd5e1 (patch) | |
| tree | 45e378d45f19381a1a92a5e71ee38780f78cc687 /Source/Core/Common/FileUtil.cpp | |
| parent | 35bb663c2abfba0208931b85d779ed5a0084c7e8 (diff) | |
VideoBackends:Vulkan: Allow loading custom drivers on Android
... using libadrenotools
Diffstat (limited to 'Source/Core/Common/FileUtil.cpp')
| -rw-r--r-- | Source/Core/Common/FileUtil.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp index 9a494ab2e0..f5842c14f9 100644 --- a/Source/Core/Common/FileUtil.cpp +++ b/Source/Core/Common/FileUtil.cpp @@ -66,6 +66,8 @@ namespace File { #ifdef ANDROID static std::string s_android_sys_directory; +static std::string s_android_driver_directory; +static std::string s_android_lib_directory; #endif #ifdef __APPLE__ @@ -796,6 +798,34 @@ void SetSysDirectory(const std::string& path) s_android_sys_directory); s_android_sys_directory = path; } + +void SetGpuDriverDirectories(const std::string& path, const std::string& lib_path) +{ + INFO_LOG_FMT(COMMON, "Setting Driver directory to {} and library path to {}", path, lib_path); + ASSERT_MSG(COMMON, s_android_driver_directory.empty(), "Driver directory already set to {}", + s_android_driver_directory); + ASSERT_MSG(COMMON, s_android_lib_directory.empty(), "Library directory already set to {}", + s_android_lib_directory); + s_android_driver_directory = path; + s_android_lib_directory = lib_path; +} + +const std::string GetGpuDriverDirectory(unsigned int dir_index) +{ + switch (dir_index) + { + case D_GPU_DRIVERS_EXTRACTED: + return s_android_driver_directory + DIR_SEP GPU_DRIVERS_EXTRACTED DIR_SEP; + case D_GPU_DRIVERS_TMP: + return s_android_driver_directory + DIR_SEP GPU_DRIVERS_TMP DIR_SEP; + case D_GPU_DRIVERS_HOOKS: + return s_android_lib_directory; + case D_GPU_DRIVERS_FILE_REDIRECT: + return s_android_driver_directory + DIR_SEP GPU_DRIVERS_FILE_REDIRECT DIR_SEP; + } + return ""; +} + #endif static std::string s_user_paths[NUM_PATH_INDICES]; |
