summaryrefslogtreecommitdiff
path: root/hk21/vulkan/loader/loader.hpp
blob: e1147f4c7ac13a5bf34c91be31075e6f7af2c55f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright 2025 Steven Le Rouzic
//
// SPDX-License-Identifier: BSD-3-Clause

#pragma once

#include <asl/base/integers.hpp>
#include <asl/types/status.hpp>

#include "hk21/vulkan/vulkan.hpp"
#include "hk21/vulkan/loader/fns.hpp"

#define FN(NAME) extern PFN_##NAME NAME;
VULKAN_GLOBAL_FNS
VULKAN_INSTANCE_FNS
VULKAN_DEVICE_FNS
#undef FN

namespace vulkan_loader
{

asl::status load_global(PFN_vkGetInstanceProcAddr load_fn);
asl::status load_instance(PFN_vkGetInstanceProcAddr load_fn, VkInstance instance);
asl::status load_device(VkDevice device);

} // namespace vulkan_loader