From edb38589b1fe8b806d28264393ee172d03b6c75c Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Tue, 21 Jan 2025 21:49:20 +0100 Subject: Add vulkan_loader --- hk21/vulkan_loader/loader.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 hk21/vulkan_loader/loader.cpp (limited to 'hk21/vulkan_loader/loader.cpp') diff --git a/hk21/vulkan_loader/loader.cpp b/hk21/vulkan_loader/loader.cpp new file mode 100644 index 0000000..4437282 --- /dev/null +++ b/hk21/vulkan_loader/loader.cpp @@ -0,0 +1,25 @@ +#include "hk21/vulkan_loader/api.hpp" + +#define FN(NAME) PFN_##NAME NAME; +VULKAN_GLOBAL_FNS +#undef FN + +asl::status vulkan_loader::load_global(PFN_vkGetInstanceProcAddr load_fn) +{ + (void)load_fn; + + bool has_errors = false; + +#define FN(NAME) \ + NAME = asl::bit_cast(load_fn(VK_NULL_HANDLE, #NAME)); \ + if (NAME == nullptr) \ + { \ + ASL_ASSERT(NAME != nullptr); \ + has_errors = true; \ + } +VULKAN_GLOBAL_FNS +#undef FN + + return has_errors ? asl::runtime_error() : asl::ok(); +} + -- cgit