summaryrefslogtreecommitdiff
path: root/main/main.cpp
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2024-04-24 23:13:42 +0200
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2024-04-24 23:13:42 +0200
commit08eece258ceff7824250454906bff013a7303c28 (patch)
treeb0aff3b1bceeb748dc176545b6cfdd5c68f908b7 /main/main.cpp
parent31c220c7178f3a8ae7a803e46d3d568d7ff56848 (diff)
Some work on StatusOr
Diffstat (limited to 'main/main.cpp')
-rw-r--r--main/main.cpp14
1 files changed, 7 insertions, 7 deletions
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<VkInstance> 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<VulkanLoaderApi>();
auto* vk = vulkan_loader_api->LoadEntry();
- VkInstance instance{};
- const Status s = CreateInstance(vk, &instance);
+ const StatusOr<VkInstance> s = CreateInstance(vk);
if (!s.ok())
{
- log_api->LogError("Couldn't create Vulkan instance: $", s);
+ log_api->LogError("$", s);
}
log_api->LogInfo("OK");