From d03f04bb4ff2412ed0490fb3594d8530a8e1ad61 Mon Sep 17 00:00:00 2001 From: dan sinclair Date: Thu, 24 Jan 2019 15:42:21 -0500 Subject: [vulkan] Load vulkan methods through method. (#246) This CL changes the vulkan backend to load all vulkan methods through the vkGetInstanceProcAddr method instead of accessing directly. --- include/amber/amber_vulkan.h | 9 ++++++--- include/amber/vulkan_header.h | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/amber/amber_vulkan.h b/include/amber/amber_vulkan.h index d1fb105..c1b09c0 100644 --- a/include/amber/amber_vulkan.h +++ b/include/amber/amber_vulkan.h @@ -26,6 +26,12 @@ namespace amber { /// Configuration for the Vulkan Engine. struct VulkanEngineConfig : public EngineConfig { + /// REQUIRED. The Vulkan instance procedure loader. + PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; + + /// The VkInstance to use. + VkInstance instance; + /// The VkPhysicalDevice to use. VkPhysicalDevice physical_device; @@ -43,9 +49,6 @@ struct VulkanEngineConfig : public EngineConfig { /// The VkQueue to use. VkQueue queue; - - /// REQUIRED. The Vulkan instance procedure loader. - PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; }; } // namespace amber diff --git a/include/amber/vulkan_header.h b/include/amber/vulkan_header.h index fa3d237..110e06e 100644 --- a/include/amber/vulkan_header.h +++ b/include/amber/vulkan_header.h @@ -26,7 +26,11 @@ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +// Note, VK_NO_PROTOTYPES is used by vulkan/vulkan.h to disable defining +// all of the vk* methods. +#define VK_NO_PROTOTYPES #include "vulkan/vulkan.h" +#undef VK_NO_PROTOTYPES #pragma clang diagnostic pop #endif // AMBER_CTS_VULKAN_HEADER -- cgit v1.2.3