19#define VK_NO_PROTOTYPES
20#include <vulkan/vulkan.h>
34#define _IMP_VK(name) name = (PFN_##name)vkGetInstanceProcAddr(instance, #name);n_assert_fmt(name != nullptr, "Unable to get function proc: %s\n",#name);
35#define _DEC_VK(name) extern PFN_##name name;
36#define _DEF_VK(name) PFN_##name name = nullptr;
38#define _IMP_VK_DYN(name, instance) name = (PFN_##name)vkGetInstanceProcAddr(instance, #name);n_assert_fmt(name != nullptr, "Unable to get function proc: %s\n",#name);
48_DEC_VK(vkEnumerateInstanceExtensionProperties);
49_DEC_VK(vkEnumerateInstanceLayerProperties);
59_DEC_VK(vkGetPhysicalDeviceSurfaceFormatsKHR);
60_DEC_VK(vkGetPhysicalDeviceSurfaceCapabilitiesKHR);
61_DEC_VK(vkGetPhysicalDeviceSurfacePresentModesKHR);
62_DEC_VK(vkGetPhysicalDeviceSurfaceSupportKHR);
73_DEC_VK(vkEnumerateDeviceExtensionProperties);
89_DEC_VK(vkGetPhysicalDeviceQueueFamilyProperties);
90_DEC_VK(vkGetPhysicalDeviceMemoryProperties);
91_DEC_VK(vkGetPhysicalDeviceFormatProperties);
92_DEC_VK(vkGetPhysicalDeviceFormatProperties2);
93_DEC_VK(vkGetPhysicalDeviceSparseImageFormatProperties);
94_DEC_VK(vkGetImageSparseMemoryRequirements);
213_DEC_VK(vkGetAccelerationStructureBuildSizesKHR);
217_DEC_VK(vkGetAccelerationStructureDeviceAddressKHR);
218_DEC_VK(vkGetDeviceAccelerationStructureCompatibilityKHR);
Vulkan implementation of GPU acceleration structure.
Definition vkaccelerationstructure.cc:15
void InitInstance(VkInstance instance)
initialize Vulkan instance, loads function pointers directly from driver
Definition vkloader.cc:60
PFN_vkSetDebugUtilsObjectNameEXT VkDebugObjectName
Definition vkloader.cc:13
void InitVulkan()
initialize Vulkan by loading dll and setting up the instance loader
Definition vkloader.cc:17
#define _DEC_VK(name)
Definition vkloader.h:35