winevulkan: Update vk.xml to 1.1.76.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com> Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
3db825aeef
commit
e4164e2b87
|
@ -6,7 +6,9 @@
|
|||
@ stdcall vkAllocateMemory(ptr ptr ptr ptr) winevulkan.wine_vkAllocateMemory
|
||||
@ stdcall vkBeginCommandBuffer(ptr ptr) winevulkan.wine_vkBeginCommandBuffer
|
||||
@ stdcall vkBindBufferMemory(ptr int64 int64 int64) winevulkan.wine_vkBindBufferMemory
|
||||
@ stub vkBindBufferMemory2
|
||||
@ stdcall vkBindImageMemory(ptr int64 int64 int64) winevulkan.wine_vkBindImageMemory
|
||||
@ stub vkBindImageMemory2
|
||||
@ stdcall vkCmdBeginQuery(ptr int64 long long) winevulkan.wine_vkCmdBeginQuery
|
||||
@ stdcall vkCmdBeginRenderPass(ptr ptr long) winevulkan.wine_vkCmdBeginRenderPass
|
||||
@ stdcall vkCmdBindDescriptorSets(ptr long int64 long long ptr long ptr) winevulkan.wine_vkCmdBindDescriptorSets
|
||||
|
@ -23,6 +25,7 @@
|
|||
@ stdcall vkCmdCopyImageToBuffer(ptr int64 long int64 long ptr) winevulkan.wine_vkCmdCopyImageToBuffer
|
||||
@ stdcall vkCmdCopyQueryPoolResults(ptr int64 long long int64 int64 int64 long) winevulkan.wine_vkCmdCopyQueryPoolResults
|
||||
@ stdcall vkCmdDispatch(ptr long long long) winevulkan.wine_vkCmdDispatch
|
||||
@ stub vkCmdDispatchBase
|
||||
@ stdcall vkCmdDispatchIndirect(ptr int64 int64) winevulkan.wine_vkCmdDispatchIndirect
|
||||
@ stdcall vkCmdDraw(ptr long long long long) winevulkan.wine_vkCmdDraw
|
||||
@ stdcall vkCmdDrawIndexed(ptr long long long long long) winevulkan.wine_vkCmdDrawIndexed
|
||||
|
@ -41,6 +44,7 @@
|
|||
@ stdcall vkCmdSetBlendConstants(ptr ptr) winevulkan.wine_vkCmdSetBlendConstants
|
||||
@ stdcall vkCmdSetDepthBias(ptr float float float) winevulkan.wine_vkCmdSetDepthBias
|
||||
@ stdcall vkCmdSetDepthBounds(ptr float float) winevulkan.wine_vkCmdSetDepthBounds
|
||||
@ stub vkCmdSetDeviceMask
|
||||
@ stdcall vkCmdSetEvent(ptr int64 long) winevulkan.wine_vkCmdSetEvent
|
||||
@ stdcall vkCmdSetLineWidth(ptr float) winevulkan.wine_vkCmdSetLineWidth
|
||||
@ stdcall vkCmdSetScissor(ptr long long ptr) winevulkan.wine_vkCmdSetScissor
|
||||
|
@ -57,6 +61,7 @@
|
|||
@ stdcall vkCreateComputePipelines(ptr int64 long ptr ptr ptr) winevulkan.wine_vkCreateComputePipelines
|
||||
@ stdcall vkCreateDescriptorPool(ptr ptr ptr ptr) winevulkan.wine_vkCreateDescriptorPool
|
||||
@ stdcall vkCreateDescriptorSetLayout(ptr ptr ptr ptr) winevulkan.wine_vkCreateDescriptorSetLayout
|
||||
@ stub vkCreateDescriptorUpdateTemplate
|
||||
@ stdcall vkCreateDevice(ptr ptr ptr ptr) winevulkan.wine_vkCreateDevice
|
||||
@ stub vkCreateDisplayModeKHR
|
||||
@ stub vkCreateDisplayPlaneSurfaceKHR
|
||||
|
@ -72,6 +77,7 @@
|
|||
@ stdcall vkCreateQueryPool(ptr ptr ptr ptr) winevulkan.wine_vkCreateQueryPool
|
||||
@ stdcall vkCreateRenderPass(ptr ptr ptr ptr) winevulkan.wine_vkCreateRenderPass
|
||||
@ stdcall vkCreateSampler(ptr ptr ptr ptr) winevulkan.wine_vkCreateSampler
|
||||
@ stub vkCreateSamplerYcbcrConversion
|
||||
@ stdcall vkCreateSemaphore(ptr ptr ptr ptr) winevulkan.wine_vkCreateSemaphore
|
||||
@ stdcall vkCreateShaderModule(ptr ptr ptr ptr) winevulkan.wine_vkCreateShaderModule
|
||||
@ stub vkCreateSharedSwapchainsKHR
|
||||
|
@ -82,6 +88,7 @@
|
|||
@ stdcall vkDestroyCommandPool(ptr int64 ptr) winevulkan.wine_vkDestroyCommandPool
|
||||
@ stdcall vkDestroyDescriptorPool(ptr int64 ptr) winevulkan.wine_vkDestroyDescriptorPool
|
||||
@ stdcall vkDestroyDescriptorSetLayout(ptr int64 ptr) winevulkan.wine_vkDestroyDescriptorSetLayout
|
||||
@ stub vkDestroyDescriptorUpdateTemplate
|
||||
@ stdcall vkDestroyDevice(ptr ptr) winevulkan.wine_vkDestroyDevice
|
||||
@ stdcall vkDestroyEvent(ptr int64 ptr) winevulkan.wine_vkDestroyEvent
|
||||
@ stdcall vkDestroyFence(ptr int64 ptr) winevulkan.wine_vkDestroyFence
|
||||
|
@ -95,6 +102,7 @@
|
|||
@ stdcall vkDestroyQueryPool(ptr int64 ptr) winevulkan.wine_vkDestroyQueryPool
|
||||
@ stdcall vkDestroyRenderPass(ptr int64 ptr) winevulkan.wine_vkDestroyRenderPass
|
||||
@ stdcall vkDestroySampler(ptr int64 ptr) winevulkan.wine_vkDestroySampler
|
||||
@ stub vkDestroySamplerYcbcrConversion
|
||||
@ stdcall vkDestroySemaphore(ptr int64 ptr) winevulkan.wine_vkDestroySemaphore
|
||||
@ stdcall vkDestroyShaderModule(ptr int64 ptr) winevulkan.wine_vkDestroyShaderModule
|
||||
@ stdcall vkDestroySurfaceKHR(ptr int64 ptr) winevulkan.wine_vkDestroySurfaceKHR
|
||||
|
@ -105,33 +113,51 @@
|
|||
@ stdcall vkEnumerateDeviceLayerProperties(ptr ptr ptr) winevulkan.wine_vkEnumerateDeviceLayerProperties
|
||||
@ stdcall vkEnumerateInstanceExtensionProperties(str ptr ptr)
|
||||
@ stdcall vkEnumerateInstanceLayerProperties(ptr ptr)
|
||||
@ stub vkEnumerateInstanceVersion
|
||||
@ stub vkEnumeratePhysicalDeviceGroups
|
||||
@ stdcall vkEnumeratePhysicalDevices(ptr ptr ptr) winevulkan.wine_vkEnumeratePhysicalDevices
|
||||
@ stdcall vkFlushMappedMemoryRanges(ptr long ptr) winevulkan.wine_vkFlushMappedMemoryRanges
|
||||
@ stdcall vkFreeCommandBuffers(ptr int64 long ptr) winevulkan.wine_vkFreeCommandBuffers
|
||||
@ stdcall vkFreeDescriptorSets(ptr int64 long ptr) winevulkan.wine_vkFreeDescriptorSets
|
||||
@ stdcall vkFreeMemory(ptr int64 ptr) winevulkan.wine_vkFreeMemory
|
||||
@ stdcall vkGetBufferMemoryRequirements(ptr int64 ptr) winevulkan.wine_vkGetBufferMemoryRequirements
|
||||
@ stub vkGetBufferMemoryRequirements2
|
||||
@ stub vkGetDescriptorSetLayoutSupport
|
||||
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
||||
@ stdcall vkGetDeviceMemoryCommitment(ptr int64 ptr) winevulkan.wine_vkGetDeviceMemoryCommitment
|
||||
@ stdcall vkGetDeviceProcAddr(ptr str) winevulkan.wine_vkGetDeviceProcAddr
|
||||
@ stdcall vkGetDeviceQueue(ptr long long ptr) winevulkan.wine_vkGetDeviceQueue
|
||||
@ stub vkGetDeviceQueue2
|
||||
@ stub vkGetDisplayModePropertiesKHR
|
||||
@ stub vkGetDisplayPlaneCapabilitiesKHR
|
||||
@ stub vkGetDisplayPlaneSupportedDisplaysKHR
|
||||
@ stdcall vkGetEventStatus(ptr int64) winevulkan.wine_vkGetEventStatus
|
||||
@ stdcall vkGetFenceStatus(ptr int64) winevulkan.wine_vkGetFenceStatus
|
||||
@ stdcall vkGetImageMemoryRequirements(ptr int64 ptr) winevulkan.wine_vkGetImageMemoryRequirements
|
||||
@ stub vkGetImageMemoryRequirements2
|
||||
@ stdcall vkGetImageSparseMemoryRequirements(ptr int64 ptr ptr) winevulkan.wine_vkGetImageSparseMemoryRequirements
|
||||
@ stub vkGetImageSparseMemoryRequirements2
|
||||
@ stdcall vkGetImageSubresourceLayout(ptr int64 ptr ptr) winevulkan.wine_vkGetImageSubresourceLayout
|
||||
@ stdcall vkGetInstanceProcAddr(ptr str)
|
||||
@ stub vkGetPhysicalDeviceDisplayPlanePropertiesKHR
|
||||
@ stub vkGetPhysicalDeviceDisplayPropertiesKHR
|
||||
@ stub vkGetPhysicalDeviceExternalBufferProperties
|
||||
@ stub vkGetPhysicalDeviceExternalFenceProperties
|
||||
@ stub vkGetPhysicalDeviceExternalSemaphoreProperties
|
||||
@ stdcall vkGetPhysicalDeviceFeatures(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceFeatures
|
||||
@ stub vkGetPhysicalDeviceFeatures2
|
||||
@ stdcall vkGetPhysicalDeviceFormatProperties(ptr long ptr) winevulkan.wine_vkGetPhysicalDeviceFormatProperties
|
||||
@ stub vkGetPhysicalDeviceFormatProperties2
|
||||
@ stdcall vkGetPhysicalDeviceImageFormatProperties(ptr long long long long long ptr) winevulkan.wine_vkGetPhysicalDeviceImageFormatProperties
|
||||
@ stub vkGetPhysicalDeviceImageFormatProperties2
|
||||
@ stdcall vkGetPhysicalDeviceMemoryProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceMemoryProperties
|
||||
@ stub vkGetPhysicalDeviceMemoryProperties2
|
||||
@ stdcall vkGetPhysicalDeviceProperties(ptr ptr) winevulkan.wine_vkGetPhysicalDeviceProperties
|
||||
@ stub vkGetPhysicalDeviceProperties2
|
||||
@ stdcall vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr) winevulkan.wine_vkGetPhysicalDeviceQueueFamilyProperties
|
||||
@ stub vkGetPhysicalDeviceQueueFamilyProperties2
|
||||
@ stdcall vkGetPhysicalDeviceSparseImageFormatProperties(ptr long long long long long ptr ptr) winevulkan.wine_vkGetPhysicalDeviceSparseImageFormatProperties
|
||||
@ stub vkGetPhysicalDeviceSparseImageFormatProperties2
|
||||
@ stdcall vkGetPhysicalDeviceSurfaceCapabilitiesKHR(ptr int64 ptr) winevulkan.wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
|
||||
@ stdcall vkGetPhysicalDeviceSurfaceFormatsKHR(ptr int64 ptr ptr) winevulkan.wine_vkGetPhysicalDeviceSurfaceFormatsKHR
|
||||
@ stdcall vkGetPhysicalDeviceSurfacePresentModesKHR(ptr int64 ptr long) winevulkan.wine_vkGetPhysicalDeviceSurfacePresentModesKHR
|
||||
|
@ -154,6 +180,8 @@
|
|||
@ stdcall vkResetEvent(ptr int64) winevulkan.wine_vkResetEvent
|
||||
@ stdcall vkResetFences(ptr long ptr) winevulkan.wine_vkResetFences
|
||||
@ stdcall vkSetEvent(ptr int64) winevulkan.wine_vkSetEvent
|
||||
@ stub vkTrimCommandPool
|
||||
@ stdcall vkUnmapMemory(ptr int64) winevulkan.wine_vkUnmapMemory
|
||||
@ stub vkUpdateDescriptorSetWithTemplate
|
||||
@ stdcall vkUpdateDescriptorSets(ptr long ptr long ptr) winevulkan.wine_vkUpdateDescriptorSets
|
||||
@ stdcall vkWaitForFences(ptr long ptr long int64) winevulkan.wine_vkWaitForFences
|
||||
|
|
|
@ -64,7 +64,7 @@ from enum import Enum
|
|||
LOGGER = logging.Logger("vulkan")
|
||||
LOGGER.addHandler(logging.StreamHandler())
|
||||
|
||||
VK_XML_VERSION = "1.0.51"
|
||||
VK_XML_VERSION = "1.1.76"
|
||||
|
||||
# Filenames to create.
|
||||
WINE_VULKAN_H = "../../include/wine/vulkan.h"
|
||||
|
@ -93,15 +93,18 @@ SUPPORTED_INSTANCE_EXTENSIONS = [
|
|||
|
||||
BLACKLISTED_EXTENSIONS = [
|
||||
# Handling of VK_EXT_debug_report requires some consideration. The win32
|
||||
# loader already provides it for us and it is somewhat usable. . If we add
|
||||
# loader already provides it for us and it is somewhat usable. If we add
|
||||
# plumbing down to the native layer, we will get each message twice as we
|
||||
# use 2 loaders (win32+native), but we may get output from the driver.
|
||||
# In any case callback conversion is required.
|
||||
"VK_EXT_debug_report",
|
||||
"VK_EXT_display_control", # Requires VK_EXT_display_surface_counter
|
||||
"VK_EXT_external_memory_dma_buf", # Linux specific
|
||||
"VK_EXT_hdr_metadata", # Needs WSI work.
|
||||
"VK_GOOGLE_display_timing",
|
||||
"VK_KHR_device_group", # Needs some thought, but part of Vulkan 1.1 Core.
|
||||
"VK_KHR_display", # Needs WSI work.
|
||||
"VK_KHR_external_fence",
|
||||
"VK_KHR_external_fence_fd",
|
||||
"VK_KHR_external_fence_win32",
|
||||
"VK_KHR_external_memory",
|
||||
|
@ -109,6 +112,7 @@ BLACKLISTED_EXTENSIONS = [
|
|||
# Relates to external_semaphore and needs type conversions in bitflags.
|
||||
"VK_KHR_external_semaphore_capabilities",
|
||||
"VK_KHR_shared_presentable_image", # Needs WSI work.
|
||||
"VK_KHR_win32_keyed_mutex",
|
||||
"VK_NV_external_memory_win32"
|
||||
]
|
||||
|
||||
|
@ -184,7 +188,7 @@ class Direction(Enum):
|
|||
|
||||
|
||||
class VkBaseType(object):
|
||||
def __init__(self, name, _type, requires=None):
|
||||
def __init__(self, name, _type, alias=False, requires=None):
|
||||
""" Vulkan base type class.
|
||||
|
||||
VkBaseType is mostly used by Vulkan to define its own
|
||||
|
@ -193,17 +197,23 @@ class VkBaseType(object):
|
|||
Args:
|
||||
name (:obj:'str'): Name of the base type.
|
||||
_type (:obj:'str'): Underlaying type
|
||||
alias (bool): type is an alias or not.
|
||||
requires (:obj:'str', optional): Other types required.
|
||||
Often bitmask values pull in a *FlagBits type.
|
||||
"""
|
||||
self.name = name
|
||||
self.type = _type
|
||||
self.alias = alias
|
||||
self.requires = requires
|
||||
self.required = False
|
||||
|
||||
def definition(self):
|
||||
text = "typedef {0} {1};\n".format(self.type, self.name)
|
||||
return text
|
||||
# Definition is similar for alias or non-alias as type
|
||||
# is already set to alias.
|
||||
return "typedef {0} {1};\n".format(self.type, self.name)
|
||||
|
||||
def is_alias(self):
|
||||
return self.alias
|
||||
|
||||
|
||||
class VkConstant(object):
|
||||
|
@ -244,10 +254,13 @@ class VkDefine(object):
|
|||
# <type category="define"><name>some_name</name>some_value</type>
|
||||
name = name_elem.text
|
||||
|
||||
# VK_API_VERSION is a deprecated constant and we don't really want to parse it or generate
|
||||
# code for it. However the vk.xml feature section still references it.
|
||||
if name == "VK_API_VERSION":
|
||||
return VkDefine(name, "")
|
||||
# Perform minimal parsing for Vulkan constants, which we don't need, but are referenced
|
||||
# elsewhere in vk.xml.
|
||||
# - VK_API_VERSION is a messy, deprecated constant and we don't want generate code for it.
|
||||
# - AHardwareBuffer/ANativeWindow are forard declarations for Android types, which leaked
|
||||
# into the define region.
|
||||
if name in ["VK_API_VERSION", "AHardwareBuffer", "ANativeWindow"]:
|
||||
return VkDefine(name, None)
|
||||
|
||||
# The body of the define is basically unstructured C code. It is not meant for easy parsing.
|
||||
# Some lines contain deprecated values or comments, which we try to filter out.
|
||||
|
@ -261,7 +274,11 @@ class VkDefine(object):
|
|||
for child in define:
|
||||
value += child.text
|
||||
if child.tail is not None:
|
||||
value += child.tail
|
||||
# Split comments for VK_API_VERSION_1_0 / VK_API_VERSION_1_1
|
||||
if "//" in child.tail:
|
||||
value += child.tail.split("//")[0]
|
||||
else:
|
||||
value += child.tail
|
||||
|
||||
return VkDefine(name, value.rstrip(' '))
|
||||
|
||||
|
@ -274,10 +291,16 @@ class VkDefine(object):
|
|||
|
||||
|
||||
class VkEnum(object):
|
||||
def __init__(self, name, values):
|
||||
def __init__(self, name, values, alias=False):
|
||||
self.name = name
|
||||
self.values = values
|
||||
self.required = False
|
||||
self.alias = alias
|
||||
|
||||
@staticmethod
|
||||
def from_alias(enum, alias):
|
||||
name = enum.attrib.get("name")
|
||||
return VkEnum(name, alias.values)
|
||||
|
||||
@staticmethod
|
||||
def from_xml(enum):
|
||||
|
@ -309,6 +332,14 @@ class VkEnum(object):
|
|||
|
||||
def add(self, value):
|
||||
""" Add a value to enum. """
|
||||
|
||||
# Extensions can add new enum values. When an extension is promoted to Core
|
||||
# the registry defines the value twice once for old extension and once for
|
||||
# new Core features. Ignore the duplicate entry.
|
||||
for v in self.values:
|
||||
if v.value == value.value:
|
||||
LOGGER.debug("Adding duplicate enum value {0} to {1}".format(v, self.name))
|
||||
return
|
||||
self.values.append(value)
|
||||
|
||||
def definition(self):
|
||||
|
@ -321,6 +352,9 @@ class VkEnum(object):
|
|||
text += "}} {0};\n\n".format(self.name)
|
||||
return text
|
||||
|
||||
def is_alias(self):
|
||||
return self.alias
|
||||
|
||||
|
||||
class VkEnumValue(object):
|
||||
def __init__(self, name, value, hex=False):
|
||||
|
@ -343,11 +377,12 @@ class VkEnumValue(object):
|
|||
|
||||
|
||||
class VkFunction(object):
|
||||
def __init__(self, _type=None, name=None, params=[], extension=None):
|
||||
def __init__(self, _type=None, name=None, params=[], extension=None, alias=False):
|
||||
self.extension = extension
|
||||
self.name = name
|
||||
self.type = _type
|
||||
self.params = params
|
||||
self.alias = alias
|
||||
|
||||
# For some functions we need some extra metadata from FUNCTION_OVERRIDES.
|
||||
func_info = FUNCTION_OVERRIDES.get(self.name, None)
|
||||
|
@ -359,10 +394,26 @@ class VkFunction(object):
|
|||
# and is used by the code generation.
|
||||
self.required = False
|
||||
|
||||
@staticmethod
|
||||
def from_alias(command, alias):
|
||||
""" Create VkFunction from an alias command.
|
||||
|
||||
Args:
|
||||
command: xml data for command
|
||||
alias (VkFunction): function to use as a base for types / parameters.
|
||||
|
||||
Returns:
|
||||
VkFunction
|
||||
"""
|
||||
func_name = command.attrib.get("name")
|
||||
func_type = alias.type
|
||||
params = alias.params
|
||||
|
||||
return VkFunction(_type=func_type, name=func_name, params=params, alias=True)
|
||||
|
||||
@staticmethod
|
||||
def from_xml(command, types):
|
||||
proto = command.find("proto")
|
||||
|
||||
func_name = proto.find("name").text
|
||||
func_type = proto.find("type").text
|
||||
|
||||
|
@ -388,6 +439,9 @@ class VkFunction(object):
|
|||
|
||||
return conversions
|
||||
|
||||
def is_alias(self):
|
||||
return self.alias
|
||||
|
||||
def is_core_func(self):
|
||||
""" Returns whether the function is a Vulkan core function.
|
||||
Core functions are APIs defined by the Vulkan spec to be part of the
|
||||
|
@ -720,12 +774,18 @@ class VkFunctionPointer(object):
|
|||
|
||||
|
||||
class VkHandle(object):
|
||||
def __init__(self, name, _type, parent):
|
||||
def __init__(self, name, _type, parent, alias=None):
|
||||
self.name = name
|
||||
self.type = _type
|
||||
self.parent = parent
|
||||
self.alias = alias
|
||||
self.required = False
|
||||
|
||||
@staticmethod
|
||||
def from_alias(handle, alias):
|
||||
name = handle.attrib.get("name")
|
||||
return VkHandle(name, alias.type, alias.parent, alias=alias)
|
||||
|
||||
@staticmethod
|
||||
def from_xml(handle):
|
||||
name = handle.find("name").text
|
||||
|
@ -752,14 +812,25 @@ class VkHandle(object):
|
|||
|
||||
def definition(self):
|
||||
""" Generates handle definition e.g. VK_DEFINE_HANDLE(vkInstance) """
|
||||
|
||||
# Legacy types are typedef'ed to the new type if they are aliases.
|
||||
if self.is_alias():
|
||||
return "typedef {0} {1};\n".format(self.alias.name, self.name)
|
||||
|
||||
return "{0}({1})\n".format(self.type, self.name)
|
||||
|
||||
def is_alias(self):
|
||||
return self.alias is not None
|
||||
|
||||
def is_dispatchable(self):
|
||||
""" Some handles like VkInstance, VkDevice are dispatchable objects,
|
||||
which means they contain a dispatch table of function pointers.
|
||||
"""
|
||||
return self.type == "VK_DEFINE_HANDLE"
|
||||
|
||||
def is_required(self):
|
||||
return self.required
|
||||
|
||||
def native_handle(self):
|
||||
""" Provide access to the native handle of a dispatchable object.
|
||||
|
||||
|
@ -1335,11 +1406,11 @@ class VkParam(object):
|
|||
if not self.is_struct():
|
||||
return False
|
||||
|
||||
# VkSparseImageMemoryRequirements is used by vkGetImageSparseMemoryRequirements.
|
||||
# VkSparseImageMemoryRequirements(2) is used by vkGetImageSparseMemoryRequirements(2).
|
||||
# This function is tricky to wrap, because how to wrap depends on whether
|
||||
# pSparseMemoryRequirements is NULL or not. Luckily for VkSparseImageMemoryRequirements
|
||||
# pSparseMemoryRequirements is NULL or not. Luckily for VkSparseImageMemoryRequirements(2)
|
||||
# the alignment works out in such a way that no conversion is needed between win32 and Linux.
|
||||
if self.type == "VkSparseImageMemoryRequirements":
|
||||
if self.type in ["VkSparseImageMemoryRequirements", "VkSparseImageMemoryRequirements2"]:
|
||||
return False
|
||||
|
||||
# If a structure needs alignment changes, it means we need to
|
||||
|
@ -1409,11 +1480,12 @@ class VkParam(object):
|
|||
class VkStruct(Sequence):
|
||||
""" Class which represents the type union and struct. """
|
||||
|
||||
def __init__(self, name, members, returnedonly, union=False):
|
||||
def __init__(self, name, members, returnedonly, alias=False, union=False):
|
||||
self.name = name
|
||||
self.members = members
|
||||
self.returnedonly = returnedonly
|
||||
self.required = False
|
||||
self.alias = alias
|
||||
self.union = union
|
||||
self.type_info = None # To be set later.
|
||||
|
||||
|
@ -1423,6 +1495,11 @@ class VkStruct(Sequence):
|
|||
def __len__(self):
|
||||
return len(self.members)
|
||||
|
||||
@staticmethod
|
||||
def from_alias(struct, alias):
|
||||
name = struct.attrib.get("name")
|
||||
return VkStruct(name, alias.members, alias.returnedonly, alias=True)
|
||||
|
||||
@staticmethod
|
||||
def from_xml(struct):
|
||||
# Unions and structs are the same parsing wise, but we need to
|
||||
|
@ -1466,6 +1543,10 @@ class VkStruct(Sequence):
|
|||
if not (m.is_struct() or m.is_union()):
|
||||
continue
|
||||
|
||||
# VkBaseInstructure and VkBaseOutStructure reference themselves.
|
||||
if m.type == struct.name:
|
||||
break
|
||||
|
||||
found = False
|
||||
# Check if a struct we depend on has already been defined.
|
||||
for s in decoupled_structs:
|
||||
|
@ -1523,6 +1604,9 @@ class VkStruct(Sequence):
|
|||
text += "}} {0};\n\n".format(self.name)
|
||||
return text
|
||||
|
||||
def is_alias(self):
|
||||
return self.alias
|
||||
|
||||
def needs_alignment(self):
|
||||
""" Check if structure needs alignment for 64-bit data.
|
||||
Various structures need alignment on 64-bit variables due
|
||||
|
@ -2063,7 +2147,10 @@ class VkGenerator(object):
|
|||
f.write(define.definition())
|
||||
|
||||
for handle in self.registry.handles:
|
||||
if handle.required:
|
||||
# For backwards compatiblity also create definitions for aliases.
|
||||
# These types normally don't get pulled in as we use the new types
|
||||
# even in legacy functions if they are aliases.
|
||||
if handle.is_required() or handle.is_alias():
|
||||
f.write(handle.definition())
|
||||
f.write("\n")
|
||||
|
||||
|
@ -2273,10 +2360,29 @@ class VkRegistry(object):
|
|||
""" Parse command section containing the Vulkan function calls. """
|
||||
funcs = {}
|
||||
commands = root.findall("./commands/")
|
||||
|
||||
# As of Vulkan 1.1, various extensions got promoted to Core.
|
||||
# The old commands (e.g. KHR) are available for backwards compatibility
|
||||
# and are marked in vk.xml as 'alias' to the non-extension type.
|
||||
# The registry likes to avoid data duplication, so parameters and other
|
||||
# metadata need to be looked up from the Core command.
|
||||
# We parse the alias commands in a second pass.
|
||||
alias_commands = []
|
||||
for command in commands:
|
||||
alias_name = command.attrib.get("alias")
|
||||
if alias_name:
|
||||
alias_commands.append(command)
|
||||
continue
|
||||
|
||||
func = VkFunction.from_xml(command, self.types)
|
||||
funcs[func.name] = func
|
||||
|
||||
for command in alias_commands:
|
||||
alias_name = command.attrib.get("alias")
|
||||
alias = funcs[alias_name]
|
||||
func = VkFunction.from_alias(command, alias)
|
||||
funcs[func.name] = func
|
||||
|
||||
# To make life easy for the code generation, separate all function
|
||||
# calls out in the 3 types of Vulkan functions: device, global and instance.
|
||||
device_funcs = []
|
||||
|
@ -2311,9 +2417,14 @@ class VkRegistry(object):
|
|||
enums[name] = VkEnum.from_xml(enum)
|
||||
else:
|
||||
# If no type is set, we are dealing with API constants.
|
||||
values = []
|
||||
for value in enum.findall("enum"):
|
||||
self.consts.append(VkConstant(value.attrib.get("name"), value.attrib.get("value")))
|
||||
# If enum is an alias, set the value to the alias name.
|
||||
# E.g. VK_LUID_SIZE_KHR is an alias to VK_LUID_SIZE.
|
||||
alias = value.attrib.get("alias")
|
||||
if alias:
|
||||
self.consts.append(VkConstant(value.attrib.get("name"), alias))
|
||||
else:
|
||||
self.consts.append(VkConstant(value.attrib.get("name"), value.attrib.get("value")))
|
||||
|
||||
self.enums = OrderedDict(sorted(enums.items()))
|
||||
|
||||
|
@ -2367,6 +2478,10 @@ class VkRegistry(object):
|
|||
# different features (e.g. Vulkan 1.1). Parse each require section
|
||||
# separately, so we can skip sections we don't want.
|
||||
for require in ext.findall("require"):
|
||||
feature = require.attrib.get("feature")
|
||||
if feature == "VK_VERSION_1_1":
|
||||
continue
|
||||
|
||||
# Extensions can add enum values to Core / extension enums, so add these.
|
||||
for enum_elem in require.findall("enum"):
|
||||
if "bitpos" in enum_elem.keys():
|
||||
|
@ -2416,7 +2531,10 @@ class VkRegistry(object):
|
|||
|
||||
def _parse_features(self, root):
|
||||
""" Parse the feature section, which describes Core commands and types needed. """
|
||||
requires = root.findall("./feature/require")
|
||||
|
||||
# For now limit to 1.0 features as various 1.1 features need more work.
|
||||
# In particular interop extensions promoted to Core.
|
||||
requires = root.findall("./feature/[@name='VK_VERSION_1_0']/require")
|
||||
|
||||
for require in requires:
|
||||
LOGGER.info("Including features for {0}".format(require.attrib.get("comment")))
|
||||
|
@ -2424,8 +2542,10 @@ class VkRegistry(object):
|
|||
# Only deal with command. Other values which appear are enum and type for pulling in some
|
||||
# constants and macros. Tricky to parse, so don't bother right now, we will generate them
|
||||
# anyway for now.
|
||||
name = tag.attrib["name"]
|
||||
if tag.tag == "command":
|
||||
if tag.tag == "comment":
|
||||
continue
|
||||
elif tag.tag == "command":
|
||||
name = tag.attrib["name"]
|
||||
self._mark_command_required(name)
|
||||
elif tag.tag == "enum":
|
||||
# We could pull in relevant constants here. Unfortunately
|
||||
|
@ -2435,6 +2555,7 @@ class VkRegistry(object):
|
|||
pass
|
||||
elif tag.tag == "type":
|
||||
# Pull in types which may not have been pulled in through commands.
|
||||
name = tag.attrib["name"]
|
||||
|
||||
# Skip pull in for vk_platform.h for now.
|
||||
if name == "vk_platform":
|
||||
|
@ -2454,10 +2575,18 @@ class VkRegistry(object):
|
|||
handles = []
|
||||
structs = []
|
||||
|
||||
alias_types = []
|
||||
for t in types:
|
||||
type_info = {}
|
||||
type_info["category"] = t.attrib.get("category", None)
|
||||
|
||||
# We parse aliases in a second pass when we know more.
|
||||
alias = t.attrib.get("alias")
|
||||
if alias:
|
||||
LOGGER.debug("Alias found: {0}".format(alias))
|
||||
alias_types.append(t)
|
||||
continue
|
||||
|
||||
if type_info["category"] in ["include"]:
|
||||
continue
|
||||
|
||||
|
@ -2480,7 +2609,6 @@ class VkRegistry(object):
|
|||
type_info["data"] = bitmask
|
||||
|
||||
if type_info["category"] == "define":
|
||||
name = t.attrib.get("name")
|
||||
define = VkDefine.from_xml(t)
|
||||
defines.append(define)
|
||||
type_info["data"] = define
|
||||
|
@ -2529,6 +2657,37 @@ class VkRegistry(object):
|
|||
# names.
|
||||
self.types[type_info["name"]] = type_info
|
||||
|
||||
# Second pass for alias types, so we can retrieve all data from
|
||||
# the aliased object.
|
||||
for t in alias_types:
|
||||
type_info = {}
|
||||
type_info["category"] = t.attrib.get("category")
|
||||
type_info["name"] = t.attrib.get("name")
|
||||
|
||||
alias = t.attrib.get("alias")
|
||||
|
||||
if type_info["category"] == "bitmask":
|
||||
bitmask = VkBaseType(type_info["name"], alias, alias=True)
|
||||
bitmasks.append(bitmask)
|
||||
type_info["data"] = bitmask
|
||||
|
||||
if type_info["category"] == "enum":
|
||||
enum = VkEnum.from_alias(t, self.types[alias]["data"])
|
||||
type_info["data"] = enum
|
||||
self.enums[enum.name] = enum
|
||||
|
||||
if type_info["category"] == "handle":
|
||||
handle = VkHandle.from_alias(t, self.types[alias]["data"])
|
||||
handles.append(handle)
|
||||
type_info["data"] = handle
|
||||
|
||||
if type_info["category"] == "struct":
|
||||
struct = VkStruct.from_alias(t, self.types[alias]["data"])
|
||||
structs.append(struct)
|
||||
type_info["data"] = struct
|
||||
|
||||
self.types[type_info["name"]] = type_info
|
||||
|
||||
# We need detailed type information during code generation
|
||||
# on structs for alignment reasons. Unfortunately structs
|
||||
# are parsed among other types, so there is no guarantee
|
||||
|
@ -2542,12 +2701,13 @@ class VkRegistry(object):
|
|||
self.base_types = sorted(base_types, key=lambda base_type: base_type.name)
|
||||
self.bitmasks = sorted(bitmasks, key=lambda bitmask: bitmask.name)
|
||||
self.defines = defines
|
||||
self.enums = OrderedDict(sorted(self.enums.items()))
|
||||
self.funcpointers = sorted(funcpointers, key=lambda fp: fp.name)
|
||||
self.handles = sorted(handles, key=lambda handle: handle.name)
|
||||
self.structs = sorted(structs, key=lambda struct: struct.name)
|
||||
|
||||
def download_vk_xml(filename):
|
||||
url = "https://raw.github.com/KhronosGroup/Vulkan-Docs/v{0}-core/src/spec/vk.xml".format(VK_XML_VERSION)
|
||||
url = "https://raw.github.com/KhronosGroup/Vulkan-Docs/v{0}/xml/vk.xml".format(VK_XML_VERSION)
|
||||
if not os.path.isfile(filename):
|
||||
urllib.request.urlretrieve(url, filename)
|
||||
|
||||
|
|
|
@ -74,6 +74,60 @@ static inline void free_VkCommandBufferBeginInfo(VkCommandBufferBeginInfo_host *
|
|||
free_VkCommandBufferInheritanceInfo_array((VkCommandBufferInheritanceInfo_host *)in->pInheritanceInfo, 1);
|
||||
}
|
||||
|
||||
static inline VkBindBufferMemoryInfo_host *convert_VkBindBufferMemoryInfo_array_win_to_host(const VkBindBufferMemoryInfo *in, uint32_t count)
|
||||
{
|
||||
VkBindBufferMemoryInfo_host *out;
|
||||
unsigned int i;
|
||||
|
||||
if (!in) return NULL;
|
||||
|
||||
out = heap_alloc(count * sizeof(*out));
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
out[i].sType = in[i].sType;
|
||||
out[i].pNext = in[i].pNext;
|
||||
out[i].buffer = in[i].buffer;
|
||||
out[i].memory = in[i].memory;
|
||||
out[i].memoryOffset = in[i].memoryOffset;
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
static inline void free_VkBindBufferMemoryInfo_array(VkBindBufferMemoryInfo_host *in, uint32_t count)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
heap_free(in);
|
||||
}
|
||||
|
||||
static inline VkBindImageMemoryInfo_host *convert_VkBindImageMemoryInfo_array_win_to_host(const VkBindImageMemoryInfo *in, uint32_t count)
|
||||
{
|
||||
VkBindImageMemoryInfo_host *out;
|
||||
unsigned int i;
|
||||
|
||||
if (!in) return NULL;
|
||||
|
||||
out = heap_alloc(count * sizeof(*out));
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
out[i].sType = in[i].sType;
|
||||
out[i].pNext = in[i].pNext;
|
||||
out[i].image = in[i].image;
|
||||
out[i].memory = in[i].memory;
|
||||
out[i].memoryOffset = in[i].memoryOffset;
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
static inline void free_VkBindImageMemoryInfo_array(VkBindImageMemoryInfo_host *in, uint32_t count)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
heap_free(in);
|
||||
}
|
||||
|
||||
static inline void convert_VkRenderPassBeginInfo_win_to_host(const VkRenderPassBeginInfo *in, VkRenderPassBeginInfo_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
@ -361,7 +415,7 @@ static inline void free_VkComputePipelineCreateInfo_array(VkComputePipelineCreat
|
|||
heap_free(in);
|
||||
}
|
||||
|
||||
static inline void convert_VkDescriptorUpdateTemplateCreateInfoKHR_win_to_host(const VkDescriptorUpdateTemplateCreateInfoKHR *in, VkDescriptorUpdateTemplateCreateInfoKHR_host *out)
|
||||
static inline void convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(const VkDescriptorUpdateTemplateCreateInfo *in, VkDescriptorUpdateTemplateCreateInfo_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
|
@ -542,6 +596,50 @@ static inline void convert_VkMemoryRequirements_host_to_win(const VkMemoryRequir
|
|||
out->memoryTypeBits = in->memoryTypeBits;
|
||||
}
|
||||
|
||||
static inline void convert_VkBufferMemoryRequirementsInfo2_win_to_host(const VkBufferMemoryRequirementsInfo2 *in, VkBufferMemoryRequirementsInfo2_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = in->pNext;
|
||||
out->buffer = in->buffer;
|
||||
}
|
||||
|
||||
static inline void convert_VkMemoryRequirements2_win_to_host(const VkMemoryRequirements2 *in, VkMemoryRequirements2_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->pNext = in->pNext;
|
||||
out->sType = in->sType;
|
||||
}
|
||||
|
||||
static inline void convert_VkMemoryRequirements2_host_to_win(const VkMemoryRequirements2_host *in, VkMemoryRequirements2 *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = in->pNext;
|
||||
convert_VkMemoryRequirements_host_to_win(&in->memoryRequirements, &out->memoryRequirements);
|
||||
}
|
||||
|
||||
static inline void convert_VkImageMemoryRequirementsInfo2_win_to_host(const VkImageMemoryRequirementsInfo2 *in, VkImageMemoryRequirementsInfo2_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = in->pNext;
|
||||
out->image = in->image;
|
||||
}
|
||||
|
||||
static inline void convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(const VkImageSparseMemoryRequirementsInfo2 *in, VkImageSparseMemoryRequirementsInfo2_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = in->pNext;
|
||||
out->image = in->image;
|
||||
}
|
||||
|
||||
static inline void convert_VkSubresourceLayout_host_to_win(const VkSubresourceLayout_host *in, VkSubresourceLayout *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
@ -564,7 +662,7 @@ static inline void convert_VkImageFormatProperties_host_to_win(const VkImageForm
|
|||
out->maxResourceSize = in->maxResourceSize;
|
||||
}
|
||||
|
||||
static inline void convert_VkImageFormatProperties2KHR_win_to_host(const VkImageFormatProperties2KHR *in, VkImageFormatProperties2KHR_host *out)
|
||||
static inline void convert_VkImageFormatProperties2_win_to_host(const VkImageFormatProperties2 *in, VkImageFormatProperties2_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
|
@ -572,7 +670,7 @@ static inline void convert_VkImageFormatProperties2KHR_win_to_host(const VkImage
|
|||
out->sType = in->sType;
|
||||
}
|
||||
|
||||
static inline void convert_VkImageFormatProperties2KHR_host_to_win(const VkImageFormatProperties2KHR_host *in, VkImageFormatProperties2KHR *out)
|
||||
static inline void convert_VkImageFormatProperties2_host_to_win(const VkImageFormatProperties2_host *in, VkImageFormatProperties2 *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
|
@ -604,7 +702,7 @@ static inline void convert_VkPhysicalDeviceMemoryProperties_host_to_win(const Vk
|
|||
convert_VkMemoryHeap_static_array_host_to_win(in->memoryHeaps, out->memoryHeaps, VK_MAX_MEMORY_HEAPS);
|
||||
}
|
||||
|
||||
static inline void convert_VkPhysicalDeviceMemoryProperties2KHR_win_to_host(const VkPhysicalDeviceMemoryProperties2KHR *in, VkPhysicalDeviceMemoryProperties2KHR_host *out)
|
||||
static inline void convert_VkPhysicalDeviceMemoryProperties2_win_to_host(const VkPhysicalDeviceMemoryProperties2 *in, VkPhysicalDeviceMemoryProperties2_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
|
@ -612,7 +710,7 @@ static inline void convert_VkPhysicalDeviceMemoryProperties2KHR_win_to_host(cons
|
|||
out->sType = in->sType;
|
||||
}
|
||||
|
||||
static inline void convert_VkPhysicalDeviceMemoryProperties2KHR_host_to_win(const VkPhysicalDeviceMemoryProperties2KHR_host *in, VkPhysicalDeviceMemoryProperties2KHR *out)
|
||||
static inline void convert_VkPhysicalDeviceMemoryProperties2_host_to_win(const VkPhysicalDeviceMemoryProperties2_host *in, VkPhysicalDeviceMemoryProperties2 *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
|
@ -748,7 +846,7 @@ static inline void convert_VkPhysicalDeviceProperties_host_to_win(const VkPhysic
|
|||
out->sparseProperties = in->sparseProperties;
|
||||
}
|
||||
|
||||
static inline void convert_VkPhysicalDeviceProperties2KHR_win_to_host(const VkPhysicalDeviceProperties2KHR *in, VkPhysicalDeviceProperties2KHR_host *out)
|
||||
static inline void convert_VkPhysicalDeviceProperties2_win_to_host(const VkPhysicalDeviceProperties2 *in, VkPhysicalDeviceProperties2_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
|
@ -756,7 +854,7 @@ static inline void convert_VkPhysicalDeviceProperties2KHR_win_to_host(const VkPh
|
|||
out->sType = in->sType;
|
||||
}
|
||||
|
||||
static inline void convert_VkPhysicalDeviceProperties2KHR_host_to_win(const VkPhysicalDeviceProperties2KHR_host *in, VkPhysicalDeviceProperties2KHR *out)
|
||||
static inline void convert_VkPhysicalDeviceProperties2_host_to_win(const VkPhysicalDeviceProperties2_host *in, VkPhysicalDeviceProperties2 *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
|
@ -1052,12 +1150,48 @@ VkResult WINAPI wine_vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDevi
|
|||
return device->funcs.p_vkBindBufferMemory(device->device, buffer, memory, memoryOffset);
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkBindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo *pBindInfos)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult result;
|
||||
VkBindBufferMemoryInfo_host *pBindInfos_host;
|
||||
TRACE("%p, %u, %p\n", device, bindInfoCount, pBindInfos);
|
||||
|
||||
pBindInfos_host = convert_VkBindBufferMemoryInfo_array_win_to_host(pBindInfos, bindInfoCount);
|
||||
result = device->funcs.p_vkBindBufferMemory2KHR(device->device, bindInfoCount, pBindInfos_host);
|
||||
|
||||
free_VkBindBufferMemoryInfo_array(pBindInfos_host, bindInfoCount);
|
||||
return result;
|
||||
#else
|
||||
TRACE("%p, %u, %p\n", device, bindInfoCount, pBindInfos);
|
||||
return device->funcs.p_vkBindBufferMemory2KHR(device->device, bindInfoCount, pBindInfos);
|
||||
#endif
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
|
||||
{
|
||||
TRACE("%p, 0x%s, 0x%s, 0x%s\n", device, wine_dbgstr_longlong(image), wine_dbgstr_longlong(memory), wine_dbgstr_longlong(memoryOffset));
|
||||
return device->funcs.p_vkBindImageMemory(device->device, image, memory, memoryOffset);
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkBindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult result;
|
||||
VkBindImageMemoryInfo_host *pBindInfos_host;
|
||||
TRACE("%p, %u, %p\n", device, bindInfoCount, pBindInfos);
|
||||
|
||||
pBindInfos_host = convert_VkBindImageMemoryInfo_array_win_to_host(pBindInfos, bindInfoCount);
|
||||
result = device->funcs.p_vkBindImageMemory2KHR(device->device, bindInfoCount, pBindInfos_host);
|
||||
|
||||
free_VkBindImageMemoryInfo_array(pBindInfos_host, bindInfoCount);
|
||||
return result;
|
||||
#else
|
||||
TRACE("%p, %u, %p\n", device, bindInfoCount, pBindInfos);
|
||||
return device->funcs.p_vkBindImageMemory2KHR(device->device, bindInfoCount, pBindInfos);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WINAPI wine_vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
|
||||
{
|
||||
TRACE("%p, 0x%s, %u, %#x\n", commandBuffer, wine_dbgstr_longlong(queryPool), query, flags);
|
||||
|
@ -1223,6 +1357,12 @@ static void WINAPI wine_vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer command
|
|||
commandBuffer->device->funcs.p_vkCmdDrawIndexedIndirectCountAMD(commandBuffer->command_buffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
|
||||
{
|
||||
TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer, wine_dbgstr_longlong(buffer), wine_dbgstr_longlong(offset), wine_dbgstr_longlong(countBuffer), wine_dbgstr_longlong(countBufferOffset), maxDrawCount, stride);
|
||||
commandBuffer->device->funcs.p_vkCmdDrawIndexedIndirectCountKHR(commandBuffer->command_buffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
|
||||
{
|
||||
TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer, wine_dbgstr_longlong(buffer), wine_dbgstr_longlong(offset), drawCount, stride);
|
||||
|
@ -1235,6 +1375,12 @@ static void WINAPI wine_vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer,
|
|||
commandBuffer->device->funcs.p_vkCmdDrawIndirectCountAMD(commandBuffer->command_buffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
|
||||
{
|
||||
TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer, wine_dbgstr_longlong(buffer), wine_dbgstr_longlong(offset), wine_dbgstr_longlong(countBuffer), wine_dbgstr_longlong(countBufferOffset), maxDrawCount, stride);
|
||||
commandBuffer->device->funcs.p_vkCmdDrawIndirectCountKHR(commandBuffer->command_buffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
|
||||
{
|
||||
TRACE("%p, 0x%s, %u\n", commandBuffer, wine_dbgstr_longlong(queryPool), query);
|
||||
|
@ -1300,7 +1446,7 @@ static void WINAPI wine_vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,
|
|||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void *pData)
|
||||
static void WINAPI wine_vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void *pData)
|
||||
{
|
||||
TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer, wine_dbgstr_longlong(descriptorUpdateTemplate), wine_dbgstr_longlong(layout), set, pData);
|
||||
commandBuffer->device->funcs.p_vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer->command_buffer, descriptorUpdateTemplate, layout, set, pData);
|
||||
|
@ -1360,6 +1506,12 @@ void WINAPI wine_vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidt
|
|||
commandBuffer->device->funcs.p_vkCmdSetLineWidth(commandBuffer->command_buffer, lineWidth);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT *pSampleLocationsInfo)
|
||||
{
|
||||
TRACE("%p, %p\n", commandBuffer, pSampleLocationsInfo);
|
||||
commandBuffer->device->funcs.p_vkCmdSetSampleLocationsEXT(commandBuffer->command_buffer, pSampleLocationsInfo);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors)
|
||||
{
|
||||
TRACE("%p, %u, %u, %p\n", commandBuffer, firstScissor, scissorCount, pScissors);
|
||||
|
@ -1421,6 +1573,12 @@ void WINAPI wine_vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCo
|
|||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker)
|
||||
{
|
||||
TRACE("%p, %#x, 0x%s, 0x%s, %u\n", commandBuffer, pipelineStage, wine_dbgstr_longlong(dstBuffer), wine_dbgstr_longlong(dstOffset), marker);
|
||||
commandBuffer->device->funcs.p_vkCmdWriteBufferMarkerAMD(commandBuffer->command_buffer, pipelineStage, dstBuffer, dstOffset, marker);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
|
||||
{
|
||||
TRACE("%p, %#x, 0x%s, %u\n", commandBuffer, pipelineStage, wine_dbgstr_longlong(queryPool), query);
|
||||
|
@ -1497,14 +1655,14 @@ VkResult WINAPI wine_vkCreateDescriptorSetLayout(VkDevice device, const VkDescri
|
|||
return device->funcs.p_vkCreateDescriptorSetLayout(device->device, pCreateInfo, NULL, pSetLayout);
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkCreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplateKHR *pDescriptorUpdateTemplate)
|
||||
static VkResult WINAPI wine_vkCreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult result;
|
||||
VkDescriptorUpdateTemplateCreateInfoKHR_host pCreateInfo_host;
|
||||
VkDescriptorUpdateTemplateCreateInfo_host pCreateInfo_host;
|
||||
TRACE("%p, %p, %p, %p\n", device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
|
||||
|
||||
convert_VkDescriptorUpdateTemplateCreateInfoKHR_win_to_host(pCreateInfo, &pCreateInfo_host);
|
||||
convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(pCreateInfo, &pCreateInfo_host);
|
||||
result = device->funcs.p_vkCreateDescriptorUpdateTemplateKHR(device->device, &pCreateInfo_host, NULL, pDescriptorUpdateTemplate);
|
||||
|
||||
return result;
|
||||
|
@ -1614,6 +1772,12 @@ VkResult WINAPI wine_vkCreateSampler(VkDevice device, const VkSamplerCreateInfo
|
|||
return device->funcs.p_vkCreateSampler(device->device, pCreateInfo, NULL, pSampler);
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkCreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSamplerYcbcrConversion *pYcbcrConversion)
|
||||
{
|
||||
TRACE("%p, %p, %p, %p\n", device, pCreateInfo, pAllocator, pYcbcrConversion);
|
||||
return device->funcs.p_vkCreateSamplerYcbcrConversionKHR(device->device, pCreateInfo, NULL, pYcbcrConversion);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSemaphore *pSemaphore)
|
||||
{
|
||||
TRACE("%p, %p, %p, %p\n", device, pCreateInfo, pAllocator, pSemaphore);
|
||||
|
@ -1643,6 +1807,12 @@ VkResult WINAPI wine_vkCreateSwapchainKHR(VkDevice device, const VkSwapchainCrea
|
|||
#endif
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkCreateValidationCacheEXT(VkDevice device, const VkValidationCacheCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkValidationCacheEXT *pValidationCache)
|
||||
{
|
||||
TRACE("%p, %p, %p, %p\n", device, pCreateInfo, pAllocator, pValidationCache);
|
||||
return device->funcs.p_vkCreateValidationCacheEXT(device->device, pCreateInfo, NULL, pValidationCache);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
|
||||
{
|
||||
TRACE("%p, %p, %p, %p\n", instance, pCreateInfo, pAllocator, pSurface);
|
||||
|
@ -1679,7 +1849,7 @@ void WINAPI wine_vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLa
|
|||
device->funcs.p_vkDestroyDescriptorSetLayout(device->device, descriptorSetLayout, NULL);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkDestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator)
|
||||
static void WINAPI wine_vkDestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(descriptorUpdateTemplate), pAllocator);
|
||||
device->funcs.p_vkDestroyDescriptorUpdateTemplateKHR(device->device, descriptorUpdateTemplate, NULL);
|
||||
|
@ -1751,6 +1921,12 @@ void WINAPI wine_vkDestroySampler(VkDevice device, VkSampler sampler, const VkAl
|
|||
device->funcs.p_vkDestroySampler(device->device, sampler, NULL);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkDestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks *pAllocator)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(ycbcrConversion), pAllocator);
|
||||
device->funcs.p_vkDestroySamplerYcbcrConversionKHR(device->device, ycbcrConversion, NULL);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks *pAllocator)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(semaphore), pAllocator);
|
||||
|
@ -1775,6 +1951,12 @@ void WINAPI wine_vkDestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain
|
|||
device->funcs.p_vkDestroySwapchainKHR(device->device, swapchain, NULL);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkDestroyValidationCacheEXT(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks *pAllocator)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(validationCache), pAllocator);
|
||||
device->funcs.p_vkDestroyValidationCacheEXT(device->device, validationCache, NULL);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkDeviceWaitIdle(VkDevice device)
|
||||
{
|
||||
TRACE("%p\n", device);
|
||||
|
@ -1838,6 +2020,30 @@ void WINAPI wine_vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer,
|
|||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkBufferMemoryRequirementsInfo2_host pInfo_host;
|
||||
VkMemoryRequirements2_host pMemoryRequirements_host;
|
||||
TRACE("%p, %p, %p\n", device, pInfo, pMemoryRequirements);
|
||||
|
||||
convert_VkBufferMemoryRequirementsInfo2_win_to_host(pInfo, &pInfo_host);
|
||||
convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements, &pMemoryRequirements_host);
|
||||
device->funcs.p_vkGetBufferMemoryRequirements2KHR(device->device, &pInfo_host, &pMemoryRequirements_host);
|
||||
|
||||
convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host, pMemoryRequirements);
|
||||
#else
|
||||
TRACE("%p, %p, %p\n", device, pInfo, pMemoryRequirements);
|
||||
device->funcs.p_vkGetBufferMemoryRequirements2KHR(device->device, pInfo, pMemoryRequirements);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetDescriptorSetLayoutSupportKHR(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport)
|
||||
{
|
||||
TRACE("%p, %p, %p\n", device, pCreateInfo, pSupport);
|
||||
device->funcs.p_vkGetDescriptorSetLayoutSupportKHR(device->device, pCreateInfo, pSupport);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(memory), pCommittedMemoryInBytes);
|
||||
|
@ -1871,12 +2077,45 @@ void WINAPI wine_vkGetImageMemoryRequirements(VkDevice device, VkImage image, Vk
|
|||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2 *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkImageMemoryRequirementsInfo2_host pInfo_host;
|
||||
VkMemoryRequirements2_host pMemoryRequirements_host;
|
||||
TRACE("%p, %p, %p\n", device, pInfo, pMemoryRequirements);
|
||||
|
||||
convert_VkImageMemoryRequirementsInfo2_win_to_host(pInfo, &pInfo_host);
|
||||
convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements, &pMemoryRequirements_host);
|
||||
device->funcs.p_vkGetImageMemoryRequirements2KHR(device->device, &pInfo_host, &pMemoryRequirements_host);
|
||||
|
||||
convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host, pMemoryRequirements);
|
||||
#else
|
||||
TRACE("%p, %p, %p\n", device, pInfo, pMemoryRequirements);
|
||||
device->funcs.p_vkGetImageMemoryRequirements2KHR(device->device, pInfo, pMemoryRequirements);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WINAPI wine_vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements *pSparseMemoryRequirements)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p, %p\n", device, wine_dbgstr_longlong(image), pSparseMemoryRequirementCount, pSparseMemoryRequirements);
|
||||
device->funcs.p_vkGetImageSparseMemoryRequirements(device->device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkImageSparseMemoryRequirementsInfo2_host pInfo_host;
|
||||
TRACE("%p, %p, %p, %p\n", device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
|
||||
|
||||
convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(pInfo, &pInfo_host);
|
||||
device->funcs.p_vkGetImageSparseMemoryRequirements2KHR(device->device, &pInfo_host, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
|
||||
|
||||
#else
|
||||
TRACE("%p, %p, %p, %p\n", device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
|
||||
device->funcs.p_vkGetImageSparseMemoryRequirements2KHR(device->device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WINAPI wine_vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource *pSubresource, VkSubresourceLayout *pLayout)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -1898,7 +2137,7 @@ void WINAPI wine_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, Vk
|
|||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceFeatures(physicalDevice->phys_dev, pFeatures);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR *pFeatures)
|
||||
static void WINAPI wine_vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 *pFeatures)
|
||||
{
|
||||
TRACE("%p, %p\n", physicalDevice, pFeatures);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceFeatures2KHR(physicalDevice->phys_dev, pFeatures);
|
||||
|
@ -1910,7 +2149,7 @@ void WINAPI wine_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDe
|
|||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceFormatProperties(physicalDevice->phys_dev, format, pFormatProperties);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR *pFormatProperties)
|
||||
static void WINAPI wine_vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 *pFormatProperties)
|
||||
{
|
||||
TRACE("%p, %#x, %p\n", physicalDevice, format, pFormatProperties);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice->phys_dev, format, pFormatProperties);
|
||||
|
@ -1933,17 +2172,17 @@ VkResult WINAPI wine_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice p
|
|||
#endif
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR *pImageFormatInfo, VkImageFormatProperties2KHR *pImageFormatProperties)
|
||||
static VkResult WINAPI wine_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult result;
|
||||
VkImageFormatProperties2KHR_host pImageFormatProperties_host;
|
||||
VkImageFormatProperties2_host pImageFormatProperties_host;
|
||||
TRACE("%p, %p, %p\n", physicalDevice, pImageFormatInfo, pImageFormatProperties);
|
||||
|
||||
convert_VkImageFormatProperties2KHR_win_to_host(pImageFormatProperties, &pImageFormatProperties_host);
|
||||
convert_VkImageFormatProperties2_win_to_host(pImageFormatProperties, &pImageFormatProperties_host);
|
||||
result = physicalDevice->instance->funcs.p_vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice->phys_dev, pImageFormatInfo, &pImageFormatProperties_host);
|
||||
|
||||
convert_VkImageFormatProperties2KHR_host_to_win(&pImageFormatProperties_host, pImageFormatProperties);
|
||||
convert_VkImageFormatProperties2_host_to_win(&pImageFormatProperties_host, pImageFormatProperties);
|
||||
return result;
|
||||
#else
|
||||
TRACE("%p, %p, %p\n", physicalDevice, pImageFormatInfo, pImageFormatProperties);
|
||||
|
@ -1966,22 +2205,28 @@ void WINAPI wine_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDe
|
|||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR *pMemoryProperties)
|
||||
static void WINAPI wine_vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 *pMemoryProperties)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkPhysicalDeviceMemoryProperties2KHR_host pMemoryProperties_host;
|
||||
VkPhysicalDeviceMemoryProperties2_host pMemoryProperties_host;
|
||||
TRACE("%p, %p\n", physicalDevice, pMemoryProperties);
|
||||
|
||||
convert_VkPhysicalDeviceMemoryProperties2KHR_win_to_host(pMemoryProperties, &pMemoryProperties_host);
|
||||
convert_VkPhysicalDeviceMemoryProperties2_win_to_host(pMemoryProperties, &pMemoryProperties_host);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice->phys_dev, &pMemoryProperties_host);
|
||||
|
||||
convert_VkPhysicalDeviceMemoryProperties2KHR_host_to_win(&pMemoryProperties_host, pMemoryProperties);
|
||||
convert_VkPhysicalDeviceMemoryProperties2_host_to_win(&pMemoryProperties_host, pMemoryProperties);
|
||||
#else
|
||||
TRACE("%p, %p\n", physicalDevice, pMemoryProperties);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice->phys_dev, pMemoryProperties);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT *pMultisampleProperties)
|
||||
{
|
||||
TRACE("%p, %#x, %p\n", physicalDevice, samples, pMultisampleProperties);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(physicalDevice->phys_dev, samples, pMultisampleProperties);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -1997,16 +2242,16 @@ void WINAPI wine_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,
|
|||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR *pProperties)
|
||||
static void WINAPI wine_vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkPhysicalDeviceProperties2KHR_host pProperties_host;
|
||||
VkPhysicalDeviceProperties2_host pProperties_host;
|
||||
TRACE("%p, %p\n", physicalDevice, pProperties);
|
||||
|
||||
convert_VkPhysicalDeviceProperties2KHR_win_to_host(pProperties, &pProperties_host);
|
||||
convert_VkPhysicalDeviceProperties2_win_to_host(pProperties, &pProperties_host);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceProperties2KHR(physicalDevice->phys_dev, &pProperties_host);
|
||||
|
||||
convert_VkPhysicalDeviceProperties2KHR_host_to_win(&pProperties_host, pProperties);
|
||||
convert_VkPhysicalDeviceProperties2_host_to_win(&pProperties_host, pProperties);
|
||||
#else
|
||||
TRACE("%p, %p\n", physicalDevice, pProperties);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceProperties2KHR(physicalDevice->phys_dev, pProperties);
|
||||
|
@ -2019,7 +2264,7 @@ void WINAPI wine_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physi
|
|||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice->phys_dev, pQueueFamilyPropertyCount, pQueueFamilyProperties);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR *pQueueFamilyProperties)
|
||||
static void WINAPI wine_vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties)
|
||||
{
|
||||
TRACE("%p, %p, %p\n", physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice->phys_dev, pQueueFamilyPropertyCount, pQueueFamilyProperties);
|
||||
|
@ -2031,7 +2276,7 @@ void WINAPI wine_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice
|
|||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice->phys_dev, format, type, samples, usage, tiling, pPropertyCount, pProperties);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2KHR *pProperties)
|
||||
static void WINAPI wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties)
|
||||
{
|
||||
TRACE("%p, %p, %p, %p\n", physicalDevice, pFormatInfo, pPropertyCount, pProperties);
|
||||
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice->phys_dev, pFormatInfo, pPropertyCount, pProperties);
|
||||
|
@ -2085,12 +2330,24 @@ void WINAPI wine_vkGetRenderAreaGranularity(VkDevice device, VkRenderPass render
|
|||
device->funcs.p_vkGetRenderAreaGranularity(device->device, renderPass, pGranularity);
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkGetShaderInfoAMD(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t *pInfoSize, void *pInfo)
|
||||
{
|
||||
TRACE("%p, 0x%s, %#x, %#x, %p, %p\n", device, wine_dbgstr_longlong(pipeline), shaderStage, infoType, pInfoSize, pInfo);
|
||||
return device->funcs.p_vkGetShaderInfoAMD(device->device, pipeline, shaderStage, infoType, pInfoSize, pInfo);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pSwapchainImageCount, VkImage *pSwapchainImages)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p, %p\n", device, wine_dbgstr_longlong(swapchain), pSwapchainImageCount, pSwapchainImages);
|
||||
return device->funcs.p_vkGetSwapchainImagesKHR(device->device, swapchain, pSwapchainImageCount, pSwapchainImages);
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkGetValidationCacheDataEXT(VkDevice device, VkValidationCacheEXT validationCache, size_t *pDataSize, void *pData)
|
||||
{
|
||||
TRACE("%p, 0x%s, %p, %p\n", device, wine_dbgstr_longlong(validationCache), pDataSize, pData);
|
||||
return device->funcs.p_vkGetValidationCacheDataEXT(device->device, validationCache, pDataSize, pData);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -2121,6 +2378,12 @@ VkResult WINAPI wine_vkMergePipelineCaches(VkDevice device, VkPipelineCache dstC
|
|||
return device->funcs.p_vkMergePipelineCaches(device->device, dstCache, srcCacheCount, pSrcCaches);
|
||||
}
|
||||
|
||||
static VkResult WINAPI wine_vkMergeValidationCachesEXT(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT *pSrcCaches)
|
||||
{
|
||||
TRACE("%p, 0x%s, %u, %p\n", device, wine_dbgstr_longlong(dstCache), srcCacheCount, pSrcCaches);
|
||||
return device->funcs.p_vkMergeValidationCachesEXT(device->device, dstCache, srcCacheCount, pSrcCaches);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -2187,7 +2450,7 @@ VkResult WINAPI wine_vkSetEvent(VkDevice device, VkEvent event)
|
|||
return device->funcs.p_vkSetEvent(device->device, event);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags)
|
||||
static void WINAPI wine_vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
|
||||
{
|
||||
TRACE("%p, 0x%s, %#x\n", device, wine_dbgstr_longlong(commandPool), flags);
|
||||
device->funcs.p_vkTrimCommandPoolKHR(device->device, commandPool, flags);
|
||||
|
@ -2199,7 +2462,7 @@ void WINAPI wine_vkUnmapMemory(VkDevice device, VkDeviceMemory memory)
|
|||
device->funcs.p_vkUnmapMemory(device->device, memory);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void *pData)
|
||||
static void WINAPI wine_vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData)
|
||||
{
|
||||
TRACE("%p, 0x%s, 0x%s, %p\n", device, wine_dbgstr_longlong(descriptorSet), wine_dbgstr_longlong(descriptorUpdateTemplate), pData);
|
||||
device->funcs.p_vkUpdateDescriptorSetWithTemplateKHR(device->device, descriptorSet, descriptorUpdateTemplate, pData);
|
||||
|
@ -2238,7 +2501,9 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkAllocateMemory", &wine_vkAllocateMemory},
|
||||
{"vkBeginCommandBuffer", &wine_vkBeginCommandBuffer},
|
||||
{"vkBindBufferMemory", &wine_vkBindBufferMemory},
|
||||
{"vkBindBufferMemory2KHR", &wine_vkBindBufferMemory2KHR},
|
||||
{"vkBindImageMemory", &wine_vkBindImageMemory},
|
||||
{"vkBindImageMemory2KHR", &wine_vkBindImageMemory2KHR},
|
||||
{"vkCmdBeginQuery", &wine_vkCmdBeginQuery},
|
||||
{"vkCmdBeginRenderPass", &wine_vkCmdBeginRenderPass},
|
||||
{"vkCmdBindDescriptorSets", &wine_vkCmdBindDescriptorSets},
|
||||
|
@ -2260,8 +2525,10 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkCmdDrawIndexed", &wine_vkCmdDrawIndexed},
|
||||
{"vkCmdDrawIndexedIndirect", &wine_vkCmdDrawIndexedIndirect},
|
||||
{"vkCmdDrawIndexedIndirectCountAMD", &wine_vkCmdDrawIndexedIndirectCountAMD},
|
||||
{"vkCmdDrawIndexedIndirectCountKHR", &wine_vkCmdDrawIndexedIndirectCountKHR},
|
||||
{"vkCmdDrawIndirect", &wine_vkCmdDrawIndirect},
|
||||
{"vkCmdDrawIndirectCountAMD", &wine_vkCmdDrawIndirectCountAMD},
|
||||
{"vkCmdDrawIndirectCountKHR", &wine_vkCmdDrawIndirectCountKHR},
|
||||
{"vkCmdEndQuery", &wine_vkCmdEndQuery},
|
||||
{"vkCmdEndRenderPass", &wine_vkCmdEndRenderPass},
|
||||
{"vkCmdExecuteCommands", &wine_vkCmdExecuteCommands},
|
||||
|
@ -2280,6 +2547,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkCmdSetDiscardRectangleEXT", &wine_vkCmdSetDiscardRectangleEXT},
|
||||
{"vkCmdSetEvent", &wine_vkCmdSetEvent},
|
||||
{"vkCmdSetLineWidth", &wine_vkCmdSetLineWidth},
|
||||
{"vkCmdSetSampleLocationsEXT", &wine_vkCmdSetSampleLocationsEXT},
|
||||
{"vkCmdSetScissor", &wine_vkCmdSetScissor},
|
||||
{"vkCmdSetStencilCompareMask", &wine_vkCmdSetStencilCompareMask},
|
||||
{"vkCmdSetStencilReference", &wine_vkCmdSetStencilReference},
|
||||
|
@ -2288,6 +2556,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkCmdSetViewportWScalingNV", &wine_vkCmdSetViewportWScalingNV},
|
||||
{"vkCmdUpdateBuffer", &wine_vkCmdUpdateBuffer},
|
||||
{"vkCmdWaitEvents", &wine_vkCmdWaitEvents},
|
||||
{"vkCmdWriteBufferMarkerAMD", &wine_vkCmdWriteBufferMarkerAMD},
|
||||
{"vkCmdWriteTimestamp", &wine_vkCmdWriteTimestamp},
|
||||
{"vkCreateBuffer", &wine_vkCreateBuffer},
|
||||
{"vkCreateBufferView", &wine_vkCreateBufferView},
|
||||
|
@ -2307,9 +2576,11 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkCreateQueryPool", &wine_vkCreateQueryPool},
|
||||
{"vkCreateRenderPass", &wine_vkCreateRenderPass},
|
||||
{"vkCreateSampler", &wine_vkCreateSampler},
|
||||
{"vkCreateSamplerYcbcrConversionKHR", &wine_vkCreateSamplerYcbcrConversionKHR},
|
||||
{"vkCreateSemaphore", &wine_vkCreateSemaphore},
|
||||
{"vkCreateShaderModule", &wine_vkCreateShaderModule},
|
||||
{"vkCreateSwapchainKHR", &wine_vkCreateSwapchainKHR},
|
||||
{"vkCreateValidationCacheEXT", &wine_vkCreateValidationCacheEXT},
|
||||
{"vkDestroyBuffer", &wine_vkDestroyBuffer},
|
||||
{"vkDestroyBufferView", &wine_vkDestroyBufferView},
|
||||
{"vkDestroyCommandPool", &wine_vkDestroyCommandPool},
|
||||
|
@ -2328,9 +2599,11 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkDestroyQueryPool", &wine_vkDestroyQueryPool},
|
||||
{"vkDestroyRenderPass", &wine_vkDestroyRenderPass},
|
||||
{"vkDestroySampler", &wine_vkDestroySampler},
|
||||
{"vkDestroySamplerYcbcrConversionKHR", &wine_vkDestroySamplerYcbcrConversionKHR},
|
||||
{"vkDestroySemaphore", &wine_vkDestroySemaphore},
|
||||
{"vkDestroyShaderModule", &wine_vkDestroyShaderModule},
|
||||
{"vkDestroySwapchainKHR", &wine_vkDestroySwapchainKHR},
|
||||
{"vkDestroyValidationCacheEXT", &wine_vkDestroyValidationCacheEXT},
|
||||
{"vkDeviceWaitIdle", &wine_vkDeviceWaitIdle},
|
||||
{"vkEndCommandBuffer", &wine_vkEndCommandBuffer},
|
||||
{"vkFlushMappedMemoryRanges", &wine_vkFlushMappedMemoryRanges},
|
||||
|
@ -2338,21 +2611,28 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkFreeDescriptorSets", &wine_vkFreeDescriptorSets},
|
||||
{"vkFreeMemory", &wine_vkFreeMemory},
|
||||
{"vkGetBufferMemoryRequirements", &wine_vkGetBufferMemoryRequirements},
|
||||
{"vkGetBufferMemoryRequirements2KHR", &wine_vkGetBufferMemoryRequirements2KHR},
|
||||
{"vkGetDescriptorSetLayoutSupportKHR", &wine_vkGetDescriptorSetLayoutSupportKHR},
|
||||
{"vkGetDeviceMemoryCommitment", &wine_vkGetDeviceMemoryCommitment},
|
||||
{"vkGetDeviceProcAddr", &wine_vkGetDeviceProcAddr},
|
||||
{"vkGetDeviceQueue", &wine_vkGetDeviceQueue},
|
||||
{"vkGetEventStatus", &wine_vkGetEventStatus},
|
||||
{"vkGetFenceStatus", &wine_vkGetFenceStatus},
|
||||
{"vkGetImageMemoryRequirements", &wine_vkGetImageMemoryRequirements},
|
||||
{"vkGetImageMemoryRequirements2KHR", &wine_vkGetImageMemoryRequirements2KHR},
|
||||
{"vkGetImageSparseMemoryRequirements", &wine_vkGetImageSparseMemoryRequirements},
|
||||
{"vkGetImageSparseMemoryRequirements2KHR", &wine_vkGetImageSparseMemoryRequirements2KHR},
|
||||
{"vkGetImageSubresourceLayout", &wine_vkGetImageSubresourceLayout},
|
||||
{"vkGetPipelineCacheData", &wine_vkGetPipelineCacheData},
|
||||
{"vkGetQueryPoolResults", &wine_vkGetQueryPoolResults},
|
||||
{"vkGetRenderAreaGranularity", &wine_vkGetRenderAreaGranularity},
|
||||
{"vkGetShaderInfoAMD", &wine_vkGetShaderInfoAMD},
|
||||
{"vkGetSwapchainImagesKHR", &wine_vkGetSwapchainImagesKHR},
|
||||
{"vkGetValidationCacheDataEXT", &wine_vkGetValidationCacheDataEXT},
|
||||
{"vkInvalidateMappedMemoryRanges", &wine_vkInvalidateMappedMemoryRanges},
|
||||
{"vkMapMemory", &wine_vkMapMemory},
|
||||
{"vkMergePipelineCaches", &wine_vkMergePipelineCaches},
|
||||
{"vkMergeValidationCachesEXT", &wine_vkMergeValidationCachesEXT},
|
||||
{"vkQueueBindSparse", &wine_vkQueueBindSparse},
|
||||
{"vkQueuePresentKHR", &wine_vkQueuePresentKHR},
|
||||
{"vkQueueSubmit", &wine_vkQueueSubmit},
|
||||
|
@ -2387,6 +2667,7 @@ static const struct vulkan_func vk_instance_dispatch_table[] =
|
|||
{"vkGetPhysicalDeviceImageFormatProperties2KHR", &wine_vkGetPhysicalDeviceImageFormatProperties2KHR},
|
||||
{"vkGetPhysicalDeviceMemoryProperties", &wine_vkGetPhysicalDeviceMemoryProperties},
|
||||
{"vkGetPhysicalDeviceMemoryProperties2KHR", &wine_vkGetPhysicalDeviceMemoryProperties2KHR},
|
||||
{"vkGetPhysicalDeviceMultisamplePropertiesEXT", &wine_vkGetPhysicalDeviceMultisamplePropertiesEXT},
|
||||
{"vkGetPhysicalDeviceProperties", &wine_vkGetPhysicalDeviceProperties},
|
||||
{"vkGetPhysicalDeviceProperties2KHR", &wine_vkGetPhysicalDeviceProperties2KHR},
|
||||
{"vkGetPhysicalDeviceQueueFamilyProperties", &wine_vkGetPhysicalDeviceQueueFamilyProperties},
|
||||
|
@ -2430,33 +2711,69 @@ void *wine_vk_get_instance_proc_addr(const char *name)
|
|||
|
||||
static const char * const vk_device_extensions[] =
|
||||
{
|
||||
"VK_AMD_buffer_marker",
|
||||
"VK_AMD_draw_indirect_count",
|
||||
"VK_AMD_gcn_shader",
|
||||
"VK_AMD_gpu_shader_half_float",
|
||||
"VK_AMD_gpu_shader_int16",
|
||||
"VK_AMD_mixed_attachment_samples",
|
||||
"VK_AMD_negative_viewport_height",
|
||||
"VK_AMD_rasterization_order",
|
||||
"VK_AMD_shader_ballot",
|
||||
"VK_AMD_shader_core_properties",
|
||||
"VK_AMD_shader_explicit_vertex_parameter",
|
||||
"VK_AMD_shader_fragment_mask",
|
||||
"VK_AMD_shader_image_load_store_lod",
|
||||
"VK_AMD_shader_info",
|
||||
"VK_AMD_shader_trinary_minmax",
|
||||
"VK_AMD_texture_gather_bias_lod",
|
||||
"VK_EXT_blend_operation_advanced",
|
||||
"VK_EXT_conservative_rasterization",
|
||||
"VK_EXT_depth_range_unrestricted",
|
||||
"VK_EXT_descriptor_indexing",
|
||||
"VK_EXT_discard_rectangles",
|
||||
"VK_EXT_global_priority",
|
||||
"VK_EXT_post_depth_coverage",
|
||||
"VK_EXT_sample_locations",
|
||||
"VK_EXT_sampler_filter_minmax",
|
||||
"VK_EXT_shader_stencil_export",
|
||||
"VK_EXT_shader_subgroup_ballot",
|
||||
"VK_EXT_shader_subgroup_vote",
|
||||
"VK_EXT_shader_viewport_index_layer",
|
||||
"VK_EXT_validation_cache",
|
||||
"VK_EXT_vertex_attribute_divisor",
|
||||
"VK_IMG_filter_cubic",
|
||||
"VK_IMG_format_pvrtc",
|
||||
"VK_KHR_16bit_storage",
|
||||
"VK_KHR_bind_memory2",
|
||||
"VK_KHR_dedicated_allocation",
|
||||
"VK_KHR_descriptor_update_template",
|
||||
"VK_KHR_draw_indirect_count",
|
||||
"VK_KHR_get_memory_requirements2",
|
||||
"VK_KHR_image_format_list",
|
||||
"VK_KHR_incremental_present",
|
||||
"VK_KHR_maintenance1",
|
||||
"VK_KHR_maintenance2",
|
||||
"VK_KHR_maintenance3",
|
||||
"VK_KHR_multiview",
|
||||
"VK_KHR_push_descriptor",
|
||||
"VK_KHR_relaxed_block_layout",
|
||||
"VK_KHR_sampler_mirror_clamp_to_edge",
|
||||
"VK_KHR_sampler_ycbcr_conversion",
|
||||
"VK_KHR_shader_draw_parameters",
|
||||
"VK_KHR_storage_buffer_storage_class",
|
||||
"VK_KHR_swapchain",
|
||||
"VK_KHR_variable_pointers",
|
||||
"VK_NV_clip_space_w_scaling",
|
||||
"VK_NV_dedicated_allocation",
|
||||
"VK_NV_external_memory",
|
||||
"VK_NV_fill_rectangle",
|
||||
"VK_NV_fragment_coverage_to_color",
|
||||
"VK_NV_framebuffer_mixed_samples",
|
||||
"VK_NV_geometry_shader_passthrough",
|
||||
"VK_NV_glsl_shader",
|
||||
"VK_NV_sample_mask_override_coverage",
|
||||
"VK_NV_shader_subgroup_partitioned",
|
||||
"VK_NV_viewport_array2",
|
||||
"VK_NV_viewport_swizzle",
|
||||
};
|
||||
|
|
|
@ -62,6 +62,24 @@ typedef struct VkCommandBufferBeginInfo_host
|
|||
const VkCommandBufferInheritanceInfo_host *pInheritanceInfo;
|
||||
} VkCommandBufferBeginInfo_host;
|
||||
|
||||
typedef struct VkBindBufferMemoryInfo_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkBuffer buffer;
|
||||
VkDeviceMemory memory;
|
||||
VkDeviceSize memoryOffset;
|
||||
} VkBindBufferMemoryInfo_host;
|
||||
|
||||
typedef struct VkBindImageMemoryInfo_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkImage image;
|
||||
VkDeviceMemory memory;
|
||||
VkDeviceSize memoryOffset;
|
||||
} VkBindImageMemoryInfo_host;
|
||||
|
||||
typedef struct VkRenderPassBeginInfo_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -190,19 +208,19 @@ typedef struct VkComputePipelineCreateInfo_host
|
|||
int32_t basePipelineIndex;
|
||||
} VkComputePipelineCreateInfo_host;
|
||||
|
||||
typedef struct VkDescriptorUpdateTemplateCreateInfoKHR_host
|
||||
typedef struct VkDescriptorUpdateTemplateCreateInfo_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
void *pNext;
|
||||
VkDescriptorUpdateTemplateCreateFlagsKHR flags;
|
||||
VkDescriptorUpdateTemplateCreateFlags flags;
|
||||
uint32_t descriptorUpdateEntryCount;
|
||||
const VkDescriptorUpdateTemplateEntryKHR *pDescriptorUpdateEntries;
|
||||
VkDescriptorUpdateTemplateTypeKHR templateType;
|
||||
const VkDescriptorUpdateTemplateEntry *pDescriptorUpdateEntries;
|
||||
VkDescriptorUpdateTemplateType templateType;
|
||||
VkDescriptorSetLayout descriptorSetLayout;
|
||||
VkPipelineBindPoint pipelineBindPoint;
|
||||
VkPipelineLayout pipelineLayout;
|
||||
uint32_t set;
|
||||
} VkDescriptorUpdateTemplateCreateInfoKHR_host;
|
||||
} VkDescriptorUpdateTemplateCreateInfo_host;
|
||||
|
||||
typedef struct VkFramebufferCreateInfo_host
|
||||
{
|
||||
|
@ -290,6 +308,34 @@ typedef struct VkMemoryRequirements_host
|
|||
uint32_t memoryTypeBits;
|
||||
} VkMemoryRequirements_host;
|
||||
|
||||
typedef struct VkBufferMemoryRequirementsInfo2_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkBuffer buffer;
|
||||
} VkBufferMemoryRequirementsInfo2_host;
|
||||
|
||||
typedef struct VkMemoryRequirements2_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
void *pNext;
|
||||
VkMemoryRequirements_host memoryRequirements;
|
||||
} VkMemoryRequirements2_host;
|
||||
|
||||
typedef struct VkImageMemoryRequirementsInfo2_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkImage image;
|
||||
} VkImageMemoryRequirementsInfo2_host;
|
||||
|
||||
typedef struct VkImageSparseMemoryRequirementsInfo2_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkImage image;
|
||||
} VkImageSparseMemoryRequirementsInfo2_host;
|
||||
|
||||
typedef struct VkSubresourceLayout_host
|
||||
{
|
||||
VkDeviceSize offset;
|
||||
|
@ -308,12 +354,12 @@ typedef struct VkImageFormatProperties_host
|
|||
VkDeviceSize maxResourceSize;
|
||||
} VkImageFormatProperties_host;
|
||||
|
||||
typedef struct VkImageFormatProperties2KHR_host
|
||||
typedef struct VkImageFormatProperties2_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
void *pNext;
|
||||
VkImageFormatProperties_host imageFormatProperties;
|
||||
} VkImageFormatProperties2KHR_host;
|
||||
} VkImageFormatProperties2_host;
|
||||
|
||||
typedef struct VkMemoryHeap_host
|
||||
{
|
||||
|
@ -329,12 +375,12 @@ typedef struct VkPhysicalDeviceMemoryProperties_host
|
|||
VkMemoryHeap_host memoryHeaps[VK_MAX_MEMORY_HEAPS];
|
||||
} VkPhysicalDeviceMemoryProperties_host;
|
||||
|
||||
typedef struct VkPhysicalDeviceMemoryProperties2KHR_host
|
||||
typedef struct VkPhysicalDeviceMemoryProperties2_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
void *pNext;
|
||||
VkPhysicalDeviceMemoryProperties_host memoryProperties;
|
||||
} VkPhysicalDeviceMemoryProperties2KHR_host;
|
||||
} VkPhysicalDeviceMemoryProperties2_host;
|
||||
|
||||
typedef struct VkPhysicalDeviceLimits_host
|
||||
{
|
||||
|
@ -459,12 +505,12 @@ typedef struct VkPhysicalDeviceProperties_host
|
|||
VkPhysicalDeviceSparseProperties sparseProperties;
|
||||
} VkPhysicalDeviceProperties_host;
|
||||
|
||||
typedef struct VkPhysicalDeviceProperties2KHR_host
|
||||
typedef struct VkPhysicalDeviceProperties2_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
void *pNext;
|
||||
VkPhysicalDeviceProperties_host properties;
|
||||
} VkPhysicalDeviceProperties2KHR_host;
|
||||
} VkPhysicalDeviceProperties2_host;
|
||||
|
||||
typedef struct VkSparseMemoryBind_host
|
||||
{
|
||||
|
@ -561,7 +607,17 @@ struct vulkan_device_funcs
|
|||
VkResult (*p_vkBeginCommandBuffer)(VkCommandBuffer, const VkCommandBufferBeginInfo *);
|
||||
#endif
|
||||
VkResult (*p_vkBindBufferMemory)(VkDevice, VkBuffer, VkDeviceMemory, VkDeviceSize);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkBindBufferMemory2KHR)(VkDevice, uint32_t, const VkBindBufferMemoryInfo_host *);
|
||||
#else
|
||||
VkResult (*p_vkBindBufferMemory2KHR)(VkDevice, uint32_t, const VkBindBufferMemoryInfo *);
|
||||
#endif
|
||||
VkResult (*p_vkBindImageMemory)(VkDevice, VkImage, VkDeviceMemory, VkDeviceSize);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkBindImageMemory2KHR)(VkDevice, uint32_t, const VkBindImageMemoryInfo_host *);
|
||||
#else
|
||||
VkResult (*p_vkBindImageMemory2KHR)(VkDevice, uint32_t, const VkBindImageMemoryInfo *);
|
||||
#endif
|
||||
void (*p_vkCmdBeginQuery)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkCmdBeginRenderPass)(VkCommandBuffer, const VkRenderPassBeginInfo_host *, VkSubpassContents);
|
||||
|
@ -599,8 +655,10 @@ struct vulkan_device_funcs
|
|||
void (*p_vkCmdDrawIndexed)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
|
||||
void (*p_vkCmdDrawIndexedIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
|
||||
void (*p_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
|
||||
void (*p_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
|
||||
void (*p_vkCmdDrawIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
|
||||
void (*p_vkCmdDrawIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
|
||||
void (*p_vkCmdDrawIndirectCountKHR)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
|
||||
void (*p_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);
|
||||
void (*p_vkCmdEndRenderPass)(VkCommandBuffer);
|
||||
void (*p_vkCmdExecuteCommands)(VkCommandBuffer, uint32_t, const VkCommandBuffer *);
|
||||
|
@ -617,7 +675,7 @@ struct vulkan_device_funcs
|
|||
#else
|
||||
void (*p_vkCmdPushDescriptorSetKHR)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkWriteDescriptorSet *);
|
||||
#endif
|
||||
void (*p_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer, VkDescriptorUpdateTemplateKHR, VkPipelineLayout, uint32_t, const void *);
|
||||
void (*p_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer, VkDescriptorUpdateTemplate, VkPipelineLayout, uint32_t, const void *);
|
||||
void (*p_vkCmdResetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
|
||||
void (*p_vkCmdResetQueryPool)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
|
||||
void (*p_vkCmdResolveImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageResolve *);
|
||||
|
@ -627,6 +685,7 @@ struct vulkan_device_funcs
|
|||
void (*p_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
|
||||
void (*p_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
|
||||
void (*p_vkCmdSetLineWidth)(VkCommandBuffer, float);
|
||||
void (*p_vkCmdSetSampleLocationsEXT)(VkCommandBuffer, const VkSampleLocationsInfoEXT *);
|
||||
void (*p_vkCmdSetScissor)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
|
||||
void (*p_vkCmdSetStencilCompareMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
|
||||
void (*p_vkCmdSetStencilReference)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
|
||||
|
@ -639,6 +698,7 @@ struct vulkan_device_funcs
|
|||
#else
|
||||
void (*p_vkCmdWaitEvents)(VkCommandBuffer, uint32_t, const VkEvent *, VkPipelineStageFlags, VkPipelineStageFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
|
||||
#endif
|
||||
void (*p_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer, VkPipelineStageFlagBits, VkBuffer, VkDeviceSize, uint32_t);
|
||||
void (*p_vkCmdWriteTimestamp)(VkCommandBuffer, VkPipelineStageFlagBits, VkQueryPool, uint32_t);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkCreateBuffer)(VkDevice, const VkBufferCreateInfo_host *, const VkAllocationCallbacks *, VkBuffer *);
|
||||
|
@ -659,9 +719,9 @@ struct vulkan_device_funcs
|
|||
VkResult (*p_vkCreateDescriptorPool)(VkDevice, const VkDescriptorPoolCreateInfo *, const VkAllocationCallbacks *, VkDescriptorPool *);
|
||||
VkResult (*p_vkCreateDescriptorSetLayout)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, const VkAllocationCallbacks *, VkDescriptorSetLayout *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfoKHR_host *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplateKHR *);
|
||||
VkResult (*p_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo_host *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
|
||||
#else
|
||||
VkResult (*p_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfoKHR *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplateKHR *);
|
||||
VkResult (*p_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
|
||||
#endif
|
||||
VkResult (*p_vkCreateEvent)(VkDevice, const VkEventCreateInfo *, const VkAllocationCallbacks *, VkEvent *);
|
||||
VkResult (*p_vkCreateFence)(VkDevice, const VkFenceCreateInfo *, const VkAllocationCallbacks *, VkFence *);
|
||||
|
@ -686,6 +746,7 @@ struct vulkan_device_funcs
|
|||
VkResult (*p_vkCreateQueryPool)(VkDevice, const VkQueryPoolCreateInfo *, const VkAllocationCallbacks *, VkQueryPool *);
|
||||
VkResult (*p_vkCreateRenderPass)(VkDevice, const VkRenderPassCreateInfo *, const VkAllocationCallbacks *, VkRenderPass *);
|
||||
VkResult (*p_vkCreateSampler)(VkDevice, const VkSamplerCreateInfo *, const VkAllocationCallbacks *, VkSampler *);
|
||||
VkResult (*p_vkCreateSamplerYcbcrConversionKHR)(VkDevice, const VkSamplerYcbcrConversionCreateInfo *, const VkAllocationCallbacks *, VkSamplerYcbcrConversion *);
|
||||
VkResult (*p_vkCreateSemaphore)(VkDevice, const VkSemaphoreCreateInfo *, const VkAllocationCallbacks *, VkSemaphore *);
|
||||
VkResult (*p_vkCreateShaderModule)(VkDevice, const VkShaderModuleCreateInfo *, const VkAllocationCallbacks *, VkShaderModule *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -693,12 +754,13 @@ struct vulkan_device_funcs
|
|||
#else
|
||||
VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
|
||||
#endif
|
||||
VkResult (*p_vkCreateValidationCacheEXT)(VkDevice, const VkValidationCacheCreateInfoEXT *, const VkAllocationCallbacks *, VkValidationCacheEXT *);
|
||||
void (*p_vkDestroyBuffer)(VkDevice, VkBuffer, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyBufferView)(VkDevice, VkBufferView, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyCommandPool)(VkDevice, VkCommandPool, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyDescriptorPool)(VkDevice, VkDescriptorPool, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyDescriptorSetLayout)(VkDevice, VkDescriptorSetLayout, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice, VkDescriptorUpdateTemplateKHR, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice, VkDescriptorUpdateTemplate, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyDevice)(VkDevice, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyEvent)(VkDevice, VkEvent, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyFence)(VkDevice, VkFence, const VkAllocationCallbacks *);
|
||||
|
@ -711,9 +773,11 @@ struct vulkan_device_funcs
|
|||
void (*p_vkDestroyQueryPool)(VkDevice, VkQueryPool, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyRenderPass)(VkDevice, VkRenderPass, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroySampler)(VkDevice, VkSampler, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroySamplerYcbcrConversionKHR)(VkDevice, VkSamplerYcbcrConversion, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroySemaphore)(VkDevice, VkSemaphore, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyShaderModule)(VkDevice, VkShaderModule, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroyValidationCacheEXT)(VkDevice, VkValidationCacheEXT, const VkAllocationCallbacks *);
|
||||
VkResult (*p_vkDeviceWaitIdle)(VkDevice);
|
||||
VkResult (*p_vkEndCommandBuffer)(VkCommandBuffer);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -729,6 +793,12 @@ struct vulkan_device_funcs
|
|||
#else
|
||||
void (*p_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements *);
|
||||
#endif
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetBufferMemoryRequirements2KHR)(VkDevice, const VkBufferMemoryRequirementsInfo2_host *, VkMemoryRequirements2_host *);
|
||||
#else
|
||||
void (*p_vkGetBufferMemoryRequirements2KHR)(VkDevice, const VkBufferMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
|
||||
#endif
|
||||
void (*p_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
|
||||
void (*p_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
|
||||
void (*p_vkGetDeviceQueue)(VkDevice, uint32_t, uint32_t, VkQueue *);
|
||||
VkResult (*p_vkGetEventStatus)(VkDevice, VkEvent);
|
||||
|
@ -737,8 +807,18 @@ struct vulkan_device_funcs
|
|||
void (*p_vkGetImageMemoryRequirements)(VkDevice, VkImage, VkMemoryRequirements_host *);
|
||||
#else
|
||||
void (*p_vkGetImageMemoryRequirements)(VkDevice, VkImage, VkMemoryRequirements *);
|
||||
#endif
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetImageMemoryRequirements2KHR)(VkDevice, const VkImageMemoryRequirementsInfo2_host *, VkMemoryRequirements2_host *);
|
||||
#else
|
||||
void (*p_vkGetImageMemoryRequirements2KHR)(VkDevice, const VkImageMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
|
||||
#endif
|
||||
void (*p_vkGetImageSparseMemoryRequirements)(VkDevice, VkImage, uint32_t *, VkSparseImageMemoryRequirements *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetImageSparseMemoryRequirements2KHR)(VkDevice, const VkImageSparseMemoryRequirementsInfo2_host *, uint32_t *, VkSparseImageMemoryRequirements2 *);
|
||||
#else
|
||||
void (*p_vkGetImageSparseMemoryRequirements2KHR)(VkDevice, const VkImageSparseMemoryRequirementsInfo2 *, uint32_t *, VkSparseImageMemoryRequirements2 *);
|
||||
#endif
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout_host *);
|
||||
#else
|
||||
|
@ -747,7 +827,9 @@ struct vulkan_device_funcs
|
|||
VkResult (*p_vkGetPipelineCacheData)(VkDevice, VkPipelineCache, size_t *, void *);
|
||||
VkResult (*p_vkGetQueryPoolResults)(VkDevice, VkQueryPool, uint32_t, uint32_t, size_t, void *, VkDeviceSize, VkQueryResultFlags);
|
||||
void (*p_vkGetRenderAreaGranularity)(VkDevice, VkRenderPass, VkExtent2D *);
|
||||
VkResult (*p_vkGetShaderInfoAMD)(VkDevice, VkPipeline, VkShaderStageFlagBits, VkShaderInfoTypeAMD, size_t *, void *);
|
||||
VkResult (*p_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
|
||||
VkResult (*p_vkGetValidationCacheDataEXT)(VkDevice, VkValidationCacheEXT, size_t *, void *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange_host *);
|
||||
#else
|
||||
|
@ -755,6 +837,7 @@ struct vulkan_device_funcs
|
|||
#endif
|
||||
VkResult (*p_vkMapMemory)(VkDevice, VkDeviceMemory, VkDeviceSize, VkDeviceSize, VkMemoryMapFlags, void **);
|
||||
VkResult (*p_vkMergePipelineCaches)(VkDevice, VkPipelineCache, uint32_t, const VkPipelineCache *);
|
||||
VkResult (*p_vkMergeValidationCachesEXT)(VkDevice, VkValidationCacheEXT, uint32_t, const VkValidationCacheEXT *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo_host *, VkFence);
|
||||
#else
|
||||
|
@ -769,9 +852,9 @@ struct vulkan_device_funcs
|
|||
VkResult (*p_vkResetEvent)(VkDevice, VkEvent);
|
||||
VkResult (*p_vkResetFences)(VkDevice, uint32_t, const VkFence *);
|
||||
VkResult (*p_vkSetEvent)(VkDevice, VkEvent);
|
||||
void (*p_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlagsKHR);
|
||||
void (*p_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
|
||||
void (*p_vkUnmapMemory)(VkDevice, VkDeviceMemory);
|
||||
void (*p_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplateKHR, const void *);
|
||||
void (*p_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet_host *, uint32_t, const VkCopyDescriptorSet_host *);
|
||||
#else
|
||||
|
@ -790,18 +873,18 @@ struct vulkan_instance_funcs
|
|||
VkResult (*p_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice, uint32_t *, VkLayerProperties *);
|
||||
VkResult (*p_vkEnumeratePhysicalDevices)(VkInstance, uint32_t *, VkPhysicalDevice *);
|
||||
void (*p_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice, VkPhysicalDeviceFeatures *);
|
||||
void (*p_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice, VkPhysicalDeviceFeatures2KHR *);
|
||||
void (*p_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice, VkPhysicalDeviceFeatures2 *);
|
||||
void (*p_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice, VkFormat, VkFormatProperties *);
|
||||
void (*p_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice, VkFormat, VkFormatProperties2KHR *);
|
||||
void (*p_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice, VkFormat, VkFormatProperties2 *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties_host *);
|
||||
#else
|
||||
VkResult (*p_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties *);
|
||||
#endif
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR *, VkImageFormatProperties2KHR_host *);
|
||||
VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2 *, VkImageFormatProperties2_host *);
|
||||
#else
|
||||
VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR *, VkImageFormatProperties2KHR *);
|
||||
VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2 *, VkImageFormatProperties2 *);
|
||||
#endif
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties_host *);
|
||||
|
@ -809,24 +892,25 @@ struct vulkan_instance_funcs
|
|||
void (*p_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties *);
|
||||
#endif
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2KHR_host *);
|
||||
void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2_host *);
|
||||
#else
|
||||
void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2KHR *);
|
||||
void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2 *);
|
||||
#endif
|
||||
void (*p_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice, VkSampleCountFlagBits, VkMultisamplePropertiesEXT *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties_host *);
|
||||
#else
|
||||
void (*p_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties *);
|
||||
#endif
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2KHR_host *);
|
||||
void (*p_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2_host *);
|
||||
#else
|
||||
void (*p_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2KHR *);
|
||||
void (*p_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2 *);
|
||||
#endif
|
||||
void (*p_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties *);
|
||||
void (*p_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties2KHR *);
|
||||
void (*p_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties2 *);
|
||||
void (*p_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkSampleCountFlagBits, VkImageUsageFlags, VkImageTiling, uint32_t *, VkSparseImageFormatProperties *);
|
||||
void (*p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR *, uint32_t *, VkSparseImageFormatProperties2KHR *);
|
||||
void (*p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
|
||||
VkResult (*p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
|
||||
VkResult (*p_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
|
||||
VkResult (*p_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
|
||||
|
@ -841,7 +925,9 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkAllocateMemory) \
|
||||
USE_VK_FUNC(vkBeginCommandBuffer) \
|
||||
USE_VK_FUNC(vkBindBufferMemory) \
|
||||
USE_VK_FUNC(vkBindBufferMemory2KHR) \
|
||||
USE_VK_FUNC(vkBindImageMemory) \
|
||||
USE_VK_FUNC(vkBindImageMemory2KHR) \
|
||||
USE_VK_FUNC(vkCmdBeginQuery) \
|
||||
USE_VK_FUNC(vkCmdBeginRenderPass) \
|
||||
USE_VK_FUNC(vkCmdBindDescriptorSets) \
|
||||
|
@ -863,8 +949,10 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkCmdDrawIndexed) \
|
||||
USE_VK_FUNC(vkCmdDrawIndexedIndirect) \
|
||||
USE_VK_FUNC(vkCmdDrawIndexedIndirectCountAMD) \
|
||||
USE_VK_FUNC(vkCmdDrawIndexedIndirectCountKHR) \
|
||||
USE_VK_FUNC(vkCmdDrawIndirect) \
|
||||
USE_VK_FUNC(vkCmdDrawIndirectCountAMD) \
|
||||
USE_VK_FUNC(vkCmdDrawIndirectCountKHR) \
|
||||
USE_VK_FUNC(vkCmdEndQuery) \
|
||||
USE_VK_FUNC(vkCmdEndRenderPass) \
|
||||
USE_VK_FUNC(vkCmdExecuteCommands) \
|
||||
|
@ -883,6 +971,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkCmdSetDiscardRectangleEXT) \
|
||||
USE_VK_FUNC(vkCmdSetEvent) \
|
||||
USE_VK_FUNC(vkCmdSetLineWidth) \
|
||||
USE_VK_FUNC(vkCmdSetSampleLocationsEXT) \
|
||||
USE_VK_FUNC(vkCmdSetScissor) \
|
||||
USE_VK_FUNC(vkCmdSetStencilCompareMask) \
|
||||
USE_VK_FUNC(vkCmdSetStencilReference) \
|
||||
|
@ -891,6 +980,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkCmdSetViewportWScalingNV) \
|
||||
USE_VK_FUNC(vkCmdUpdateBuffer) \
|
||||
USE_VK_FUNC(vkCmdWaitEvents) \
|
||||
USE_VK_FUNC(vkCmdWriteBufferMarkerAMD) \
|
||||
USE_VK_FUNC(vkCmdWriteTimestamp) \
|
||||
USE_VK_FUNC(vkCreateBuffer) \
|
||||
USE_VK_FUNC(vkCreateBufferView) \
|
||||
|
@ -910,9 +1000,11 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkCreateQueryPool) \
|
||||
USE_VK_FUNC(vkCreateRenderPass) \
|
||||
USE_VK_FUNC(vkCreateSampler) \
|
||||
USE_VK_FUNC(vkCreateSamplerYcbcrConversionKHR) \
|
||||
USE_VK_FUNC(vkCreateSemaphore) \
|
||||
USE_VK_FUNC(vkCreateShaderModule) \
|
||||
USE_VK_FUNC(vkCreateSwapchainKHR) \
|
||||
USE_VK_FUNC(vkCreateValidationCacheEXT) \
|
||||
USE_VK_FUNC(vkDestroyBuffer) \
|
||||
USE_VK_FUNC(vkDestroyBufferView) \
|
||||
USE_VK_FUNC(vkDestroyCommandPool) \
|
||||
|
@ -931,9 +1023,11 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkDestroyQueryPool) \
|
||||
USE_VK_FUNC(vkDestroyRenderPass) \
|
||||
USE_VK_FUNC(vkDestroySampler) \
|
||||
USE_VK_FUNC(vkDestroySamplerYcbcrConversionKHR) \
|
||||
USE_VK_FUNC(vkDestroySemaphore) \
|
||||
USE_VK_FUNC(vkDestroyShaderModule) \
|
||||
USE_VK_FUNC(vkDestroySwapchainKHR) \
|
||||
USE_VK_FUNC(vkDestroyValidationCacheEXT) \
|
||||
USE_VK_FUNC(vkDeviceWaitIdle) \
|
||||
USE_VK_FUNC(vkEndCommandBuffer) \
|
||||
USE_VK_FUNC(vkFlushMappedMemoryRanges) \
|
||||
|
@ -941,20 +1035,27 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkFreeDescriptorSets) \
|
||||
USE_VK_FUNC(vkFreeMemory) \
|
||||
USE_VK_FUNC(vkGetBufferMemoryRequirements) \
|
||||
USE_VK_FUNC(vkGetBufferMemoryRequirements2KHR) \
|
||||
USE_VK_FUNC(vkGetDescriptorSetLayoutSupportKHR) \
|
||||
USE_VK_FUNC(vkGetDeviceMemoryCommitment) \
|
||||
USE_VK_FUNC(vkGetDeviceQueue) \
|
||||
USE_VK_FUNC(vkGetEventStatus) \
|
||||
USE_VK_FUNC(vkGetFenceStatus) \
|
||||
USE_VK_FUNC(vkGetImageMemoryRequirements) \
|
||||
USE_VK_FUNC(vkGetImageMemoryRequirements2KHR) \
|
||||
USE_VK_FUNC(vkGetImageSparseMemoryRequirements) \
|
||||
USE_VK_FUNC(vkGetImageSparseMemoryRequirements2KHR) \
|
||||
USE_VK_FUNC(vkGetImageSubresourceLayout) \
|
||||
USE_VK_FUNC(vkGetPipelineCacheData) \
|
||||
USE_VK_FUNC(vkGetQueryPoolResults) \
|
||||
USE_VK_FUNC(vkGetRenderAreaGranularity) \
|
||||
USE_VK_FUNC(vkGetShaderInfoAMD) \
|
||||
USE_VK_FUNC(vkGetSwapchainImagesKHR) \
|
||||
USE_VK_FUNC(vkGetValidationCacheDataEXT) \
|
||||
USE_VK_FUNC(vkInvalidateMappedMemoryRanges) \
|
||||
USE_VK_FUNC(vkMapMemory) \
|
||||
USE_VK_FUNC(vkMergePipelineCaches) \
|
||||
USE_VK_FUNC(vkMergeValidationCachesEXT) \
|
||||
USE_VK_FUNC(vkQueueBindSparse) \
|
||||
USE_VK_FUNC(vkQueuePresentKHR) \
|
||||
USE_VK_FUNC(vkQueueSubmit) \
|
||||
|
@ -986,6 +1087,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties2KHR) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceMultisamplePropertiesEXT) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceProperties) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceProperties2KHR) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceQueueFamilyProperties) \
|
||||
|
|
|
@ -8,7 +8,9 @@
|
|||
@ stdcall wine_vkAllocateMemory(ptr ptr ptr ptr)
|
||||
@ stdcall wine_vkBeginCommandBuffer(ptr ptr)
|
||||
@ stdcall wine_vkBindBufferMemory(ptr int64 int64 int64)
|
||||
@ stub vkBindBufferMemory2
|
||||
@ stdcall wine_vkBindImageMemory(ptr int64 int64 int64)
|
||||
@ stub vkBindImageMemory2
|
||||
@ stdcall wine_vkCmdBeginQuery(ptr int64 long long)
|
||||
@ stdcall wine_vkCmdBeginRenderPass(ptr ptr long)
|
||||
@ stdcall wine_vkCmdBindDescriptorSets(ptr long int64 long long ptr long ptr)
|
||||
|
@ -25,6 +27,7 @@
|
|||
@ stdcall wine_vkCmdCopyImageToBuffer(ptr int64 long int64 long ptr)
|
||||
@ stdcall wine_vkCmdCopyQueryPoolResults(ptr int64 long long int64 int64 int64 long)
|
||||
@ stdcall wine_vkCmdDispatch(ptr long long long)
|
||||
@ stub vkCmdDispatchBase
|
||||
@ stdcall wine_vkCmdDispatchIndirect(ptr int64 int64)
|
||||
@ stdcall wine_vkCmdDraw(ptr long long long long)
|
||||
@ stdcall wine_vkCmdDrawIndexed(ptr long long long long long)
|
||||
|
@ -43,6 +46,7 @@
|
|||
@ stdcall wine_vkCmdSetBlendConstants(ptr ptr)
|
||||
@ stdcall wine_vkCmdSetDepthBias(ptr float float float)
|
||||
@ stdcall wine_vkCmdSetDepthBounds(ptr float float)
|
||||
@ stub vkCmdSetDeviceMask
|
||||
@ stdcall wine_vkCmdSetEvent(ptr int64 long)
|
||||
@ stdcall wine_vkCmdSetLineWidth(ptr float)
|
||||
@ stdcall wine_vkCmdSetScissor(ptr long long ptr)
|
||||
|
@ -59,6 +63,7 @@
|
|||
@ stdcall wine_vkCreateComputePipelines(ptr int64 long ptr ptr ptr)
|
||||
@ stdcall wine_vkCreateDescriptorPool(ptr ptr ptr ptr)
|
||||
@ stdcall wine_vkCreateDescriptorSetLayout(ptr ptr ptr ptr)
|
||||
@ stub vkCreateDescriptorUpdateTemplate
|
||||
@ stdcall wine_vkCreateDevice(ptr ptr ptr ptr)
|
||||
@ stub vkCreateDisplayModeKHR
|
||||
@ stub vkCreateDisplayPlaneSurfaceKHR
|
||||
|
@ -74,6 +79,7 @@
|
|||
@ stdcall wine_vkCreateQueryPool(ptr ptr ptr ptr)
|
||||
@ stdcall wine_vkCreateRenderPass(ptr ptr ptr ptr)
|
||||
@ stdcall wine_vkCreateSampler(ptr ptr ptr ptr)
|
||||
@ stub vkCreateSamplerYcbcrConversion
|
||||
@ stdcall wine_vkCreateSemaphore(ptr ptr ptr ptr)
|
||||
@ stdcall wine_vkCreateShaderModule(ptr ptr ptr ptr)
|
||||
@ stub vkCreateSharedSwapchainsKHR
|
||||
|
@ -84,6 +90,7 @@
|
|||
@ stdcall wine_vkDestroyCommandPool(ptr int64 ptr)
|
||||
@ stdcall wine_vkDestroyDescriptorPool(ptr int64 ptr)
|
||||
@ stdcall wine_vkDestroyDescriptorSetLayout(ptr int64 ptr)
|
||||
@ stub vkDestroyDescriptorUpdateTemplate
|
||||
@ stdcall wine_vkDestroyDevice(ptr ptr)
|
||||
@ stdcall wine_vkDestroyEvent(ptr int64 ptr)
|
||||
@ stdcall wine_vkDestroyFence(ptr int64 ptr)
|
||||
|
@ -97,6 +104,7 @@
|
|||
@ stdcall wine_vkDestroyQueryPool(ptr int64 ptr)
|
||||
@ stdcall wine_vkDestroyRenderPass(ptr int64 ptr)
|
||||
@ stdcall wine_vkDestroySampler(ptr int64 ptr)
|
||||
@ stub vkDestroySamplerYcbcrConversion
|
||||
@ stdcall wine_vkDestroySemaphore(ptr int64 ptr)
|
||||
@ stdcall wine_vkDestroyShaderModule(ptr int64 ptr)
|
||||
@ stdcall wine_vkDestroySurfaceKHR(ptr int64 ptr)
|
||||
|
@ -106,33 +114,51 @@
|
|||
@ stdcall wine_vkEnumerateDeviceExtensionProperties(ptr str ptr ptr)
|
||||
@ stdcall wine_vkEnumerateDeviceLayerProperties(ptr ptr ptr)
|
||||
@ stdcall wine_vkEnumerateInstanceExtensionProperties(str ptr ptr)
|
||||
@ stub vkEnumerateInstanceVersion
|
||||
@ stub vkEnumeratePhysicalDeviceGroups
|
||||
@ stdcall wine_vkEnumeratePhysicalDevices(ptr ptr ptr)
|
||||
@ stdcall wine_vkFlushMappedMemoryRanges(ptr long ptr)
|
||||
@ stdcall wine_vkFreeCommandBuffers(ptr int64 long ptr)
|
||||
@ stdcall wine_vkFreeDescriptorSets(ptr int64 long ptr)
|
||||
@ stdcall wine_vkFreeMemory(ptr int64 ptr)
|
||||
@ stdcall wine_vkGetBufferMemoryRequirements(ptr int64 ptr)
|
||||
@ stub vkGetBufferMemoryRequirements2
|
||||
@ stub vkGetDescriptorSetLayoutSupport
|
||||
@ stub vkGetDeviceGroupPeerMemoryFeatures
|
||||
@ stdcall wine_vkGetDeviceMemoryCommitment(ptr int64 ptr)
|
||||
@ stdcall wine_vkGetDeviceProcAddr(ptr str)
|
||||
@ stdcall wine_vkGetDeviceQueue(ptr long long ptr)
|
||||
@ stub vkGetDeviceQueue2
|
||||
@ stub vkGetDisplayModePropertiesKHR
|
||||
@ stub vkGetDisplayPlaneCapabilitiesKHR
|
||||
@ stub vkGetDisplayPlaneSupportedDisplaysKHR
|
||||
@ stdcall wine_vkGetEventStatus(ptr int64)
|
||||
@ stdcall wine_vkGetFenceStatus(ptr int64)
|
||||
@ stdcall wine_vkGetImageMemoryRequirements(ptr int64 ptr)
|
||||
@ stub vkGetImageMemoryRequirements2
|
||||
@ stdcall wine_vkGetImageSparseMemoryRequirements(ptr int64 ptr ptr)
|
||||
@ stub vkGetImageSparseMemoryRequirements2
|
||||
@ stdcall wine_vkGetImageSubresourceLayout(ptr int64 ptr ptr)
|
||||
@ stdcall wine_vkGetInstanceProcAddr(ptr str)
|
||||
@ stub vkGetPhysicalDeviceDisplayPlanePropertiesKHR
|
||||
@ stub vkGetPhysicalDeviceDisplayPropertiesKHR
|
||||
@ stub vkGetPhysicalDeviceExternalBufferProperties
|
||||
@ stub vkGetPhysicalDeviceExternalFenceProperties
|
||||
@ stub vkGetPhysicalDeviceExternalSemaphoreProperties
|
||||
@ stdcall wine_vkGetPhysicalDeviceFeatures(ptr ptr)
|
||||
@ stub vkGetPhysicalDeviceFeatures2
|
||||
@ stdcall wine_vkGetPhysicalDeviceFormatProperties(ptr long ptr)
|
||||
@ stub vkGetPhysicalDeviceFormatProperties2
|
||||
@ stdcall wine_vkGetPhysicalDeviceImageFormatProperties(ptr long long long long long ptr)
|
||||
@ stub vkGetPhysicalDeviceImageFormatProperties2
|
||||
@ stdcall wine_vkGetPhysicalDeviceMemoryProperties(ptr ptr)
|
||||
@ stub vkGetPhysicalDeviceMemoryProperties2
|
||||
@ stdcall wine_vkGetPhysicalDeviceProperties(ptr ptr)
|
||||
@ stub vkGetPhysicalDeviceProperties2
|
||||
@ stdcall wine_vkGetPhysicalDeviceQueueFamilyProperties(ptr ptr ptr)
|
||||
@ stub vkGetPhysicalDeviceQueueFamilyProperties2
|
||||
@ stdcall wine_vkGetPhysicalDeviceSparseImageFormatProperties(ptr long long long long long ptr ptr)
|
||||
@ stub vkGetPhysicalDeviceSparseImageFormatProperties2
|
||||
@ stdcall wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(ptr int64 ptr)
|
||||
@ stdcall wine_vkGetPhysicalDeviceSurfaceFormatsKHR(ptr int64 ptr ptr)
|
||||
@ stdcall wine_vkGetPhysicalDeviceSurfacePresentModesKHR(ptr int64 ptr long)
|
||||
|
@ -155,6 +181,8 @@
|
|||
@ stdcall wine_vkResetEvent(ptr int64)
|
||||
@ stdcall wine_vkResetFences(ptr long ptr)
|
||||
@ stdcall wine_vkSetEvent(ptr int64)
|
||||
@ stub vkTrimCommandPool
|
||||
@ stdcall wine_vkUnmapMemory(ptr int64)
|
||||
@ stub vkUpdateDescriptorSetWithTemplate
|
||||
@ stdcall wine_vkUpdateDescriptorSets(ptr long ptr long ptr)
|
||||
@ stdcall wine_vkWaitForFences(ptr long ptr long int64)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue