Vulkan: Refactor function list headers
This commit is contained in:
parent
5f9025c23c
commit
69dda85e45
|
|
@ -72,20 +72,9 @@ namespace Nz
|
||||||
// Vulkan functions
|
// Vulkan functions
|
||||||
#define NAZARA_VULKANRENDERER_DEVICE_FUNCTION(func) PFN_##func func = nullptr;
|
#define NAZARA_VULKANRENDERER_DEVICE_FUNCTION(func) PFN_##func func = nullptr;
|
||||||
#define NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_DEVICE_FUNCTION(func)
|
#define NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_DEVICE_FUNCTION(func)
|
||||||
#define NAZARA_VULKANRENDERER_DEVICE_EXT_BEGIN(ext)
|
|
||||||
#define NAZARA_VULKANRENDERER_DEVICE_EXT_END()
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN(ext)
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/DeviceFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/DeviceFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_EXT_END
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
|
||||||
|
|
||||||
struct QueueInfo
|
struct QueueInfo
|
||||||
{
|
{
|
||||||
QueueFamilyInfo* familyInfo;
|
QueueFamilyInfo* familyInfo;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,26 @@
|
||||||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||||
|
|
||||||
|
#if !defined(NAZARA_VULKANRENDERER_DEVICE_FUNCTION) || !defined(NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION)
|
||||||
|
#error You must define NAZARA_VULKANRENDERER_DEVICE_FUNCTION and NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION before including this file
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NAZARA_VULKANRENDERER_DEVICE_EXT_BEGIN
|
||||||
|
#define NAZARA_VULKANRENDERER_DEVICE_EXT_BEGIN(ext)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NAZARA_VULKANRENDERER_DEVICE_EXT_END
|
||||||
|
#define NAZARA_VULKANRENDERER_DEVICE_EXT_END()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
||||||
|
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN(ext)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
||||||
|
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
||||||
|
#endif
|
||||||
|
|
||||||
// Vulkan core
|
// Vulkan core
|
||||||
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkAllocateCommandBuffers)
|
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkAllocateCommandBuffers)
|
||||||
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkAllocateDescriptorSets)
|
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkAllocateDescriptorSets)
|
||||||
|
|
@ -155,3 +175,10 @@ NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN(VK_EXT_debug_utils)
|
||||||
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkSetDebugUtilsObjectNameEXT)
|
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkSetDebugUtilsObjectNameEXT)
|
||||||
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkSetDebugUtilsObjectTagEXT)
|
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkSetDebugUtilsObjectTagEXT)
|
||||||
NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
||||||
|
|
||||||
|
#undef NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION
|
||||||
|
#undef NAZARA_VULKANRENDERER_DEVICE_EXT_BEGIN
|
||||||
|
#undef NAZARA_VULKANRENDERER_DEVICE_EXT_END
|
||||||
|
#undef NAZARA_VULKANRENDERER_DEVICE_FUNCTION
|
||||||
|
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
||||||
|
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,15 @@
|
||||||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||||
|
|
||||||
|
#if !defined(NAZARA_VULKANRENDERER_GLOBAL_FUNCTION) || !defined(NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT)
|
||||||
|
#error You must define NAZARA_VULKANRENDERER_GLOBAL_FUNCTION and NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT before including this file
|
||||||
|
#endif
|
||||||
|
|
||||||
// Vulkan core
|
// Vulkan core
|
||||||
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkCreateInstance)
|
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkCreateInstance)
|
||||||
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkEnumerateInstanceExtensionProperties)
|
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkEnumerateInstanceExtensionProperties)
|
||||||
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkEnumerateInstanceLayerProperties)
|
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkEnumerateInstanceLayerProperties)
|
||||||
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT(vkEnumerateInstanceVersion)
|
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT(vkEnumerateInstanceVersion)
|
||||||
|
|
||||||
|
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION
|
||||||
|
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT
|
||||||
|
|
|
||||||
|
|
@ -86,18 +86,11 @@ namespace Nz
|
||||||
inline operator VkInstance();
|
inline operator VkInstance();
|
||||||
|
|
||||||
// Vulkan functions
|
// Vulkan functions
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN(ext)
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func) PFN_##func func;
|
#define NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func) PFN_##func func;
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func)
|
#define NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func)
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/InstanceFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/InstanceFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_FUNCTION
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void DestroyInstance();
|
void DestroyInstance();
|
||||||
void ResetPointers();
|
void ResetPointers();
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,18 @@
|
||||||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||||
|
|
||||||
|
#if !defined(NAZARA_VULKANRENDERER_INSTANCE_FUNCTION) || !defined(NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION)
|
||||||
|
#error You must define NAZARA_VULKANRENDERER_INSTANCE_FUNCTION and NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION before including this file
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
||||||
|
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN(ext)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
||||||
|
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
||||||
|
#endif
|
||||||
|
|
||||||
// Vulkan core
|
// Vulkan core
|
||||||
NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(vkCreateDevice)
|
NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(vkCreateDevice)
|
||||||
NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(vkDestroyInstance)
|
NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(vkDestroyInstance)
|
||||||
|
|
@ -82,3 +94,8 @@ NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN(VK_KHR_win32_surface)
|
||||||
NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(vkGetPhysicalDeviceWin32PresentationSupportKHR)
|
NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(vkGetPhysicalDeviceWin32PresentationSupportKHR)
|
||||||
NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#undef NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION
|
||||||
|
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
||||||
|
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
||||||
|
#undef NAZARA_VULKANRENDERER_INSTANCE_FUNCTION
|
||||||
|
|
|
||||||
|
|
@ -39,9 +39,6 @@ namespace Nz
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/GlobalFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/GlobalFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT
|
|
||||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static DynLib s_vulkanLib;
|
static DynLib s_vulkanLib;
|
||||||
static VkResult s_lastErrorCode;
|
static VkResult s_lastErrorCode;
|
||||||
|
|
|
||||||
|
|
@ -92,13 +92,6 @@ namespace Nz
|
||||||
func = reinterpret_cast<PFN_##func##suffix>(GetProcAddr(#func #suffix));
|
func = reinterpret_cast<PFN_##func##suffix>(GetProcAddr(#func #suffix));
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/DeviceFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/DeviceFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_EXT_END
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
|
||||||
}
|
}
|
||||||
catch (const std::exception& e)
|
catch (const std::exception& e)
|
||||||
{
|
{
|
||||||
|
|
@ -265,19 +258,8 @@ namespace Nz
|
||||||
// Reset functions pointers
|
// Reset functions pointers
|
||||||
#define NAZARA_VULKANRENDERER_DEVICE_FUNCTION(func) func = nullptr;
|
#define NAZARA_VULKANRENDERER_DEVICE_FUNCTION(func) func = nullptr;
|
||||||
#define NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_DEVICE_FUNCTION(func)
|
#define NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_DEVICE_FUNCTION(func)
|
||||||
#define NAZARA_VULKANRENDERER_DEVICE_EXT_BEGIN(ext)
|
|
||||||
#define NAZARA_VULKANRENDERER_DEVICE_EXT_END()
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN(ext)
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/DeviceFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/DeviceFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_CORE_EXT_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_DEVICE_EXT_END
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Device::WaitAndDestroyDevice()
|
void Device::WaitAndDestroyDevice()
|
||||||
|
|
|
||||||
|
|
@ -118,11 +118,6 @@ namespace Nz
|
||||||
func = reinterpret_cast<PFN_##func##suffix>(GetProcAddr(#func #suffix));
|
func = reinterpret_cast<PFN_##func##suffix>(GetProcAddr(#func #suffix));
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/InstanceFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/InstanceFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_FUNCTION
|
|
||||||
}
|
}
|
||||||
catch (const std::exception& e)
|
catch (const std::exception& e)
|
||||||
{
|
{
|
||||||
|
|
@ -246,17 +241,10 @@ namespace Nz
|
||||||
assert(m_instance != VK_NULL_HANDLE);
|
assert(m_instance != VK_NULL_HANDLE);
|
||||||
m_instance = VK_NULL_HANDLE;
|
m_instance = VK_NULL_HANDLE;
|
||||||
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN(ext)
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_EXT_END()
|
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func) func = nullptr;
|
#define NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func) func = nullptr;
|
||||||
#define NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func)
|
#define NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func)
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/InstanceFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/InstanceFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_CORE_EXT_FUNCTION
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_BEGIN
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_EXT_END
|
|
||||||
#undef NAZARA_VULKANRENDERER_INSTANCE_FUNCTION
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -106,8 +106,6 @@ namespace Nz
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/GlobalFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/GlobalFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT
|
|
||||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION
|
|
||||||
}
|
}
|
||||||
catch (const std::exception& e)
|
catch (const std::exception& e)
|
||||||
{
|
{
|
||||||
|
|
@ -127,9 +125,6 @@ namespace Nz
|
||||||
|
|
||||||
#include <Nazara/VulkanRenderer/Wrapper/GlobalFunctions.hpp>
|
#include <Nazara/VulkanRenderer/Wrapper/GlobalFunctions.hpp>
|
||||||
|
|
||||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT
|
|
||||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION
|
|
||||||
|
|
||||||
DynLib Loader::s_vulkanLib;
|
DynLib Loader::s_vulkanLib;
|
||||||
VkResult Loader::s_lastErrorCode;
|
VkResult Loader::s_lastErrorCode;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue