#include "loader.h"
#include "windows.h"
#include "vulkan/vulkan_win32.h"
extern VkInstance instance;
extern VkDevice device;
extern VkPhysicalDevice physicalDevice;
VkResult CreateWin32SurfaceKHR(
const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
VkSurfaceKHR* pSurface) {
return ((PFN_vkCreateWin32SurfaceKHR)vkCreateWin32SurfaceKHR)(instance, pCreateInfo, 0, pSurface);
}
VkBool32 GetPhysicalDeviceWin32PresentationSupportKHR() {
return ((PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)vkGetPhysicalDeviceWin32PresentationSupportKHR)(physicalDevice, 0);
}
VkResult GetMemoryWin32HandleKHR(
const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
HANDLE* pHandle) {
return ((PFN_vkGetMemoryWin32HandleKHR)vkGetMemoryWin32HandleKHR)(device, pGetWin32HandleInfo, pHandle);
}
VkResult GetMemoryWin32HandlePropertiesKHR(
VkExternalMemoryHandleTypeFlagBits handleType,
HANDLE handle,
VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) {
return ((PFN_vkGetMemoryWin32HandlePropertiesKHR)vkGetMemoryWin32HandlePropertiesKHR)(device, handleType, handle, pMemoryWin32HandleProperties);
}
VkResult ImportSemaphoreWin32HandleKHR(
const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) {
return ((PFN_vkImportSemaphoreWin32HandleKHR)vkImportSemaphoreWin32HandleKHR)(device, pImportSemaphoreWin32HandleInfo);
}
VkResult GetSemaphoreWin32HandleKHR(
const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
HANDLE* pHandle) {
return ((PFN_vkGetSemaphoreWin32HandleKHR)vkGetSemaphoreWin32HandleKHR)(device, pGetWin32HandleInfo, pHandle);
}
VkResult ImportFenceWin32HandleKHR(
const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) {
return ((PFN_vkImportFenceWin32HandleKHR)vkImportFenceWin32HandleKHR)(device, pImportFenceWin32HandleInfo);
}
VkResult GetFenceWin32HandleKHR(
const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
HANDLE* pHandle) {
return ((PFN_vkGetFenceWin32HandleKHR)vkGetFenceWin32HandleKHR)(device, pGetWin32HandleInfo, pHandle);
}
VkResult GetMemoryWin32HandleNV(
VkDeviceMemory memory,
VkExternalMemoryHandleTypeFlagsNV handleType,
HANDLE* pHandle) {
return ((PFN_vkGetMemoryWin32HandleNV)vkGetMemoryWin32HandleNV)(device, memory, handleType, pHandle);
}
VkResult GetPhysicalDeviceSurfacePresentModes2EXT(
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
uint32_t* pPresentModeCount,
VkPresentModeKHR* pPresentModes) {
return ((PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)vkGetPhysicalDeviceSurfacePresentModes2EXT)(physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes);
}
VkResult AcquireFullScreenExclusiveModeEXT(
VkSwapchainKHR swapchain) {
return ((PFN_vkAcquireFullScreenExclusiveModeEXT)vkAcquireFullScreenExclusiveModeEXT)(device, swapchain);
}
VkResult ReleaseFullScreenExclusiveModeEXT(
VkSwapchainKHR swapchain) {
return ((PFN_vkReleaseFullScreenExclusiveModeEXT)vkReleaseFullScreenExclusiveModeEXT)(device, swapchain);
}
VkResult GetDeviceGroupSurfacePresentModes2EXT(
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
VkDeviceGroupPresentModeFlagsKHR* pModes) {
return ((PFN_vkGetDeviceGroupSurfacePresentModes2EXT)vkGetDeviceGroupSurfacePresentModes2EXT)(device, pSurfaceInfo, pModes);
}