Android function pointers, workaround for missing make_unique
This commit is contained in:
parent
6f61d0fd63
commit
76c7f21c3e
2 changed files with 14 additions and 0 deletions
|
|
@ -48,6 +48,7 @@ PFN_vkFreeMemory vkFreeMemory;
|
||||||
PFN_vkCreateRenderPass vkCreateRenderPass;
|
PFN_vkCreateRenderPass vkCreateRenderPass;
|
||||||
PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
|
PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
|
||||||
PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
|
PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
|
||||||
|
PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
|
||||||
PFN_vkCreateImage vkCreateImage;
|
PFN_vkCreateImage vkCreateImage;
|
||||||
PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
|
PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
|
||||||
PFN_vkCreateImageView vkCreateImageView;
|
PFN_vkCreateImageView vkCreateImageView;
|
||||||
|
|
@ -164,6 +165,7 @@ void loadVulkanFunctions(VkInstance instance)
|
||||||
vkCreateRenderPass = reinterpret_cast<PFN_vkCreateRenderPass>(vkGetInstanceProcAddr(instance, "vkCreateRenderPass"));
|
vkCreateRenderPass = reinterpret_cast<PFN_vkCreateRenderPass>(vkGetInstanceProcAddr(instance, "vkCreateRenderPass"));
|
||||||
vkCmdBeginRenderPass = reinterpret_cast<PFN_vkCmdBeginRenderPass>(vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass"));
|
vkCmdBeginRenderPass = reinterpret_cast<PFN_vkCmdBeginRenderPass>(vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass"));
|
||||||
vkCmdEndRenderPass = reinterpret_cast<PFN_vkCmdEndRenderPass>(vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass"));
|
vkCmdEndRenderPass = reinterpret_cast<PFN_vkCmdEndRenderPass>(vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass"));
|
||||||
|
vkCmdExecuteCommands = reinterpret_cast<PFN_vkCmdExecuteCommands>(vkGetInstanceProcAddr(instance, "vkCmdExecuteCommands"));
|
||||||
|
|
||||||
vkCreateImage = reinterpret_cast<PFN_vkCreateImage>(vkGetInstanceProcAddr(instance, "vkCreateImage"));
|
vkCreateImage = reinterpret_cast<PFN_vkCreateImage>(vkGetInstanceProcAddr(instance, "vkCreateImage"));
|
||||||
vkGetImageMemoryRequirements = reinterpret_cast<PFN_vkGetImageMemoryRequirements>(vkGetInstanceProcAddr(instance, "vkGetImageMemoryRequirements"));
|
vkGetImageMemoryRequirements = reinterpret_cast<PFN_vkGetImageMemoryRequirements>(vkGetInstanceProcAddr(instance, "vkGetImageMemoryRequirements"));
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,17 @@
|
||||||
#if defined(__ANDROID__)
|
#if defined(__ANDROID__)
|
||||||
|
|
||||||
#include <android/log.h>
|
#include <android/log.h>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
// Missing from the NDK
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
template<typename T, typename... Args>
|
||||||
|
std::unique_ptr<T> make_unique(Args&&... args)
|
||||||
|
{
|
||||||
|
return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "vulkanExample", __VA_ARGS__))
|
#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "vulkanExample", __VA_ARGS__))
|
||||||
#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "vulkanExample", __VA_ARGS__))
|
#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "vulkanExample", __VA_ARGS__))
|
||||||
|
|
@ -67,6 +78,7 @@ extern PFN_vkFreeMemory vkFreeMemory;
|
||||||
extern PFN_vkCreateRenderPass vkCreateRenderPass;
|
extern PFN_vkCreateRenderPass vkCreateRenderPass;
|
||||||
extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
|
extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
|
||||||
extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
|
extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
|
||||||
|
extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
|
||||||
extern PFN_vkCreateImage vkCreateImage;
|
extern PFN_vkCreateImage vkCreateImage;
|
||||||
extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
|
extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
|
||||||
extern PFN_vkCreateImageView vkCreateImageView;
|
extern PFN_vkCreateImageView vkCreateImageView;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue