winevulkan: Add driver functions for VK_KHR_device_group.
In order to unwrap VkSurface. Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
cc0606175b
commit
960e52e12f
|
@ -160,7 +160,7 @@
|
|||
@ stdcall vkGetDescriptorSetLayoutSupport(ptr ptr ptr) winevulkan.wine_vkGetDescriptorSetLayoutSupport
|
||||
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
||||
@ stub vkGetDeviceGroupPresentCapabilitiesKHR
|
||||
@ stub vkGetDeviceGroupSurfacePresentModesKHR
|
||||
@ stdcall vkGetDeviceGroupSurfacePresentModesKHR(ptr int64 long) winevulkan.wine_vkGetDeviceGroupSurfacePresentModesKHR
|
||||
@ stdcall vkGetDeviceMemoryCommitment(ptr int64 ptr) winevulkan.wine_vkGetDeviceMemoryCommitment
|
||||
@ stdcall vkGetDeviceProcAddr(ptr str) winevulkan.wine_vkGetDeviceProcAddr
|
||||
@ stdcall vkGetDeviceQueue(ptr long long ptr) winevulkan.wine_vkGetDeviceQueue
|
||||
|
@ -189,7 +189,7 @@
|
|||
@ stdcall vkGetPhysicalDeviceImageFormatProperties2(ptr ptr ptr) winevulkan.wine_vkGetPhysicalDeviceImageFormatProperties2
|
||||
@ stdcall vkGetPhysicalDeviceMemoryProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceMemoryProperties
|
||||
@ stdcall vkGetPhysicalDeviceMemoryProperties2(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceMemoryProperties2
|
||||
@ stub vkGetPhysicalDevicePresentRectanglesKHR
|
||||
@ stdcall vkGetPhysicalDevicePresentRectanglesKHR(ptr int64 ptr ptr) winevulkan.wine_vkGetPhysicalDevicePresentRectanglesKHR
|
||||
@ stdcall vkGetPhysicalDeviceProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceProperties
|
||||
@ stdcall vkGetPhysicalDeviceProperties2(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceProperties2
|
||||
@ stdcall vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr) winevulkan.wine_vkGetPhysicalDeviceQueueFamilyProperties
|
||||
|
|
|
@ -130,7 +130,7 @@ CORE_EXTENSIONS = [
|
|||
# Functions part of our winevulkan graphics driver interface.
|
||||
# DRIVER_VERSION should be bumped on any change to driver interface
|
||||
# in FUNCTION_OVERRIDES
|
||||
DRIVER_VERSION = 3
|
||||
DRIVER_VERSION = 4
|
||||
|
||||
# Table of functions for which we have a special implementation.
|
||||
# These are regular device / instance functions for which we need
|
||||
|
@ -182,6 +182,10 @@ FUNCTION_OVERRIDES = {
|
|||
|
||||
# VK_KHR_device_group_creation
|
||||
"vkEnumeratePhysicalDeviceGroupsKHR" : {"dispatch" : True, "driver" : False, "thunk" : False},
|
||||
|
||||
# VK_KHR_device_group
|
||||
"vkGetDeviceGroupSurfacePresentModesKHR" : {"dispatch" : True, "driver" : True, "thunk" : True},
|
||||
"vkGetPhysicalDevicePresentRectanglesKHR" : {"dispatch" : True, "driver" : True, "thunk" : True},
|
||||
}
|
||||
|
||||
|
||||
|
@ -397,7 +401,7 @@ class VkFunction(object):
|
|||
|
||||
# Required is set while parsing which APIs and types are required
|
||||
# and is used by the code generation.
|
||||
self.required = False
|
||||
self.required = True if self.driver else False
|
||||
|
||||
@staticmethod
|
||||
def from_alias(command, alias):
|
||||
|
|
|
@ -2174,6 +2174,12 @@ static void WINAPI wine_vkGetDescriptorSetLayoutSupportKHR(VkDevice device, cons
|
|||
device->funcs.p_vkGetDescriptorSetLayoutSupportKHR(device->device, pCreateInfo, pSupport);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR *pModes)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(surface), pModes);
|
||||
return device->funcs.p_vkGetDeviceGroupSurfacePresentModesKHR(device->device, surface, pModes);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(memory), pCommittedMemoryInBytes);
|
||||
|
@ -2436,6 +2442,12 @@ static void WINAPI wine_vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDe
|
|||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(physicalDevice->phys_dev, samples, pMultisampleProperties);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pRectCount, VkRect2D *pRects)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p, %p\n", physicalDevice, wine_dbgstr_longlong(surface), pRectCount, pRects);
|
||||
return physicalDevice->instance->funcs.p_vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice->phys_dev, surface, pRectCount, pRects);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -2870,6 +2882,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkGetBufferMemoryRequirements2KHR", &wine_vkGetBufferMemoryRequirements2KHR},
|
||||
{"vkGetDescriptorSetLayoutSupport", &wine_vkGetDescriptorSetLayoutSupport},
|
||||
{"vkGetDescriptorSetLayoutSupportKHR", &wine_vkGetDescriptorSetLayoutSupportKHR},
|
||||
{"vkGetDeviceGroupSurfacePresentModesKHR", &wine_vkGetDeviceGroupSurfacePresentModesKHR},
|
||||
{"vkGetDeviceMemoryCommitment", &wine_vkGetDeviceMemoryCommitment},
|
||||
{"vkGetDeviceProcAddr", &wine_vkGetDeviceProcAddr},
|
||||
{"vkGetDeviceQueue", &wine_vkGetDeviceQueue},
|
||||
|
@ -2935,6 +2948,7 @@ static const struct vulkan_func vk_instance_dispatch_table[] =
|
|||
{"vkGetPhysicalDeviceMemoryProperties2", &wine_vkGetPhysicalDeviceMemoryProperties2},
|
||||
{"vkGetPhysicalDeviceMemoryProperties2KHR", &wine_vkGetPhysicalDeviceMemoryProperties2KHR},
|
||||
{"vkGetPhysicalDeviceMultisamplePropertiesEXT", &wine_vkGetPhysicalDeviceMultisamplePropertiesEXT},
|
||||
{"vkGetPhysicalDevicePresentRectanglesKHR", &wine_vkGetPhysicalDevicePresentRectanglesKHR},
|
||||
{"vkGetPhysicalDeviceProperties", &wine_vkGetPhysicalDeviceProperties},
|
||||
{"vkGetPhysicalDeviceProperties2", &wine_vkGetPhysicalDeviceProperties2},
|
||||
{"vkGetPhysicalDeviceProperties2KHR", &wine_vkGetPhysicalDeviceProperties2KHR},
|
||||
|
|
|
@ -860,6 +860,7 @@ struct vulkan_device_funcs
|
|||
#endif
|
||||
void (*p_vkGetDescriptorSetLayoutSupport)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
|
||||
void (*p_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
|
||||
VkResult (*p_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice, VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR *);
|
||||
void (*p_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
|
||||
void (*p_vkGetDeviceQueue)(VkDevice, uint32_t, uint32_t, VkQueue *);
|
||||
VkResult (*p_vkGetEventStatus)(VkDevice, VkEvent);
|
||||
|
@ -984,6 +985,7 @@ struct vulkan_instance_funcs
|
|||
void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2 *);
|
||||
#endif
|
||||
void (*p_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice, VkSampleCountFlagBits, VkMultisamplePropertiesEXT *);
|
||||
VkResult (*p_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkRect2D *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties_host *);
|
||||
#else
|
||||
|
@ -1139,6 +1141,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkGetBufferMemoryRequirements2KHR) \
|
||||
USE_VK_FUNC(vkGetDescriptorSetLayoutSupport) \
|
||||
USE_VK_FUNC(vkGetDescriptorSetLayoutSupportKHR) \
|
||||
USE_VK_FUNC(vkGetDeviceGroupSurfacePresentModesKHR) \
|
||||
USE_VK_FUNC(vkGetDeviceMemoryCommitment) \
|
||||
USE_VK_FUNC(vkGetDeviceQueue) \
|
||||
USE_VK_FUNC(vkGetEventStatus) \
|
||||
|
@ -1200,6 +1203,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties2) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceMultisamplePropertiesEXT) \
|
||||
USE_VK_FUNC(vkGetPhysicalDevicePresentRectanglesKHR) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceProperties) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceProperties2) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceProperties2KHR) \
|
||||
|
|
|
@ -161,7 +161,7 @@
|
|||
@ stdcall wine_vkGetDescriptorSetLayoutSupport(ptr ptr ptr)
|
||||
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
||||
@ stub vkGetDeviceGroupPresentCapabilitiesKHR
|
||||
@ stub vkGetDeviceGroupSurfacePresentModesKHR
|
||||
@ stdcall wine_vkGetDeviceGroupSurfacePresentModesKHR(ptr int64 long)
|
||||
@ stdcall wine_vkGetDeviceMemoryCommitment(ptr int64 ptr)
|
||||
@ stdcall wine_vkGetDeviceProcAddr(ptr str)
|
||||
@ stdcall wine_vkGetDeviceQueue(ptr long long ptr)
|
||||
|
@ -190,7 +190,7 @@
|
|||
@ stdcall wine_vkGetPhysicalDeviceImageFormatProperties2(ptr ptr ptr)
|
||||
@ stdcall wine_vkGetPhysicalDeviceMemoryProperties(ptr ptr)
|
||||
@ stdcall wine_vkGetPhysicalDeviceMemoryProperties2(ptr ptr)
|
||||
@ stub vkGetPhysicalDevicePresentRectanglesKHR
|
||||
@ stdcall wine_vkGetPhysicalDevicePresentRectanglesKHR(ptr int64 ptr ptr)
|
||||
@ stdcall wine_vkGetPhysicalDeviceProperties(ptr ptr)
|
||||
@ stdcall wine_vkGetPhysicalDeviceProperties2(ptr ptr)
|
||||
@ stdcall wine_vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr)
|
||||
|
|
|
@ -79,8 +79,10 @@ static void (*pvkDestroyInstance)(VkInstance, const VkAllocationCallbacks *);
|
|||
static void (*pvkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
|
||||
static void (*pvkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
|
||||
static VkResult (*pvkEnumerateInstanceExtensionProperties)(const char *, uint32_t *, VkExtensionProperties *);
|
||||
static VkResult (*pvkGetDeviceGroupSurfacePresentModesKHR)(VkDevice, VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR *);
|
||||
static void * (*pvkGetDeviceProcAddr)(VkDevice, const char *);
|
||||
static void * (*pvkGetInstanceProcAddr)(VkInstance, const char *);
|
||||
static VkResult (*pvkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkRect2D *);
|
||||
static VkResult (*pvkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
|
||||
static VkResult (*pvkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
|
||||
static VkResult (*pvkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
|
||||
|
@ -103,11 +105,12 @@ static BOOL WINAPI wine_vk_init(INIT_ONCE *once, void *param, void **context)
|
|||
{
|
||||
if (!(vulkan_handle = wine_dlopen(SONAME_LIBVULKAN, RTLD_NOW, NULL, 0)))
|
||||
{
|
||||
ERR("Failed to load %s\n", SONAME_LIBVULKAN);
|
||||
ERR("Failed to load %s.\n", SONAME_LIBVULKAN);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#define LOAD_FUNCPTR(f) if ((p##f = wine_dlsym(vulkan_handle, #f, NULL, 0)) == NULL) goto fail;
|
||||
#define LOAD_FUNCPTR(f) if (!(p##f = wine_dlsym(vulkan_handle, #f, NULL, 0))) goto fail;
|
||||
#define LOAD_OPTIONAL_FUNCPTR(f) p##f = wine_dlsym(vulkan_handle, #f, NULL, 0);
|
||||
LOAD_FUNCPTR(vkAcquireNextImageKHR)
|
||||
LOAD_FUNCPTR(vkCreateInstance)
|
||||
LOAD_FUNCPTR(vkCreateSwapchainKHR)
|
||||
|
@ -125,7 +128,10 @@ static BOOL WINAPI wine_vk_init(INIT_ONCE *once, void *param, void **context)
|
|||
LOAD_FUNCPTR(vkGetPhysicalDeviceXlibPresentationSupportKHR)
|
||||
LOAD_FUNCPTR(vkGetSwapchainImagesKHR)
|
||||
LOAD_FUNCPTR(vkQueuePresentKHR)
|
||||
LOAD_OPTIONAL_FUNCPTR(vkGetDeviceGroupSurfacePresentModesKHR)
|
||||
LOAD_OPTIONAL_FUNCPTR(vkGetPhysicalDevicePresentRectanglesKHR)
|
||||
#undef LOAD_FUNCPTR
|
||||
#undef LOAD_OPTIONAL_FUNCPTR
|
||||
|
||||
vulkan_hwnd_context = XUniqueContext();
|
||||
|
||||
|
@ -264,8 +270,7 @@ static VkResult X11DRV_vkCreateSwapchainKHR(VkDevice device,
|
|||
create_info_host = *create_info;
|
||||
create_info_host.surface = surface_from_handle(create_info->surface)->surface;
|
||||
|
||||
return pvkCreateSwapchainKHR(device, &create_info_host, NULL /* allocator */,
|
||||
swapchain);
|
||||
return pvkCreateSwapchainKHR(device, &create_info_host, NULL /* allocator */, swapchain);
|
||||
}
|
||||
|
||||
static VkResult X11DRV_vkCreateWin32SurfaceKHR(VkInstance instance,
|
||||
|
@ -416,6 +421,16 @@ static VkResult X11DRV_vkEnumerateInstanceExtensionProperties(const char *layer_
|
|||
return res;
|
||||
}
|
||||
|
||||
static VkResult X11DRV_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device,
|
||||
VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR *flags)
|
||||
{
|
||||
struct wine_vk_surface *x11_surface = surface_from_handle(surface);
|
||||
|
||||
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(surface), flags);
|
||||
|
||||
return pvkGetDeviceGroupSurfacePresentModesKHR(device, x11_surface->surface, flags);
|
||||
}
|
||||
|
||||
static void *X11DRV_vkGetDeviceProcAddr(VkDevice device, const char *name)
|
||||
{
|
||||
void *proc_addr;
|
||||
|
@ -440,6 +455,16 @@ static void *X11DRV_vkGetInstanceProcAddr(VkInstance instance, const char *name)
|
|||
return pvkGetInstanceProcAddr(instance, name);
|
||||
}
|
||||
|
||||
static VkResult X11DRV_vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice phys_dev,
|
||||
VkSurfaceKHR surface, uint32_t *count, VkRect2D *rects)
|
||||
{
|
||||
struct wine_vk_surface *x11_surface = surface_from_handle(surface);
|
||||
|
||||
TRACE("%p, 0x%s, %p, %p\n", phys_dev, wine_dbgstr_longlong(surface), count, rects);
|
||||
|
||||
return pvkGetPhysicalDevicePresentRectanglesKHR(phys_dev, x11_surface->surface, count, rects);
|
||||
}
|
||||
|
||||
static VkResult X11DRV_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice phys_dev,
|
||||
VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *capabilities)
|
||||
{
|
||||
|
@ -447,8 +472,7 @@ static VkResult X11DRV_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevic
|
|||
|
||||
TRACE("%p, 0x%s, %p\n", phys_dev, wine_dbgstr_longlong(surface), capabilities);
|
||||
|
||||
return pvkGetPhysicalDeviceSurfaceCapabilitiesKHR(phys_dev, x11_surface->surface,
|
||||
capabilities);
|
||||
return pvkGetPhysicalDeviceSurfaceCapabilitiesKHR(phys_dev, x11_surface->surface, capabilities);
|
||||
}
|
||||
|
||||
static VkResult X11DRV_vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice phys_dev,
|
||||
|
@ -458,8 +482,7 @@ static VkResult X11DRV_vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice phy
|
|||
|
||||
TRACE("%p, 0x%s, %p, %p\n", phys_dev, wine_dbgstr_longlong(surface), count, formats);
|
||||
|
||||
return pvkGetPhysicalDeviceSurfaceFormatsKHR(phys_dev, x11_surface->surface,
|
||||
count, formats);
|
||||
return pvkGetPhysicalDeviceSurfaceFormatsKHR(phys_dev, x11_surface->surface, count, formats);
|
||||
}
|
||||
|
||||
static VkResult X11DRV_vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice phys_dev,
|
||||
|
@ -469,8 +492,7 @@ static VkResult X11DRV_vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevic
|
|||
|
||||
TRACE("%p, 0x%s, %p, %p\n", phys_dev, wine_dbgstr_longlong(surface), count, modes);
|
||||
|
||||
return pvkGetPhysicalDeviceSurfacePresentModesKHR(phys_dev, x11_surface->surface, count,
|
||||
modes);
|
||||
return pvkGetPhysicalDeviceSurfacePresentModesKHR(phys_dev, x11_surface->surface, count, modes);
|
||||
}
|
||||
|
||||
static VkResult X11DRV_vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice phys_dev,
|
||||
|
@ -480,8 +502,7 @@ static VkResult X11DRV_vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice phy
|
|||
|
||||
TRACE("%p, %u, 0x%s, %p\n", phys_dev, index, wine_dbgstr_longlong(surface), supported);
|
||||
|
||||
return pvkGetPhysicalDeviceSurfaceSupportKHR(phys_dev, index, x11_surface->surface,
|
||||
supported);
|
||||
return pvkGetPhysicalDeviceSurfaceSupportKHR(phys_dev, index, x11_surface->surface, supported);
|
||||
}
|
||||
|
||||
static VkBool32 X11DRV_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice phys_dev,
|
||||
|
@ -516,8 +537,10 @@ static const struct vulkan_funcs vulkan_funcs =
|
|||
X11DRV_vkDestroySurfaceKHR,
|
||||
X11DRV_vkDestroySwapchainKHR,
|
||||
X11DRV_vkEnumerateInstanceExtensionProperties,
|
||||
X11DRV_vkGetDeviceGroupSurfacePresentModesKHR,
|
||||
X11DRV_vkGetDeviceProcAddr,
|
||||
X11DRV_vkGetInstanceProcAddr,
|
||||
X11DRV_vkGetPhysicalDevicePresentRectanglesKHR,
|
||||
X11DRV_vkGetPhysicalDeviceSurfaceCapabilitiesKHR,
|
||||
X11DRV_vkGetPhysicalDeviceSurfaceFormatsKHR,
|
||||
X11DRV_vkGetPhysicalDeviceSurfacePresentModesKHR,
|
||||
|
@ -541,6 +564,8 @@ static void *get_vulkan_driver_device_proc_addr(const struct vulkan_funcs *vulka
|
|||
return vulkan_funcs->p_vkCreateSwapchainKHR;
|
||||
if (!strcmp(name, "DestroySwapchainKHR"))
|
||||
return vulkan_funcs->p_vkDestroySwapchainKHR;
|
||||
if (!strcmp(name, "GetDeviceGroupSurfacePresentModesKHR"))
|
||||
return vulkan_funcs->p_vkGetDeviceGroupSurfacePresentModesKHR;
|
||||
if (!strcmp(name, "GetDeviceProcAddr"))
|
||||
return vulkan_funcs->p_vkGetDeviceProcAddr;
|
||||
if (!strcmp(name, "GetSwapchainImagesKHR"))
|
||||
|
@ -580,6 +605,8 @@ static void *get_vulkan_driver_instance_proc_addr(const struct vulkan_funcs *vul
|
|||
return vulkan_funcs->p_vkDestroySurfaceKHR;
|
||||
if (!strcmp(name, "GetInstanceProcAddr"))
|
||||
return vulkan_funcs->p_vkGetInstanceProcAddr;
|
||||
if (!strcmp(name, "GetPhysicalDevicePresentRectanglesKHR"))
|
||||
return vulkan_funcs->p_vkGetPhysicalDevicePresentRectanglesKHR;
|
||||
if (!strcmp(name, "GetPhysicalDeviceSurfaceCapabilitiesKHR"))
|
||||
return vulkan_funcs->p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
|
||||
if (!strcmp(name, "GetPhysicalDeviceSurfaceFormatsKHR"))
|
||||
|
|
|
@ -4304,6 +4304,7 @@ typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice, const VkB
|
|||
typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice, const VkBufferMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice, VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
|
||||
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice, const char *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice, uint32_t, uint32_t, VkQueue *);
|
||||
|
@ -4330,6 +4331,7 @@ typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevi
|
|||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2 *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2 *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice, VkSampleCountFlagBits, VkMultisamplePropertiesEXT *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkRect2D *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice, VkPhysicalDeviceProperties2 *);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2 *);
|
||||
|
@ -4511,6 +4513,7 @@ void VKAPI_CALL vkGetBufferMemoryRequirements2(VkDevice device, const VkBufferMe
|
|||
void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
|
||||
void VKAPI_CALL vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport);
|
||||
void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport);
|
||||
VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR *pModes);
|
||||
void VKAPI_CALL vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes);
|
||||
PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice device, const char *pName);
|
||||
void VKAPI_CALL vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue);
|
||||
|
@ -4537,6 +4540,7 @@ void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDev
|
|||
void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties);
|
||||
void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties);
|
||||
void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT *pMultisampleProperties);
|
||||
VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pRectCount, VkRect2D *pRects);
|
||||
void VKAPI_CALL vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties);
|
||||
void VKAPI_CALL vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties);
|
||||
void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties);
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
#define __WINE_VULKAN_DRIVER_H
|
||||
|
||||
/* Wine internal vulkan driver version, needs to be bumped upon vulkan_funcs changes. */
|
||||
#define WINE_VULKAN_DRIVER_VERSION 3
|
||||
#define WINE_VULKAN_DRIVER_VERSION 4
|
||||
|
||||
struct vulkan_funcs
|
||||
{
|
||||
|
@ -55,8 +55,10 @@ struct vulkan_funcs
|
|||
void (*p_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
|
||||
VkResult (*p_vkEnumerateInstanceExtensionProperties)(const char *, uint32_t *, VkExtensionProperties *);
|
||||
VkResult (*p_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice, VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR *);
|
||||
void * (*p_vkGetDeviceProcAddr)(VkDevice, const char *);
|
||||
void * (*p_vkGetInstanceProcAddr)(VkInstance, const char *);
|
||||
VkResult (*p_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkRect2D *);
|
||||
VkResult (*p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
|
||||
VkResult (*p_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
|
||||
VkResult (*p_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
|
||||
|
|
Loading…
Reference in New Issue