diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-04-22 00:17:53 +0200 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-04-22 00:17:53 +0200 |
commit | 85985c4408906b18eb451ca94edabaa0c3607817 (patch) | |
tree | d5a596f02e4070153fa2785f77f4ee267d1fb914 /main | |
parent | 2f7f41f3b8b9886b55858111a56500d2fb2fd4e8 (diff) |
Add Vulkan loader
Diffstat (limited to 'main')
-rw-r--r-- | main/BUILD | 3 | ||||
-rw-r--r-- | main/main.cpp | 22 |
2 files changed, 10 insertions, 15 deletions
@@ -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;
}
|