summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2024-04-22 00:17:53 +0200
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2024-04-22 00:17:53 +0200
commit85985c4408906b18eb451ca94edabaa0c3607817 (patch)
treed5a596f02e4070153fa2785f77f4ee267d1fb914 /main
parent2f7f41f3b8b9886b55858111a56500d2fb2fd4e8 (diff)
Add Vulkan loader
Diffstat (limited to 'main')
-rw-r--r--main/BUILD3
-rw-r--r--main/main.cpp22
2 files changed, 10 insertions, 15 deletions
diff --git a/main/BUILD b/main/BUILD
index 5d1d8b4..8e77f54 100644
--- a/main/BUILD
+++ b/main/BUILD
@@ -4,8 +4,7 @@ cc_binary(
"main.cpp",
],
deps = [
- "//3rd_party/vulkan",
+ "//deimos/vulkan",
"//deimos/core",
],
)
-
diff --git a/main/main.cpp b/main/main.cpp
index 80e94aa..9fb4755 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -1,9 +1,7 @@
-#include "vulkan_core.h"
#include <deimos/core/api_registry.h>
#include <deimos/core/log.h>
-#include <deimos/core/os.h>
#include <deimos/core/temp_allocator.h>
-#include <vulkan.h>
+#include <deimos/vulkan/vulkan.h>
using namespace deimos;
@@ -11,17 +9,15 @@ int main(int /* argc */, char* /* argv */[])
{
auto* api_registry = InitializeGlobalApiRegistry();
auto* log_api = api_registry->Get<LogApi>();
- auto* os_api = api_registry->Get<OsApi>();
+ log_api->LogInfo("Base APIs registered");
+
+ RegisterVulkanLoaderApi(api_registry);
+ auto* vulkan_loader_api = api_registry->Get<VulkanLoaderApi>();
+ auto* vk = vulkan_loader_api->LoadEntry();
- log_api->LogInfo("Hello");
-
- auto* vulkan_dll = os_api->dll->Open("vulkan-1.dll");
- Ensures(vulkan_dll != nullptr);
- log_api->LogInfo("Vulkan DLL loaded");
-
- auto vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)os_api->dll->GetSymbol(vulkan_dll, "vkGetInstanceProcAddr");
- Ensures(vkGetInstanceProcAddr != nullptr);
- log_api->LogInfo("vkGetInstanceProcAddr found");
+ Ensures(vk->GetInstanceProcAddr != nullptr);
+ Ensures(vk->CreateInstance != nullptr);
+ log_api->LogInfo("OK");
return 0;
}