#ifndef MSP_GRAPHICS_VULKANCONTEXT_PRIVATE_H_
#define MSP_GRAPHICS_VULKANCONTEXT_PRIVATE_H_
+#ifdef WITH_VULKAN
#include "vulkancontext_platform.h"
+#endif
#include "vulkancontext.h"
namespace Msp {
namespace Graphics {
+#ifdef WITH_VULKAN
struct VulkanFunctions: VulkanPlatformFunctions
{
PFN_vkCreateInstance vkCreateInstance = nullptr;
PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallback = nullptr;
PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallback = nullptr;
};
+#endif
struct VulkanContext::Private
{
+#ifdef WITH_VULKAN
VulkanFunctions functions;
VkInstance instance = nullptr;
VkPhysicalDevice physical_device = nullptr;
VkDebugReportCallbackEXT debug_report_callback = nullptr;
static VkBool32 debug_report_func(VkDebugReportFlagsEXT, VkDebugReportObjectTypeEXT, uint64_t, size_t, int32_t, const char *, const char *, void *);
+#endif
};
} // namespace Graphics