2018-02-26 19:42:15 +01:00
|
|
|
/* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */
|
|
|
|
|
|
|
|
#ifndef __WINE_VULKAN_DRIVER_H
|
|
|
|
#define __WINE_VULKAN_DRIVER_H
|
|
|
|
|
|
|
|
/* Wine internal vulkan driver version, needs to be bumped upon vulkan_funcs changes. */
|
2018-03-12 15:37:53 +01:00
|
|
|
#define WINE_VULKAN_DRIVER_VERSION 3
|
2018-02-26 19:42:15 +01:00
|
|
|
|
|
|
|
struct vulkan_funcs
|
|
|
|
{
|
|
|
|
/* Vulkan global functions. These are the only calls at this point a graphics driver
|
|
|
|
* needs to provide. Other function calls will be provided indirectly by dispatch
|
|
|
|
* tables part of dispatchable Vulkan objects such as VkInstance or vkDevice.
|
|
|
|
*/
|
2018-03-12 15:37:53 +01:00
|
|
|
VkResult (*p_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
|
2018-02-26 19:42:15 +01:00
|
|
|
VkResult (*p_vkCreateInstance)(const VkInstanceCreateInfo *, const VkAllocationCallbacks *, VkInstance *);
|
2018-03-12 15:37:53 +01:00
|
|
|
VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
|
|
|
|
VkResult (*p_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
|
2018-02-26 19:42:15 +01:00
|
|
|
void (*p_vkDestroyInstance)(VkInstance, const VkAllocationCallbacks *);
|
2018-03-12 15:37:53 +01:00
|
|
|
void (*p_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
|
|
|
|
void (*p_vkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
|
2018-02-26 19:42:15 +01:00
|
|
|
VkResult (*p_vkEnumerateInstanceExtensionProperties)(const char *, uint32_t *, VkExtensionProperties *);
|
2018-03-09 17:48:48 +01:00
|
|
|
void * (*p_vkGetDeviceProcAddr)(VkDevice, const char *);
|
2018-02-26 19:42:15 +01:00
|
|
|
void * (*p_vkGetInstanceProcAddr)(VkInstance, const char *);
|
2018-03-12 15:37:53 +01:00
|
|
|
VkResult (*p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
|
|
|
|
VkResult (*p_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
|
|
|
|
VkResult (*p_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
|
|
|
|
VkResult (*p_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice, uint32_t, VkSurfaceKHR, VkBool32 *);
|
|
|
|
VkBool32 (*p_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice, uint32_t);
|
|
|
|
VkResult (*p_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
|
|
|
|
VkResult (*p_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
|
2018-02-26 19:42:15 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
extern const struct vulkan_funcs * CDECL __wine_get_vulkan_driver(HDC hdc, UINT version);
|
|
|
|
|
|
|
|
#endif /* __WINE_VULKAN_DRIVER_H */
|