diff --git a/include/Nazara/Vulkan/VkLoader.hpp b/include/Nazara/Vulkan/VkLoader.hpp index 0aaa24da1..8e973b0bb 100644 --- a/include/Nazara/Vulkan/VkLoader.hpp +++ b/include/Nazara/Vulkan/VkLoader.hpp @@ -8,13 +8,27 @@ #define NAZARA_VULKAN_LOADER_HPP #include +#include #include +#include namespace Nz { class NAZARA_VULKAN_API VkLoader { + public: + VkLoader() = delete; + ~VkLoader() = delete; + + static bool Initialize(); + + private: + static DynLib s_vulkanLib; }; } +#define NAZARA_VULKAN_EXPORTED_FUNCTION(func) extern PFN_##func func; + +NAZARA_VULKAN_EXPORTED_FUNCTION(vkGetInstanceProcAddr); + #endif // NAZARA_VULKAN_LOADER_HPP diff --git a/src/Nazara/Vulkan/VkLoader.cpp b/src/Nazara/Vulkan/VkLoader.cpp index 04d9cb8dc..b261778df 100644 --- a/src/Nazara/Vulkan/VkLoader.cpp +++ b/src/Nazara/Vulkan/VkLoader.cpp @@ -9,3 +9,6 @@ namespace Nz { } +#define NAZARA_VULKAN_EXPORTED_FUNCTION_IMPL(func) PFN_##func func = nullptr; + +NAZARA_VULKAN_EXPORTED_FUNCTION_IMPL(vkGetInstanceProcAddr) \ No newline at end of file