6#include "../VKInstance.h"
81 bool is_layer_available(std::string_view name)
const;
82 bool is_extension_available(std::string_view name)
const;
84 void enable_window_extensions();
85 void create_debug_messager(VkInstance instance);
86 void destroy_debug_messager(VkInstance instance);
88 VkApplicationInfo app_info_ = {};
89 VkInstanceCreateInfo instance_info_ = {};
91 VkDebugUtilsMessengerEXT debug_messenger_;
93 std::vector<const char*> enabled_layers_;
94 std::vector<const char*> enabled_extensions_;
96 std::vector<VkLayerProperties> available_layers_;
97 std::vector<VkExtensionProperties> available_extensions_;
101 bool enable_validation_layers =
false;
103 bool enable_debug_messager =
false;
104 VkDebugUtilsMessageSeverityFlagsEXT debug_message_severity =
105 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT;
106 VkDebugUtilsMessageTypeFlagsEXT debug_message_type = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT |
107 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT |
108 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT;
109 PFN_vkDebugUtilsMessengerCallbackEXT debug_message_callback =
nullptr;
Definition: InstanceBuilder.h:11
InstanceBuilder & set_debug_callback(PFN_vkDebugUtilsMessengerCallbackEXT callback) noexcept
设置调试消息回调函数.
Definition: InstanceBuilder.cpp:152
InstanceBuilder & set_engine_version(uint32_t major, uint32_t minor, uint32_t patch) noexcept
设置引擎版本. (可选)
Definition: InstanceBuilder.cpp:108
InstanceBuilder & set_engine_name(std::string_view name) noexcept
设置引擎名称. (可选)
Definition: InstanceBuilder.cpp:102
InstanceBuilder & enable_extension(std::string_view name)
启用拓展.
Definition: InstanceBuilder.cpp:132
InstanceBuilder & enable_debug_messenger()
启用调试消息.
Definition: InstanceBuilder.cpp:145
InstanceBuilder & set_app_version(uint32_t major, uint32_t minor, uint32_t patch) noexcept
设置应用程序版本. (可选)
Definition: InstanceBuilder.cpp:120
InstanceBuilder & set_app_name(std::string_view name) noexcept
设置应用程序名称. (可选)
Definition: InstanceBuilder.cpp:114
InstanceBuilder & enable_validation_layers()
启用验证层.
InstanceBuilder & enable_layer(std::string_view name)
启用 Layer.
Definition: InstanceBuilder.cpp:126
Vulkan 实例.
Definition: VKInstance.h:12