summaryrefslogtreecommitdiff
path: root/hk21/vulkan_loader/api.hpp
blob: 00382e4d5c96c55c5684abe8b1eafa0b9da1db95 (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
28
29
30
31
// Copyright 2025 Steven Le Rouzic
//
// SPDX-License-Identifier: BSD-3-Clause

#pragma once

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

#define VK_NO_STDDEF_H
#define VK_NO_STDINT_H
#define VK_NO_PROTOTYPES
#include <vulkan.h>

#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