Vulkan: Move device-level extension to Vk::Device

Former-commit-id: a73c8cd9744517baea7a5fbd440ccb4d90e9bfc7
This commit is contained in:
Lynix 2016-04-29 22:45:54 +02:00
parent 81e2c3817a
commit da3682149c
4 changed files with 32 additions and 24 deletions

View File

@ -40,10 +40,28 @@ namespace Nz
// Vulkan functions // Vulkan functions
#define NAZARA_VULKAN_DEVICE_FUNCTION(func) PFN_##func func #define NAZARA_VULKAN_DEVICE_FUNCTION(func) PFN_##func func
// Vulkan core
NAZARA_VULKAN_DEVICE_FUNCTION(vkDestroyDevice); NAZARA_VULKAN_DEVICE_FUNCTION(vkDestroyDevice);
NAZARA_VULKAN_DEVICE_FUNCTION(vkDeviceWaitIdle); NAZARA_VULKAN_DEVICE_FUNCTION(vkDeviceWaitIdle);
NAZARA_VULKAN_DEVICE_FUNCTION(vkGetDeviceQueue); NAZARA_VULKAN_DEVICE_FUNCTION(vkGetDeviceQueue);
// VK_KHR_display_swapchain
NAZARA_VULKAN_DEVICE_FUNCTION(vkCreateSharedSwapchainsKHR);
// VK_KHR_surface
NAZARA_VULKAN_DEVICE_FUNCTION(vkDestroySurfaceKHR);
NAZARA_VULKAN_DEVICE_FUNCTION(vkGetPhysicalDeviceSurfaceCapabilitiesKHR);
NAZARA_VULKAN_DEVICE_FUNCTION(vkGetPhysicalDeviceSurfaceFormatsKHR);
NAZARA_VULKAN_DEVICE_FUNCTION(vkGetPhysicalDeviceSurfacePresentModesKHR);
NAZARA_VULKAN_DEVICE_FUNCTION(vkGetPhysicalDeviceSurfaceSupportKHR);
// VK_KHR_swapchain
NAZARA_VULKAN_DEVICE_FUNCTION(vkAcquireNextImageKHR);
NAZARA_VULKAN_DEVICE_FUNCTION(vkCreateSwapchainKHR);
NAZARA_VULKAN_DEVICE_FUNCTION(vkDestroySwapchainKHR);
NAZARA_VULKAN_DEVICE_FUNCTION(vkGetSwapchainImagesKHR);
NAZARA_VULKAN_DEVICE_FUNCTION(vkQueuePresentKHR);
#undef NAZARA_VULKAN_DEVICE_FUNCTION #undef NAZARA_VULKAN_DEVICE_FUNCTION
private: private:

View File

@ -75,9 +75,6 @@ namespace Nz
NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceDisplayPlanePropertiesKHR); NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceDisplayPlanePropertiesKHR);
NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceDisplayPropertiesKHR); NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceDisplayPropertiesKHR);
// VK_KHR_display_swapchain
NAZARA_VULKAN_INSTANCE_FUNCTION(vkCreateSharedSwapchainsKHR);
// VK_KHR_surface // VK_KHR_surface
NAZARA_VULKAN_INSTANCE_FUNCTION(vkDestroySurfaceKHR); NAZARA_VULKAN_INSTANCE_FUNCTION(vkDestroySurfaceKHR);
NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfaceCapabilitiesKHR); NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfaceCapabilitiesKHR);
@ -85,13 +82,6 @@ namespace Nz
NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfacePresentModesKHR); NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfacePresentModesKHR);
NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfaceSupportKHR); NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetPhysicalDeviceSurfaceSupportKHR);
// VK_KHR_swapchain
NAZARA_VULKAN_INSTANCE_FUNCTION(vkAcquireNextImageKHR);
NAZARA_VULKAN_INSTANCE_FUNCTION(vkCreateSwapchainKHR);
NAZARA_VULKAN_INSTANCE_FUNCTION(vkDestroySwapchainKHR);
NAZARA_VULKAN_INSTANCE_FUNCTION(vkGetSwapchainImagesKHR);
NAZARA_VULKAN_INSTANCE_FUNCTION(vkQueuePresentKHR);
// VK_EXT_debug_report // VK_EXT_debug_report
NAZARA_VULKAN_INSTANCE_FUNCTION(vkCreateDebugReportCallbackEXT); NAZARA_VULKAN_INSTANCE_FUNCTION(vkCreateDebugReportCallbackEXT);
NAZARA_VULKAN_INSTANCE_FUNCTION(vkDestroyDebugReportCallbackEXT); NAZARA_VULKAN_INSTANCE_FUNCTION(vkDestroyDebugReportCallbackEXT);

