18 friend VKAPI_ATTR VkBool32 VKAPI_CALL CallbackDebug(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
19 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
20 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
26 static VkResult FvkCreateDebugUtilsMessengerEXT(VkInstance instance,
27 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
28 const VkAllocationCallbacks* pAllocator,
29 VkDebugUtilsMessengerEXT* pDebugMessenger);
30 static void FvkDestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT messenger,
31 const VkAllocationCallbacks* pAllocator);
33 static void FvkCmdPushDescriptorSetKHR(VkDevice device, VkCommandBuffer commandBuffer,
34 VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout,
35 uint32_t set, uint32_t descriptorWriteCount,
36 const VkWriteDescriptorSet* pDescriptorWrites);
38 static uint32_t FindMemoryTypeIndex(
const VkPhysicalDeviceMemoryProperties* deviceMemoryProperties,
39 const VkMemoryRequirements* memoryRequirements,
40 VkMemoryPropertyFlags requiredProperties);
42 operator const VkInstance&()
const
47 bool GetEnableValidationLayers()
const
49 return m_EnableValidationLayers;
51 const VkInstance& GetInstance()
const
57 static const std::vector<const char*> ValidationLayers;
60 bool CheckValidationLayerSupport()
const;
61 std::vector<const char*> GetExtensions()
const;
62 void CreateInstance();
63 void CreateDebugMessenger();
66 static void LogVulkanLayers(
const std::vector<VkLayerProperties>& layerProperties);
69 bool m_EnableValidationLayers =
false;
71 VkInstance m_Instance = VK_NULL_HANDLE;
72 VkDebugUtilsMessengerEXT m_DebugMessenger = VK_NULL_HANDLE;
Module that manages the Vulkan m_Instance, Surface, Window and the renderpass structure.
Definition Graphics.hpp:32