lsfg-vk/include/vulkan/funcs.hpp
2025-07-01 09:51:23 +02:00

67 lines
1.8 KiB
C++

#ifndef FUNCS_HPP
#define FUNCS_HPP
#include <vulkan/vulkan_core.h>
namespace Vulkan::Funcs {
///
/// Initialize the global Vulkan function pointers.
///
void initialize();
///
/// Initialize the instance Vulkan function pointers.
///
/// @param instance The Vulkan instance to initialize.
///
void initializeInstance(VkInstance instance);
///
/// Initialize the device Vulkan function pointers.
///
/// @param device The Vulkan device to initialize.
///
void initializeDevice(VkDevice device);
/// Call to the original vkCreateInstance function.
VkResult ovkCreateInstance(
const VkInstanceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkInstance* pInstance
);
/// Call to the original vkDestroyInstance function.
void ovkDestroyInstance(
VkInstance instance,
const VkAllocationCallbacks* pAllocator
);
/// Call to the original vkCreateDevice function.
VkResult ovkCreateDevice(
VkPhysicalDevice physicalDevice,
const VkDeviceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDevice* pDevice
);
/// Call to the original vkDestroyDevice function.
void ovkDestroyDevice(
VkDevice device,
const VkAllocationCallbacks* pAllocator
);
/// Call to the original vkCreateSwapchainKHR function.
VkResult ovkCreateSwapchainKHR(
VkDevice device,
const VkSwapchainCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSwapchainKHR* pSwapchain
);
/// Call to the original vkDestroySwapchainKHR function.
void ovkDestroySwapchainKHR(
VkDevice device,
VkSwapchainKHR swapchain,
const VkAllocationCallbacks* pAllocator
);
}
#endif // FUNCS_HPP