View File

@ -35,6 +35,20 @@ namespace Nz
NAZARA_VULKAN_LOAD_DEVICE(vkDestroyDevice); NAZARA_VULKAN_LOAD_DEVICE(vkDestroyDevice);
NAZARA_VULKAN_LOAD_DEVICE(vkDeviceWaitIdle); NAZARA_VULKAN_LOAD_DEVICE(vkDeviceWaitIdle);
NAZARA_VULKAN_LOAD_DEVICE(vkGetDeviceQueue); NAZARA_VULKAN_LOAD_DEVICE(vkGetDeviceQueue);
// VK_KHR_display_swapchain
if (m_instance.IsExtensionLoaded("VK_KHR_display_swapchain"))
NAZARA_VULKAN_LOAD_DEVICE(vkCreateSharedSwapchainsKHR);
// VK_KHR_swapchain
if (m_instance.IsExtensionLoaded("VK_KHR_swapchain"))
{
NAZARA_VULKAN_LOAD_DEVICE(vkAcquireNextImageKHR);
NAZARA_VULKAN_LOAD_DEVICE(vkCreateSwapchainKHR);
NAZARA_VULKAN_LOAD_DEVICE(vkDestroySwapchainKHR);
NAZARA_VULKAN_LOAD_DEVICE(vkGetSwapchainImagesKHR);
NAZARA_VULKAN_LOAD_DEVICE(vkQueuePresentKHR);
}
} }
catch (const std::exception& e) catch (const std::exception& e)
{ {

View File

@ -64,10 +64,6 @@ namespace Nz
NAZARA_VULKAN_LOAD_INSTANCE(vkGetPhysicalDeviceDisplayPropertiesKHR); NAZARA_VULKAN_LOAD_INSTANCE(vkGetPhysicalDeviceDisplayPropertiesKHR);
} }
// VK_KHR_display_swapchain
if (IsExtensionLoaded("VK_KHR_display_swapchain"))
NAZARA_VULKAN_LOAD_INSTANCE(vkCreateSharedSwapchainsKHR);
// VK_KHR_surface // VK_KHR_surface
if (IsExtensionLoaded("VK_KHR_display")) if (IsExtensionLoaded("VK_KHR_display"))
{ {
@ -78,16 +74,6 @@ namespace Nz
NAZARA_VULKAN_LOAD_INSTANCE(vkGetPhysicalDeviceSurfaceSupportKHR); NAZARA_VULKAN_LOAD_INSTANCE(vkGetPhysicalDeviceSurfaceSupportKHR);
} }
// VK_KHR_swapchain
if (IsExtensionLoaded("VK_KHR_swapchain"))
{
NAZARA_VULKAN_LOAD_INSTANCE(vkAcquireNextImageKHR);
NAZARA_VULKAN_LOAD_INSTANCE(vkCreateSwapchainKHR);
NAZARA_VULKAN_LOAD_INSTANCE(vkDestroySwapchainKHR);
NAZARA_VULKAN_LOAD_INSTANCE(vkGetSwapchainImagesKHR);
NAZARA_VULKAN_LOAD_INSTANCE(vkQueuePresentKHR);
}
// VK_EXT_debug_report // VK_EXT_debug_report
if (IsExtensionLoaded("VK_EXT_debug_report")) if (IsExtensionLoaded("VK_EXT_debug_report"))
{ {