winevulkan: Correctly recognize commands belonging to multiple extensions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
f5ea51d360
commit
dbb0c9305a
@ -34,6 +34,7 @@
|
|||||||
# but only in their entirety and only with respect to the Combined Software.
|
# but only in their entirety and only with respect to the Combined Software.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ stub vkAcquireNextImage2KHR
|
||||||
@ stdcall vkAcquireNextImageKHR(ptr int64 int64 int64 int64 ptr) winevulkan.wine_vkAcquireNextImageKHR
|
@ stdcall vkAcquireNextImageKHR(ptr int64 int64 int64 int64 ptr) winevulkan.wine_vkAcquireNextImageKHR
|
||||||
@ stdcall vkAllocateCommandBuffers(ptr ptr ptr) winevulkan.wine_vkAllocateCommandBuffers
|
@ stdcall vkAllocateCommandBuffers(ptr ptr ptr) winevulkan.wine_vkAllocateCommandBuffers
|
||||||
@ stdcall vkAllocateDescriptorSets(ptr ptr ptr) winevulkan.wine_vkAllocateDescriptorSets
|
@ stdcall vkAllocateDescriptorSets(ptr ptr ptr) winevulkan.wine_vkAllocateDescriptorSets
|
||||||
@ -158,6 +159,8 @@
|
|||||||
@ stub vkGetBufferMemoryRequirements2
|
@ stub vkGetBufferMemoryRequirements2
|
||||||
@ stub vkGetDescriptorSetLayoutSupport
|
@ stub vkGetDescriptorSetLayoutSupport
|
||||||
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
||||||
|
@ stub vkGetDeviceGroupPresentCapabilitiesKHR
|
||||||
|
@ stub vkGetDeviceGroupSurfacePresentModesKHR
|
||||||
@ stdcall vkGetDeviceMemoryCommitment(ptr int64 ptr) winevulkan.wine_vkGetDeviceMemoryCommitment
|
@ stdcall vkGetDeviceMemoryCommitment(ptr int64 ptr) winevulkan.wine_vkGetDeviceMemoryCommitment
|
||||||
@ stdcall vkGetDeviceProcAddr(ptr str) winevulkan.wine_vkGetDeviceProcAddr
|
@ stdcall vkGetDeviceProcAddr(ptr str) winevulkan.wine_vkGetDeviceProcAddr
|
||||||
@ stdcall vkGetDeviceQueue(ptr long long ptr) winevulkan.wine_vkGetDeviceQueue
|
@ stdcall vkGetDeviceQueue(ptr long long ptr) winevulkan.wine_vkGetDeviceQueue
|
||||||
@ -186,6 +189,7 @@
|
|||||||
@ stub vkGetPhysicalDeviceImageFormatProperties2
|
@ stub vkGetPhysicalDeviceImageFormatProperties2
|
||||||
@ stdcall vkGetPhysicalDeviceMemoryProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceMemoryProperties
|
@ stdcall vkGetPhysicalDeviceMemoryProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceMemoryProperties
|
||||||
@ stub vkGetPhysicalDeviceMemoryProperties2
|
@ stub vkGetPhysicalDeviceMemoryProperties2
|
||||||
|
@ stub vkGetPhysicalDevicePresentRectanglesKHR
|
||||||
@ stdcall vkGetPhysicalDeviceProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceProperties
|
@ stdcall vkGetPhysicalDeviceProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceProperties
|
||||||
@ stub vkGetPhysicalDeviceProperties2
|
@ stub vkGetPhysicalDeviceProperties2
|
||||||
@ stdcall vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr) winevulkan.wine_vkGetPhysicalDeviceQueueFamilyProperties
|
@ stdcall vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr) winevulkan.wine_vkGetPhysicalDeviceQueueFamilyProperties
|
||||||
|
@ -113,7 +113,7 @@ BLACKLISTED_EXTENSIONS = [
|
|||||||
"VK_KHR_external_semaphore_capabilities",
|
"VK_KHR_external_semaphore_capabilities",
|
||||||
"VK_KHR_shared_presentable_image", # Needs WSI work.
|
"VK_KHR_shared_presentable_image", # Needs WSI work.
|
||||||
"VK_KHR_win32_keyed_mutex",
|
"VK_KHR_win32_keyed_mutex",
|
||||||
"VK_NV_external_memory_win32"
|
"VK_NV_external_memory_win32",
|
||||||
]
|
]
|
||||||
|
|
||||||
# The Vulkan loader provides entry-points for core functionality and important
|
# The Vulkan loader provides entry-points for core functionality and important
|
||||||
@ -123,7 +123,7 @@ CORE_EXTENSIONS = [
|
|||||||
"VK_KHR_display_swapchain",
|
"VK_KHR_display_swapchain",
|
||||||
"VK_KHR_surface",
|
"VK_KHR_surface",
|
||||||
"VK_KHR_swapchain",
|
"VK_KHR_swapchain",
|
||||||
"VK_KHR_win32_surface"
|
"VK_KHR_win32_surface",
|
||||||
]
|
]
|
||||||
|
|
||||||
# Functions part of our winevulkan graphics driver interface.
|
# Functions part of our winevulkan graphics driver interface.
|
||||||
@ -377,8 +377,8 @@ class VkEnumValue(object):
|
|||||||
|
|
||||||
|
|
||||||
class VkFunction(object):
|
class VkFunction(object):
|
||||||
def __init__(self, _type=None, name=None, params=[], extension=None, alias=False):
|
def __init__(self, _type=None, name=None, params=[], extensions=[], alias=False):
|
||||||
self.extension = extension
|
self.extensions = []
|
||||||
self.name = name
|
self.name = name
|
||||||
self.type = _type
|
self.type = _type
|
||||||
self.params = params
|
self.params = params
|
||||||
@ -448,13 +448,10 @@ class VkFunction(object):
|
|||||||
Core API as well as several KHR WSI extensions.
|
Core API as well as several KHR WSI extensions.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if self.extension is None:
|
if not self.extensions:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.extension in CORE_EXTENSIONS:
|
return any(ext in self.extensions for ext in CORE_EXTENSIONS)
|
||||||
return True
|
|
||||||
|
|
||||||
return False
|
|
||||||
|
|
||||||
def is_device_func(self):
|
def is_device_func(self):
|
||||||
# If none of the other, it must be a device function
|
# If none of the other, it must be a device function
|
||||||
@ -2452,7 +2449,7 @@ class VkRegistry(object):
|
|||||||
commands = ext.findall("require/command")
|
commands = ext.findall("require/command")
|
||||||
for command in commands:
|
for command in commands:
|
||||||
cmd_name = command.attrib["name"]
|
cmd_name = command.attrib["name"]
|
||||||
self.funcs[cmd_name].extension = ext_name
|
self.funcs[cmd_name].extensions.append(ext_name)
|
||||||
|
|
||||||
# Some extensions are not ready or have numbers reserved as a place holder.
|
# Some extensions are not ready or have numbers reserved as a place holder.
|
||||||
if ext.attrib["supported"] == "disabled":
|
if ext.attrib["supported"] == "disabled":
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
|
|
||||||
@ stdcall vk_icdGetInstanceProcAddr(ptr str) wine_vk_icdGetInstanceProcAddr
|
@ stdcall vk_icdGetInstanceProcAddr(ptr str) wine_vk_icdGetInstanceProcAddr
|
||||||
@ stdcall vk_icdNegotiateLoaderICDInterfaceVersion(ptr) wine_vk_icdNegotiateLoaderICDInterfaceVersion
|
@ stdcall vk_icdNegotiateLoaderICDInterfaceVersion(ptr) wine_vk_icdNegotiateLoaderICDInterfaceVersion
|
||||||
|
@ stub vkAcquireNextImage2KHR
|
||||||
@ stdcall wine_vkAcquireNextImageKHR(ptr int64 int64 int64 int64 ptr)
|
@ stdcall wine_vkAcquireNextImageKHR(ptr int64 int64 int64 int64 ptr)
|
||||||
@ stdcall wine_vkAllocateCommandBuffers(ptr ptr ptr)
|
@ stdcall wine_vkAllocateCommandBuffers(ptr ptr ptr)
|
||||||
@ stdcall wine_vkAllocateDescriptorSets(ptr ptr ptr)
|
@ stdcall wine_vkAllocateDescriptorSets(ptr ptr ptr)
|
||||||
@ -159,6 +160,8 @@
|
|||||||
@ stub vkGetBufferMemoryRequirements2
|
@ stub vkGetBufferMemoryRequirements2
|
||||||
@ stub vkGetDescriptorSetLayoutSupport
|
@ stub vkGetDescriptorSetLayoutSupport
|
||||||
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
||||||
|
@ stub vkGetDeviceGroupPresentCapabilitiesKHR
|
||||||
|
@ stub vkGetDeviceGroupSurfacePresentModesKHR
|
||||||
@ stdcall wine_vkGetDeviceMemoryCommitment(ptr int64 ptr)
|
@ stdcall wine_vkGetDeviceMemoryCommitment(ptr int64 ptr)
|
||||||
@ stdcall wine_vkGetDeviceProcAddr(ptr str)
|
@ stdcall wine_vkGetDeviceProcAddr(ptr str)
|
||||||
@ stdcall wine_vkGetDeviceQueue(ptr long long ptr)
|
@ stdcall wine_vkGetDeviceQueue(ptr long long ptr)
|
||||||
@ -187,6 +190,7 @@
|
|||||||
@ stub vkGetPhysicalDeviceImageFormatProperties2
|
@ stub vkGetPhysicalDeviceImageFormatProperties2
|
||||||
@ stdcall wine_vkGetPhysicalDeviceMemoryProperties(ptr ptr)
|
@ stdcall wine_vkGetPhysicalDeviceMemoryProperties(ptr ptr)
|
||||||
@ stub vkGetPhysicalDeviceMemoryProperties2
|
@ stub vkGetPhysicalDeviceMemoryProperties2
|
||||||
|
@ stub vkGetPhysicalDevicePresentRectanglesKHR
|
||||||
@ stdcall wine_vkGetPhysicalDeviceProperties(ptr ptr)
|
@ stdcall wine_vkGetPhysicalDeviceProperties(ptr ptr)
|
||||||
@ stub vkGetPhysicalDeviceProperties2
|
@ stub vkGetPhysicalDeviceProperties2
|
||||||
@ stdcall wine_vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr)
|
@ stdcall wine_vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user