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.
|
||||
#
|
||||
|
||||
@ stub vkAcquireNextImage2KHR
|
||||
@ stdcall vkAcquireNextImageKHR(ptr int64 int64 int64 int64 ptr) winevulkan.wine_vkAcquireNextImageKHR
|
||||
@ stdcall vkAllocateCommandBuffers(ptr ptr ptr) winevulkan.wine_vkAllocateCommandBuffers
|
||||
@ stdcall vkAllocateDescriptorSets(ptr ptr ptr) winevulkan.wine_vkAllocateDescriptorSets
|
||||
|
@ -158,6 +159,8 @@
|
|||
@ stub vkGetBufferMemoryRequirements2
|
||||
@ stub vkGetDescriptorSetLayoutSupport
|
||||
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
||||
@ stub vkGetDeviceGroupPresentCapabilitiesKHR
|
||||
@ stub 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
|
||||
|
@ -186,6 +189,7 @@
|
|||
@ stub vkGetPhysicalDeviceImageFormatProperties2
|
||||
@ stdcall vkGetPhysicalDeviceMemoryProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceMemoryProperties
|
||||
@ stub vkGetPhysicalDeviceMemoryProperties2
|
||||
@ stub vkGetPhysicalDevicePresentRectanglesKHR
|
||||
@ stdcall vkGetPhysicalDeviceProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceProperties
|
||||
@ stub vkGetPhysicalDeviceProperties2
|
||||
@ stdcall vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr) winevulkan.wine_vkGetPhysicalDeviceQueueFamilyProperties
|
||||
|
|
|
@ -113,7 +113,7 @@ BLACKLISTED_EXTENSIONS = [
|
|||
"VK_KHR_external_semaphore_capabilities",
|
||||
"VK_KHR_shared_presentable_image", # Needs WSI work.
|
||||
"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
|
||||
|
@ -123,7 +123,7 @@ CORE_EXTENSIONS = [
|
|||
"VK_KHR_display_swapchain",
|
||||
"VK_KHR_surface",
|
||||
"VK_KHR_swapchain",
|
||||
"VK_KHR_win32_surface"
|
||||
"VK_KHR_win32_surface",
|
||||
]
|
||||
|
||||
# Functions part of our winevulkan graphics driver interface.
|
||||
|
@ -377,8 +377,8 @@ class VkEnumValue(object):
|
|||
|
||||
|
||||
class VkFunction(object):
|
||||
def __init__(self, _type=None, name=None, params=[], extension=None, alias=False):
|
||||
self.extension = extension
|
||||
def __init__(self, _type=None, name=None, params=[], extensions=[], alias=False):
|
||||
self.extensions = []
|
||||
self.name = name
|
||||
self.type = _type
|
||||
self.params = params
|
||||
|
@ -448,13 +448,10 @@ class VkFunction(object):
|
|||
Core API as well as several KHR WSI extensions.
|
||||
"""
|
||||
|
||||
if self.extension is None:
|
||||
if not self.extensions:
|
||||
return True
|
||||
|
||||
if self.extension in CORE_EXTENSIONS:
|
||||
return True
|
||||
|
||||
return False
|
||||
return any(ext in self.extensions for ext in CORE_EXTENSIONS)
|
||||
|
||||
def is_device_func(self):
|
||||
# If none of the other, it must be a device function
|
||||
|
@ -2452,7 +2449,7 @@ class VkRegistry(object):
|
|||
commands = ext.findall("require/command")
|
||||
for command in commands:
|
||||
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.
|
||||
if ext.attrib["supported"] == "disabled":
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
@ stdcall vk_icdGetInstanceProcAddr(ptr str) wine_vk_icdGetInstanceProcAddr
|
||||
@ stdcall vk_icdNegotiateLoaderICDInterfaceVersion(ptr) wine_vk_icdNegotiateLoaderICDInterfaceVersion
|
||||
@ stub vkAcquireNextImage2KHR
|
||||
@ stdcall wine_vkAcquireNextImageKHR(ptr int64 int64 int64 int64 ptr)
|
||||
@ stdcall wine_vkAllocateCommandBuffers(ptr ptr ptr)
|
||||
@ stdcall wine_vkAllocateDescriptorSets(ptr ptr ptr)
|
||||
|
@ -159,6 +160,8 @@
|
|||
@ stub vkGetBufferMemoryRequirements2
|
||||
@ stub vkGetDescriptorSetLayoutSupport
|
||||
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
||||
@ stub vkGetDeviceGroupPresentCapabilitiesKHR
|
||||
@ stub vkGetDeviceGroupSurfacePresentModesKHR
|
||||
@ stdcall wine_vkGetDeviceMemoryCommitment(ptr int64 ptr)
|
||||
@ stdcall wine_vkGetDeviceProcAddr(ptr str)
|
||||
@ stdcall wine_vkGetDeviceQueue(ptr long long ptr)
|
||||
|
@ -187,6 +190,7 @@
|
|||
@ stub vkGetPhysicalDeviceImageFormatProperties2
|
||||
@ stdcall wine_vkGetPhysicalDeviceMemoryProperties(ptr ptr)
|
||||
@ stub vkGetPhysicalDeviceMemoryProperties2
|
||||
@ stub vkGetPhysicalDevicePresentRectanglesKHR
|
||||
@ stdcall wine_vkGetPhysicalDeviceProperties(ptr ptr)
|
||||
@ stub vkGetPhysicalDeviceProperties2
|
||||
@ stdcall wine_vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr)
|
||||
|
|
Loading…
Reference in New Issue