From 08eece258ceff7824250454906bff013a7303c28 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Wed, 24 Apr 2024 23:13:42 +0200 Subject: Some work on StatusOr --- main/main.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'main/main.cpp') diff --git a/main/main.cpp b/main/main.cpp index 4fa058c..ca1e063 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -9,7 +9,7 @@ using namespace deimos; static LogApi* log_api; [[nodiscard]] -Status CreateInstance(VulkanApi* vk, VkInstance* instance) +StatusOr CreateInstance(VulkanApi* vk) { const VkApplicationInfo application_info{ .sType = VK_STRUCTURE_TYPE_APPLICATION_INFO, @@ -42,13 +42,14 @@ Status CreateInstance(VulkanApi* vk, VkInstance* instance) .ppEnabledExtensionNames = extensions, }; - const VkResult res = vk->CreateInstance(&create_info, nullptr, instance); + VkInstance instance{}; + const VkResult res = vk->CreateInstance(&create_info, nullptr, &instance); if (res != VK_SUCCESS) { - return UnknownError(); + return InternalError("vkCreateInstance failed"); } - return {}; + return instance; } int main(int /* argc */, char* /* argv */[]) @@ -61,11 +62,10 @@ int main(int /* argc */, char* /* argv */[]) auto* vulkan_loader_api = api_registry->Get(); auto* vk = vulkan_loader_api->LoadEntry(); - VkInstance instance{}; - const Status s = CreateInstance(vk, &instance); + const StatusOr s = CreateInstance(vk); if (!s.ok()) { - log_api->LogError("Couldn't create Vulkan instance: $", s); + log_api->LogError("$", s); } log_api->LogInfo("OK"); -- cgit