11 const VkApplicationInfo applicationInfo {
12 VK_STRUCTURE_TYPE_APPLICATION_INFO,
22 const VkInstanceCreateInfo createInfo{
23 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
27 static_cast<uint32_t
>(
_layers.size()),
34 VkInstance vkInstance{VK_NULL_HANDLE};
35 VkResult result = vkCreateInstance(&createInfo,
nullptr, &vkInstance);
38 *returnResult = result;
41 if (result != VK_SUCCESS) {
51 std::unique_ptr<API::Instance> instance = std::make_unique<API::Instance>();
52 return build(*instance, returnResult) ? std::move(instance) :
nullptr;
Core::Version engineVersion
std::vector< const char * > _extensions
bool build(API::Instance &instance, VkResult *returnResult=nullptr)
std::vector< const char * > _layers