diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-04-24 23:13:42 +0200 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-04-24 23:13:42 +0200 |
commit | 08eece258ceff7824250454906bff013a7303c28 (patch) | |
tree | b0aff3b1bceeb748dc176545b6cfdd5c68f908b7 /main/main.cpp | |
parent | 31c220c7178f3a8ae7a803e46d3d568d7ff56848 (diff) |
Some work on StatusOr
Diffstat (limited to 'main/main.cpp')
-rw-r--r-- | main/main.cpp | 14 |
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");
|