server: Don't clip update regions to the desktop window.
[wine.git] / include / wine / vulkan_driver.h
blobc11cf33e9c886e4626bc5a2f27b9c9a6659a5816
1 /* Automatically generated from Vulkan vk.xml; DO NOT EDIT!
3 * This file is generated from Vulkan vk.xml file covered
4 * by the following copyright and permission notice:
6 * Copyright (c) 2015-2018 The Khronos Group Inc.
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
20 * ---- Exceptions to the Apache 2.0 License: ----
22 * As an exception, if you use this Software to generate code and portions of
23 * this Software are embedded into the generated code as a result, you may
24 * redistribute such product without providing attribution as would otherwise
25 * be required by Sections 4(a), 4(b) and 4(d) of the License.
27 * In addition, if you combine or link code generated by this Software with
28 * software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1
29 * ("`Combined Software`") and if a court of competent jurisdiction determines
30 * that the patent provision (Section 3), the indemnity provision (Section 9)
31 * or other Section of the License conflicts with the conditions of the
32 * applicable GPL or LGPL license, you may retroactively and prospectively
33 * choose to deem waived or otherwise exclude such Section(s) of the License,
34 * but only in their entirety and only with respect to the Combined Software.
38 #ifndef __WINE_VULKAN_DRIVER_H
39 #define __WINE_VULKAN_DRIVER_H
41 /* Wine internal vulkan driver version, needs to be bumped upon vulkan_funcs changes. */
42 #define WINE_VULKAN_DRIVER_VERSION 3
44 struct vulkan_funcs
46 /* Vulkan global functions. These are the only calls at this point a graphics driver
47 * needs to provide. Other function calls will be provided indirectly by dispatch
48 * tables part of dispatchable Vulkan objects such as VkInstance or vkDevice.
50 VkResult (*p_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
51 VkResult (*p_vkCreateInstance)(const VkInstanceCreateInfo *, const VkAllocationCallbacks *, VkInstance *);
52 VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
53 VkResult (*p_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
54 void (*p_vkDestroyInstance)(VkInstance, const VkAllocationCallbacks *);
55 void (*p_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
56 void (*p_vkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
57 VkResult (*p_vkEnumerateInstanceExtensionProperties)(const char *, uint32_t *, VkExtensionProperties *);
58 void * (*p_vkGetDeviceProcAddr)(VkDevice, const char *);
59 void * (*p_vkGetInstanceProcAddr)(VkInstance, const char *);
60 VkResult (*p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
61 VkResult (*p_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
62 VkResult (*p_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
63 VkResult (*p_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice, uint32_t, VkSurfaceKHR, VkBool32 *);
64 VkBool32 (*p_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice, uint32_t);
65 VkResult (*p_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
66 VkResult (*p_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
69 extern const struct vulkan_funcs * CDECL __wine_get_vulkan_driver(HDC hdc, UINT version);
71 #endif /* __WINE_VULKAN_DRIVER_H */