From 85985c4408906b18eb451ca94edabaa0c3607817 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic <steven.lerouzic@gmail.com> Date: Mon, 22 Apr 2024 00:17:53 +0200 Subject: Add Vulkan loader --- deimos/vulkan/vulkan.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 deimos/vulkan/vulkan.h (limited to 'deimos/vulkan/vulkan.h') diff --git a/deimos/vulkan/vulkan.h b/deimos/vulkan/vulkan.h new file mode 100644 index 0000000..549deac --- /dev/null +++ b/deimos/vulkan/vulkan.h @@ -0,0 +1,33 @@ +#pragma once + +#include <deimos/core/id_name.h> +#include <vulkan.h> + +namespace deimos +{ + +class ApiRegistry; + +struct VulkanApi +{ +#define FN(NAME) PFN_vk##NAME NAME{}; +#include "deimos/vulkan/vulkan_entry_functions.inc" +#undef FN +}; + +class VulkanLoaderApi +{ +public: + VulkanLoaderApi() = default; + deimos_NO_COPY_MOVE(VulkanLoaderApi); + virtual ~VulkanLoaderApi() = default; + + static constexpr IdName kApiName{"deimos::VulkanLoaderApi"}; + + virtual VulkanApi* LoadEntry() = 0; +}; + +void RegisterVulkanLoaderApi(ApiRegistry*); + +} // namespace deimos + -- cgit