Vulkan: Refactor function list headers
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user