14#if !CE_PLATFORM_IOS && !CE_PLATFORM_MAC
15#define VK_NO_PROTOTYPES
17#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T* object;
19#include <vulkan/vulkan.h>
22#include <vulkan/vulkan_macos.h>
24#include <vulkan/vulkan_ios.h>
25#if defined(VK_MVK_macos_surface) && VK_MVK_macos_surface
26#include <MoltenVK/vk_mvk_moltenvk.h>
28#elif CE_PLATFORM_WIN32
30#include <vulkan/vulkan_win32.h>
33#if defined(RenderingCapabilities)
34#undef RenderingCapabilities
39#if !CE_PLATFORM_IOS && !CE_PLATFORM_MAC
40#define CE_VK_FUNCTION(N) extern PFN_vk##N vk##N;
45#if defined(MVK_VERSION)
49#include "VKLoader.inc"
63#define CE_VK_FUNCTION(N) PFN_vk##N N = nullptr;
64#include "VKLoader.inc"
#define CE_VK_FUNCTION(N)
Definition VKLoader.hpp:40
Definition DynamicLibrary.hpp:16
Definition Application.hpp:19
void VKLoadVulkan(const DynamicLibrary &dynamicLibrary) noexcept
Loads instance creation function pointers from the Vulkan shared library.
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
A helper structure that provides an implicit conversion operator from a loaded void* function pointer...
Definition DynamicLibrary.hpp:239
Definition VKLoader.hpp:56
VkDevice device
The VkDevice to load pointers for.
Definition VKLoader.hpp:61
VKFuncTable() noexcept=default
Creates an empty VKFuncTable.
VKSymbol forDevice(const char *name) const noexcept
Resolves a symbol by name.
VkInstance instance
The VkInstance to load pointers for.
Definition VKLoader.hpp:58
VKSymbol forInstance(const char *name) const noexcept
Resolves a symbol by name.