Vulkan: Refactor function list headers
This commit is contained in:
parent
5f9025c23c
commit
69dda85e45
|
|
@ -72,20 +72,9 @@ namespace Nz
|
|||
// Vulkan functions
|
||||
#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_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>
|
||||
|
||||
#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
|
||||
{
|
||||
QueueFamilyInfo* familyInfo;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,26 @@
|
|||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||
// 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
|
||||
NAZARA_VULKANRENDERER_DEVICE_FUNCTION(vkAllocateCommandBuffers)
|
||||
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(vkSetDebugUtilsObjectTagEXT)
|
||||
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"
|
||||
// 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
|
||||
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkCreateInstance)
|
||||
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkEnumerateInstanceExtensionProperties)
|
||||
NAZARA_VULKANRENDERER_GLOBAL_FUNCTION(vkEnumerateInstanceLayerProperties)
|
||||
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();
|
||||
|
||||
// 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_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func)
|
||||
|
||||
#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:
|
||||
void DestroyInstance();
|
||||
void ResetPointers();
|
||||
|
|
|
|||
|
|
@ -2,6 +2,18 @@
|
|||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||
// 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
|
||||
NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(vkCreateDevice)
|
||||
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_EXT_END()
|
||||
#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>
|
||||
|
||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT
|
||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION
|
||||
|
||||
private:
|
||||
static DynLib s_vulkanLib;
|
||||
static VkResult s_lastErrorCode;
|
||||
|
|
|
|||
|
|
@ -92,13 +92,6 @@ namespace Nz
|
|||
func = reinterpret_cast<PFN_##func##suffix>(GetProcAddr(#func #suffix));
|
||||
|
||||
#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)
|
||||
{
|
||||
|
|
@ -265,19 +258,8 @@ namespace Nz
|
|||
// Reset functions pointers
|
||||
#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_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>
|
||||
|
||||
#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()
|
||||
|
|
|
|||
|
|
@ -118,11 +118,6 @@ namespace Nz
|
|||
func = reinterpret_cast<PFN_##func##suffix>(GetProcAddr(#func #suffix));
|
||||
|
||||
#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)
|
||||
{
|
||||
|
|
@ -246,17 +241,10 @@ namespace Nz
|
|||
assert(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_CORE_EXT_FUNCTION(func, ...) NAZARA_VULKANRENDERER_INSTANCE_FUNCTION(func)
|
||||
|
||||
#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>
|
||||
|
||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT
|
||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
{
|
||||
|
|
@ -127,9 +125,6 @@ namespace Nz
|
|||
|
||||
#include <Nazara/VulkanRenderer/Wrapper/GlobalFunctions.hpp>
|
||||
|
||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION_OPT
|
||||
#undef NAZARA_VULKANRENDERER_GLOBAL_FUNCTION
|
||||
|
||||
DynLib Loader::s_vulkanLib;
|
||||
VkResult Loader::s_lastErrorCode;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue