Moved Android functions into separate namespace (vks::android)
This commit is contained in:
parent
a5a2211489
commit
82521aaafb
3 changed files with 170 additions and 158 deletions
|
|
@ -121,9 +121,13 @@ PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
|
|||
|
||||
void *libVulkan;
|
||||
|
||||
// Dynamically load Vulkan library and base function pointers
|
||||
bool loadVulkanLibrary()
|
||||
namespace vks
|
||||
{
|
||||
namespace android
|
||||
{
|
||||
// Dynamically load Vulkan library and base function pointers
|
||||
bool loadVulkanLibrary()
|
||||
{
|
||||
__android_log_print(ANDROID_LOG_INFO, "vulkanandroid", "Loading libvulkan.so...\n");
|
||||
|
||||
// Load vulkan library
|
||||
|
|
@ -142,11 +146,11 @@ bool loadVulkanLibrary()
|
|||
vkGetDeviceProcAddr = reinterpret_cast<PFN_vkGetDeviceProcAddr>(dlsym(libVulkan, "vkGetDeviceProcAddr"));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Load instance based Vulkan function pointers
|
||||
void loadVulkanFunctions(VkInstance instance)
|
||||
{
|
||||
// Load instance based Vulkan function pointers
|
||||
void loadVulkanFunctions(VkInstance instance)
|
||||
{
|
||||
__android_log_print(ANDROID_LOG_INFO, "vulkanandroid", "Loading instance based function pointers...\n");
|
||||
|
||||
vkEnumeratePhysicalDevices = reinterpret_cast<PFN_vkEnumeratePhysicalDevices>(vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices"));
|
||||
|
|
@ -271,11 +275,13 @@ void loadVulkanFunctions(VkInstance instance)
|
|||
|
||||
vkCreateAndroidSurfaceKHR = reinterpret_cast<PFN_vkCreateAndroidSurfaceKHR>(vkGetInstanceProcAddr(instance, "vkCreateAndroidSurfaceKHR"));
|
||||
vkDestroySurfaceKHR = reinterpret_cast<PFN_vkDestroySurfaceKHR>(vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
|
||||
}
|
||||
}
|
||||
|
||||
void freeVulkanLibrary()
|
||||
{
|
||||
void freeVulkanLibrary()
|
||||
{
|
||||
dlclose(libVulkan);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -151,9 +151,15 @@ extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
|
|||
extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
|
||||
extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
|
||||
|
||||
bool loadVulkanLibrary();
|
||||
void loadVulkanFunctions(VkInstance instance);
|
||||
void freeVulkanLibrary();
|
||||
namespace vks
|
||||
{
|
||||
namespace android
|
||||
{
|
||||
bool loadVulkanLibrary();
|
||||
void loadVulkanFunctions(VkInstance instance);
|
||||
void freeVulkanLibrary();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -645,7 +645,7 @@ VulkanExampleBase::VulkanExampleBase(bool enableValidation)
|
|||
|
||||
#if defined(__ANDROID__)
|
||||
// Vulkan library is loaded dynamically on Android
|
||||
bool libLoaded = loadVulkanLibrary();
|
||||
bool libLoaded = vks::android::loadVulkanLibrary();
|
||||
assert(libLoaded);
|
||||
#elif defined(_DIRECT2DISPLAY)
|
||||
|
||||
|
|
@ -746,7 +746,7 @@ void VulkanExampleBase::initVulkan()
|
|||
}
|
||||
|
||||
#if defined(__ANDROID__)
|
||||
loadVulkanFunctions(instance);
|
||||
vks::android::loadVulkanFunctions(instance);
|
||||
#endif
|
||||
|
||||
// If requested, we enable the default validation layers for debugging
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue