[PATCH 0/5] MR9981: winevulkan: More make_vulkan cleanup and simplifications.
From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/winevulkan/make_vulkan | 90 +++++++++++++++---------------------- 1 file changed, 35 insertions(+), 55 deletions(-) diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 9eed7ff3f5e..b82bfcdc555 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -490,16 +490,6 @@ class Extension(object): self.is_core = name in CORE_EXTENSIONS -class VkConstant(object): - def __init__(self, name, value): - self.name = name - self.value = value - - def definition(self): - text = "#define {0} {1}\n".format(self.name, self.value) - return text - - class Define(Type): def __init__(self, name, value, requires=None): Type.__init__(self, name, requires=requires if requires else []) @@ -526,6 +516,11 @@ class Define(Type): return self.value + '\n' +class Constant(Define): + def __init__(self, name, value): + Define.__init__(self, name, f"#define {name} {value}") + + class Enum(Type): def __init__(self, values, name, bitwidth="32", **kwargs): Type.__init__(self, name) @@ -605,6 +600,18 @@ class EnumValue(object): self.hex = "0x" in value self.value = int(value, 0) + @staticmethod + def from_xml(element, extension): + if offset := element.get("offset"): + # Extensions promoted to Core, have the extension number as part + # of the enum value. Else retrieve from the extension tag. + number = element.get("extnumber") or extension.get("number") + value = EXT_BASE + (int(number) - 1) * EXT_BLOCK_SIZE + int(offset) + value *= int((element.get("dir") or "+") + "1") + return EnumValue(**element.attrib, value=str(value)) + + return EnumValue(**element.attrib) + def is_alias(self): return self.alias is not None @@ -2869,18 +2876,13 @@ class Generator(object): for value in enum.findall("enum"): # 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: - Context.consts.append(VkConstant(value.attrib.get("name"), alias)) - else: - Context.consts.append(VkConstant(value.attrib.get("name"), value.attrib.get("value"))) + const = Constant(value.get("name"), value.get("alias") or value.get("value")) + Context.consts.append(const) Context.enums = OrderedDict(sorted(enums.items())) - def _process_require_enum(self, enum_elem, ext=None, only_aliased=False): - if "extends" in enum_elem.keys(): - enum = Type.get(enum_elem.attrib["extends"]) - + def process_enum_alias(self, enum_elem, extension): + if extends := enum_elem.get("extends"): # Need to define EnumValues which were aliased to by another value. This is necessary # from VK spec version 1.2.135 where the provisional VK_KHR_ray_tracing extension was # added which altered VK_NV_ray_tracing's EnumValues to alias to the provisional @@ -2893,40 +2895,18 @@ class Generator(object): if value.alias == enum_elem.attrib["name"]: aliased = True - if only_aliased and not aliased: - return - - if "offset" in enum_elem.keys(): - # Extensions promoted to Core, have the extension number as part - # of the enum value. Else retrieve from the extension tag. - if enum_elem.attrib.get("extnumber"): - ext_number = int(enum_elem.attrib.get("extnumber")) - else: - ext_number = int(ext.attrib["number"]) - offset = int(enum_elem.attrib["offset"]) - value = EXT_BASE + (ext_number - 1) * EXT_BLOCK_SIZE + offset - - # Deal with negative values. - direction = enum_elem.attrib.get("dir") - if direction is not None: - value = -value - - enum.add(EnumValue(**enum_elem.attrib, value=str(value))) - else: - enum.add(EnumValue(**enum_elem.attrib)) - - elif "value" in enum_elem.keys(): - # Constant with an explicit value - if only_aliased: - return - - Context.consts.append(VkConstant(enum_elem.attrib["name"], enum_elem.attrib["value"])) - elif "alias" in enum_elem.keys(): - # Aliased constant - if not only_aliased: - return + if aliased: + Type.get(extends).add(EnumValue.from_xml(enum_elem, extension)) + elif alias := enum_elem.get("alias"): + const = Constant(enum_elem.get("name"), alias) + Context.consts.append(const) - Context.consts.append(VkConstant(enum_elem.attrib["name"], enum_elem.attrib["alias"])) + def process_enum_value(self, enum_elem, extension=None): + if extends := enum_elem.get("extends"): + Type.get(extends).add(EnumValue.from_xml(enum_elem, extension)) + elif value := enum_elem.get("value"): + const = Constant(enum_elem.get("name"), value) + Context.consts.append(const) def _parse_extensions(self, root): """ Parse extensions section and pull in any types and commands for this extension. """ @@ -2991,7 +2971,7 @@ class Generator(object): for require in ext.findall("require"): # Extensions can add enum values to Core / extension enums, so add these. for enum_elem in require.findall("enum"): - self._process_require_enum(enum_elem, ext, only_aliased=True) + self.process_enum_alias(enum_elem, ext) LOGGER.debug("Loading extension: {0}".format(extension.name)) @@ -3001,7 +2981,7 @@ class Generator(object): for require in ext.findall("require"): # Extensions can add enum values to Core / extension enums, so add these. for enum_elem in require.findall("enum"): - self._process_require_enum(enum_elem, ext) + self.process_enum_value(enum_elem, ext) for t in require.findall("type"): # video.xml uses "type" to include various headers, @@ -3051,7 +3031,7 @@ class Generator(object): if type := Type.get(tag.get("name")): type.require() if tag.tag == "enum": - self._process_require_enum(tag) + self.process_enum_value(tag) def _parse_types(self, root): """ Parse types section, which contains all data types e.g. structs, typedefs etcetera. """ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9981
From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/winevulkan/make_vulkan | 143 ++++----------- dlls/winevulkan/vulkan_thunks.c | 172 +++++++----------- include/wine/vulkan.h | 312 ++------------------------------ 3 files changed, 116 insertions(+), 511 deletions(-) diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index b82bfcdc555..a098e78ed41 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -453,9 +453,9 @@ class Type(object): for type in filter(is_other, map(Type.get, self.requires)): type.set_order(self.order) - def definition(self): - aliases = ", ".join(Type.alias[self.name]) - return f"typedef {self.name} {aliases};\n" if len(aliases) else "" + def definition(self, suffix=""): + aliases = ", ".join(f"{alias}{suffix}" for alias in Type.alias[self.name]) + return f"typedef {self.name}{suffix} {aliases};\n" if len(aliases) else "" @staticmethod def get(name): @@ -1255,6 +1255,7 @@ class VkMember(VkVariable): self.struct_fwd_decl = struct_fwd_decl self.values = values self.bit_width = bit_width + self.parent = None @staticmethod def from_xml(member, returnedonly): @@ -1320,18 +1321,18 @@ class VkMember(VkVariable): values=values, object_type=object_type, bit_width=bit_width, returnedonly=returnedonly, selection=selection, selector=selector) - def get_dyn_array_len(self, parent, prefix, conv): + def get_dyn_array_len(self, prefix, conv): if isinstance(self.dyn_array_len, int): return self.dyn_array_len length = self.dyn_array_len - var = parent.members[parent.members.index(length)] + var = self.parent.members[self.parent.members.index(length)] length = var.value(prefix, conv, deref=True) - expr = MEMBER_LENGTH_EXPRESSIONS.get((parent.name, self.name), "{length}") + expr = MEMBER_LENGTH_EXPRESSIONS.get((self.parent.name, self.name), "{length}") return expr.format(prefix=prefix, length=length) - def copy(self, input, output, direction, conv, unwrap, parent_const, conversions, parent): + def copy(self, input, output, direction, conv, unwrap, parent_const, conversions): is_const = self.is_const() if self.is_pointer() else parent_const if self.needs_conversion(conv, unwrap, direction, False): @@ -1340,7 +1341,7 @@ class VkMember(VkVariable): conversions.append(convert) # Array length is either a variable name (string) or an int. - count = self.get_dyn_array_len(parent, input, conv) + count = self.get_dyn_array_len(input, conv) if direction == Direction.OUTPUT: value = self.value(output, conv) return f"{convert.name}({input}{self.name}, {value}, {count});\n" @@ -1400,15 +1401,8 @@ class VkMember(VkVariable): else: return "{0}{1} = {2}{1};\n".format(output, self.name, input) - def definition(self, align=False, conv=False): - """ Generate prototype for given function. - - Args: - align (bool, optional): Enable alignment if a type needs it. This adds WINE_VK_ALIGN(8) to a member. - conv (bool, optional): Enable conversion if a type needs it. This appends '_host' to the name. - """ - - if conv and (self.is_pointer() or self.is_pointer_size()): + def definition(self, suffix): + if suffix and (self.is_pointer() or self.is_pointer_size()): text = "PTR32 " + self.name for l in self.array_lens: text += "[{0}]".format(l) @@ -1422,14 +1416,14 @@ class VkMember(VkVariable): text += "struct " text += self.type_name - if conv and self.needs_win32_type(): + if suffix and self.needs_win32_type(): text += "32" if self.is_pointer(): text += " {0}{1}".format(self.pointer, self.name) else: - if align and self.needs_alignment(): - if conv: + if self.needs_alignment(): + if suffix: text += " DECLSPEC_ALIGN(8) " + self.name else: text += " WINE_VK_ALIGN(8) " + self.name @@ -1791,55 +1785,25 @@ class Parameter(VkVariable): class Record(Type): - def __init__(self, name, members, returnedonly, structextends, alias=None, union=False): + def __init__(self, members, name, returnedonly=False, structextends=None, category="struct", **kwargs): Type.__init__(self, name, [m.type_name for m in members]) + self.union = category == "union" self.members = members self.returnedonly = returnedonly - self.structextends = structextends - self.alias = alias - self.union = union + self.structextends = structextends.split(",") if structextends else [] self._struct_extensions = None - self.aliased_by = [] - - # struct type is the (only one possible) value of the sType member, if present - member = next((x for x in self.members if x.name == "sType"), None) - self.struct_type = member.values if member else None - - @staticmethod - def from_alias(struct, alias): - name = struct.attrib.get("name") - aliasee = Record(name, alias.members, alias.returnedonly, alias.structextends, alias=alias) - alias.add_aliased_by(aliasee) - return aliasee + for m in self.members: + if m.name == "sType": + self.struct_type = m.values + m.parent = self @staticmethod def from_xml(struct): - # Unions and structs are the same parsing wise, but we need to - # know which one we are dealing with later on for code generation. - union = True if struct.attrib["category"] == "union" else False - - name = struct.attrib.get("name") - - # 'Output' structures for which data is filled in by the API are - # marked as 'returnedonly'. - returnedonly = True if struct.attrib.get("returnedonly") else False - - # Those structs seem to be broken in spec, they are specified as - # returned only, but documented as input structs. - if name in ["VkPipelineShaderStageRequiredSubgroupSizeCreateInfo"]: - returnedonly = False - - # Those structs don't have returnedonly in spec, but they could (should?). - if name in ["VkSurfaceCapabilitiesPresentBarrierNV"]: - returnedonly = True - - structextends = struct.attrib.get("structextends") - structextends = structextends.split(",") if structextends else [] - + returnedonly = "returnedonly" in struct.attrib members = filter(is_api_supported, struct.findall("member")) members = [VkMember.from_xml(member, returnedonly) for member in members] - return Record(name, members, returnedonly, structextends, union=union) + return Record(members, **struct.attrib) @property def struct_extensions(self): @@ -1848,7 +1812,7 @@ class Record(Type): def is_struct_extension(struct): if not struct.extensions or any(ext.is_exposed for ext in struct.extensions): - return not struct.alias and self.name in struct.structextends + return self.name in struct.structextends return False structs = sorted(Context.structs, key=lambda s: s.name) @@ -1857,45 +1821,16 @@ class Record(Type): return self._struct_extensions - def definition(self, align=False, conv=False): - """ Convert structure to textual definition. - - Args: - align (bool, optional): enable alignment to 64-bit for win32 struct compatibility. - conv (bool, optional): enable struct conversion if the struct needs it. - postfix (str, optional): text to append to end of struct name, useful for struct renaming. - """ - - if self.is_alias(): - return "" - - suffix = "32" if conv else "" - if self.union: - text = "typedef union {0}".format(self.name) - else: - text = "typedef struct {0}".format(self.name) - text += suffix - - text += "\n{\n" - + def definition(self, suffix=""): + kind = "union" if self.union else "struct" + text = f"typedef {kind} {self.name}{suffix}\n{{\n" for m in self.members: - if align and m.needs_alignment(): - text += " {0};\n".format(m.definition(align=align, conv=conv)) - else: - text += " {0};\n".format(m.definition(conv=conv)) - - text += "}} {0}{1};\n".format(self.name, suffix) - - for aliasee in self.aliased_by: - text += "typedef {0}{2} {1}{2};\n".format(self.name, aliasee.name, suffix) - - return text + text += f" {m.definition(suffix)};\n" + text += f"}} {self.name}{suffix};\n" + return text + Type.definition(self, suffix) + '\n' def is_alias(self): - return bool(self.alias) - - def add_aliased_by(self, aliasee): - self.aliased_by.append(aliasee) + return False def needs_alignment(self): """ Check if structure needs alignment for 64-bit data. @@ -2163,7 +2098,7 @@ class StructConversionFunction(object): body += " || ".join("selector == {}".format(s) for s in m.selection) body += ")\n " - body += " " + m.copy("in->", "out->", self.direction, self.conv, self.unwrap, self.const, conversions, self.operand) + body += " " + m.copy("in->", "out->", self.direction, self.conv, self.unwrap, self.const, conversions) if needs_extensions: if self.conv and self.direction == Direction.INPUT: @@ -2218,7 +2153,7 @@ class StructConversionFunction(object): if m.name == "pNext": body += u" out_ext->pNext = NULL;\n" continue - body += ident + m.copy("in_ext->", "out_ext->", self.direction, self.conv, Unwrap.HOST, self.const, conversions, ext) + body += ident + m.copy("in_ext->", "out_ext->", self.direction, self.conv, Unwrap.HOST, self.const, conversions) if self.direction == Direction.INPUT: body += ident + "out_header->pNext = (void *)out_ext;\n" @@ -2491,8 +2426,7 @@ class Generator(object): win32_structs = sorted(win32_structs, key=lambda struct: (-struct.order, struct.name)) for struct in unique(win32_structs, key=lambda struct: struct.name): - f.write(struct.definition(conv=True, align=True)) - f.write("\n") + f.write(struct.definition(suffix="32")) f.write("static uint64_t wine_vk_unwrap_handle(uint32_t type, uint64_t handle)\n") f.write("{\n") @@ -2749,9 +2683,7 @@ class Generator(object): # see comment in parsing section. for struct in Context.structs: if struct.is_required() and struct.name != "SECURITY_ATTRIBUTES": - LOGGER.debug("Generating struct: {0}".format(struct.name)) - f.write(struct.definition(align=True)) - f.write("\n") + f.write(struct.definition()) for func in filter(Function.is_required, Context.funcs.values()): f.write(func.gen_pointer()) @@ -3092,17 +3024,12 @@ class Generator(object): # Second pass for alias types, so we can retrieve all data from # the aliased object. for t in alias_types: - category, requires = t.get("category"), t.get("requires") name = t.findtext("name") or t.findtext("proto/name") or t.get("name") alias = t.get("alias") Type.alias[alias].append(name) Type.alias[name] = alias - if category == "struct": - struct = Record.from_alias(t, Type.get(alias)) - structs.append(struct) - # 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 diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index deb8f818517..3b2ad5f933f 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -1225,8 +1225,7 @@ typedef struct VkImageSubresource232 PTR32 pNext; VkImageSubresource imageSubresource; } VkImageSubresource232; -typedef VkImageSubresource232 VkImageSubresource2KHR32; -typedef VkImageSubresource232 VkImageSubresource2EXT32; +typedef VkImageSubresource232 VkImageSubresource2KHR32, VkImageSubresource2EXT32; typedef struct VkImageToMemoryCopy32 { @@ -2215,8 +2214,7 @@ typedef struct VkBufferDeviceAddressInfo32 PTR32 pNext; VkBuffer DECLSPEC_ALIGN(8) buffer; } VkBufferDeviceAddressInfo32; -typedef VkBufferDeviceAddressInfo32 VkBufferDeviceAddressInfoKHR32; -typedef VkBufferDeviceAddressInfo32 VkBufferDeviceAddressInfoEXT32; +typedef VkBufferDeviceAddressInfo32 VkBufferDeviceAddressInfoKHR32, VkBufferDeviceAddressInfoEXT32; typedef struct VkBufferImageCopy32 { @@ -3342,8 +3340,7 @@ typedef struct VkDeviceQueueGlobalPriorityCreateInfo32 PTR32 pNext; VkQueueGlobalPriority globalPriority; } VkDeviceQueueGlobalPriorityCreateInfo32; -typedef VkDeviceQueueGlobalPriorityCreateInfo32 VkDeviceQueueGlobalPriorityCreateInfoKHR32; -typedef VkDeviceQueueGlobalPriorityCreateInfo32 VkDeviceQueueGlobalPriorityCreateInfoEXT32; +typedef VkDeviceQueueGlobalPriorityCreateInfo32 VkDeviceQueueGlobalPriorityCreateInfoKHR32, VkDeviceQueueGlobalPriorityCreateInfoEXT32; typedef struct VkDeviceQueueInfo232 { @@ -4193,7 +4190,6 @@ typedef struct VkMemoryRequirements232 } VkMemoryRequirements232; typedef VkMemoryRequirements232 VkMemoryRequirements2KHR32; - typedef struct VkMemoryUnmapInfo32 { VkStructureType sType; @@ -5547,8 +5543,7 @@ typedef struct VkPhysicalDeviceGlobalPriorityQueryFeatures32 PTR32 pNext; VkBool32 globalPriorityQuery; } VkPhysicalDeviceGlobalPriorityQueryFeatures32; -typedef VkPhysicalDeviceGlobalPriorityQueryFeatures32 VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32; -typedef VkPhysicalDeviceGlobalPriorityQueryFeatures32 VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT32; +typedef VkPhysicalDeviceGlobalPriorityQueryFeatures32 VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32, VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT32; typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT32 { @@ -5747,8 +5742,7 @@ typedef struct VkPhysicalDeviceIndexTypeUint8Features32 PTR32 pNext; VkBool32 indexTypeUint8; } VkPhysicalDeviceIndexTypeUint8Features32; -typedef VkPhysicalDeviceIndexTypeUint8Features32 VkPhysicalDeviceIndexTypeUint8FeaturesKHR32; -typedef VkPhysicalDeviceIndexTypeUint8Features32 VkPhysicalDeviceIndexTypeUint8FeaturesEXT32; +typedef VkPhysicalDeviceIndexTypeUint8Features32 VkPhysicalDeviceIndexTypeUint8FeaturesKHR32, VkPhysicalDeviceIndexTypeUint8FeaturesEXT32; typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV32 { @@ -5846,8 +5840,7 @@ typedef struct VkPhysicalDeviceLineRasterizationFeatures32 VkBool32 stippledBresenhamLines; VkBool32 stippledSmoothLines; } VkPhysicalDeviceLineRasterizationFeatures32; -typedef VkPhysicalDeviceLineRasterizationFeatures32 VkPhysicalDeviceLineRasterizationFeaturesKHR32; -typedef VkPhysicalDeviceLineRasterizationFeatures32 VkPhysicalDeviceLineRasterizationFeaturesEXT32; +typedef VkPhysicalDeviceLineRasterizationFeatures32 VkPhysicalDeviceLineRasterizationFeaturesKHR32, VkPhysicalDeviceLineRasterizationFeaturesEXT32; typedef struct VkPhysicalDeviceLineRasterizationProperties32 { @@ -5855,8 +5848,7 @@ typedef struct VkPhysicalDeviceLineRasterizationProperties32 PTR32 pNext; uint32_t lineSubPixelPrecisionBits; } VkPhysicalDeviceLineRasterizationProperties32; -typedef VkPhysicalDeviceLineRasterizationProperties32 VkPhysicalDeviceLineRasterizationPropertiesKHR32; -typedef VkPhysicalDeviceLineRasterizationProperties32 VkPhysicalDeviceLineRasterizationPropertiesEXT32; +typedef VkPhysicalDeviceLineRasterizationProperties32 VkPhysicalDeviceLineRasterizationPropertiesKHR32, VkPhysicalDeviceLineRasterizationPropertiesEXT32; typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV32 { @@ -6935,8 +6927,7 @@ typedef struct VkPhysicalDeviceShaderFloat16Int8Features32 VkBool32 shaderFloat16; VkBool32 shaderInt8; } VkPhysicalDeviceShaderFloat16Int8Features32; -typedef VkPhysicalDeviceShaderFloat16Int8Features32 VkPhysicalDeviceShaderFloat16Int8FeaturesKHR32; -typedef VkPhysicalDeviceShaderFloat16Int8Features32 VkPhysicalDeviceFloat16Int8FeaturesKHR32; +typedef VkPhysicalDeviceShaderFloat16Int8Features32 VkPhysicalDeviceShaderFloat16Int8FeaturesKHR32, VkPhysicalDeviceFloat16Int8FeaturesKHR32; typedef struct VkPhysicalDeviceShaderFloat8FeaturesEXT32 { @@ -7481,9 +7472,7 @@ typedef struct VkPhysicalDeviceVariablePointersFeatures32 VkBool32 variablePointersStorageBuffer; VkBool32 variablePointers; } VkPhysicalDeviceVariablePointersFeatures32; -typedef VkPhysicalDeviceVariablePointersFeatures32 VkPhysicalDeviceVariablePointersFeaturesKHR32; -typedef VkPhysicalDeviceVariablePointersFeatures32 VkPhysicalDeviceVariablePointerFeaturesKHR32; -typedef VkPhysicalDeviceVariablePointersFeatures32 VkPhysicalDeviceVariablePointerFeatures32; +typedef VkPhysicalDeviceVariablePointersFeatures32 VkPhysicalDeviceVariablePointersFeaturesKHR32, VkPhysicalDeviceVariablePointerFeaturesKHR32, VkPhysicalDeviceVariablePointerFeatures32; typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures32 { @@ -7492,8 +7481,7 @@ typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures32 VkBool32 vertexAttributeInstanceRateDivisor; VkBool32 vertexAttributeInstanceRateZeroDivisor; } VkPhysicalDeviceVertexAttributeDivisorFeatures32; -typedef VkPhysicalDeviceVertexAttributeDivisorFeatures32 VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR32; -typedef VkPhysicalDeviceVertexAttributeDivisorFeatures32 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32; +typedef VkPhysicalDeviceVertexAttributeDivisorFeatures32 VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR32, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32; typedef struct VkPhysicalDeviceVertexAttributeDivisorProperties32 { @@ -8101,7 +8089,6 @@ typedef struct VkPipelineIndirectDeviceAddressInfoNV32 VkPipeline DECLSPEC_ALIGN(8) pipeline; } VkPipelineIndirectDeviceAddressInfoNV32; - typedef struct VkPipelineInfoKHR32 { VkStructureType sType; @@ -8147,8 +8134,7 @@ typedef struct VkPipelineRasterizationLineStateCreateInfo32 uint32_t lineStippleFactor; uint16_t lineStipplePattern; } VkPipelineRasterizationLineStateCreateInfo32; -typedef VkPipelineRasterizationLineStateCreateInfo32 VkPipelineRasterizationLineStateCreateInfoKHR32; -typedef VkPipelineRasterizationLineStateCreateInfo32 VkPipelineRasterizationLineStateCreateInfoEXT32; +typedef VkPipelineRasterizationLineStateCreateInfo32 VkPipelineRasterizationLineStateCreateInfoKHR32, VkPipelineRasterizationLineStateCreateInfoEXT32; typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT32 { @@ -8224,8 +8210,7 @@ typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32 PTR32 pNext; uint32_t requiredSubgroupSize; } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32; -typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32 VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT32; -typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32 VkShaderRequiredSubgroupSizeCreateInfoEXT32; +typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32 VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT32, VkShaderRequiredSubgroupSizeCreateInfoEXT32; typedef struct VkPipelineTessellationDomainOriginStateCreateInfo32 { @@ -8242,8 +8227,7 @@ typedef struct VkPipelineVertexInputDivisorStateCreateInfo32 uint32_t vertexBindingDivisorCount; PTR32 pVertexBindingDivisors; } VkPipelineVertexInputDivisorStateCreateInfo32; -typedef VkPipelineVertexInputDivisorStateCreateInfo32 VkPipelineVertexInputDivisorStateCreateInfoKHR32; -typedef VkPipelineVertexInputDivisorStateCreateInfo32 VkPipelineVertexInputDivisorStateCreateInfoEXT32; +typedef VkPipelineVertexInputDivisorStateCreateInfo32 VkPipelineVertexInputDivisorStateCreateInfoKHR32, VkPipelineVertexInputDivisorStateCreateInfoEXT32; typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV32 { @@ -8491,8 +8475,7 @@ typedef struct VkQueueFamilyGlobalPriorityProperties32 uint32_t priorityCount; VkQueueGlobalPriority priorities[VK_MAX_GLOBAL_PRIORITY_SIZE]; } VkQueueFamilyGlobalPriorityProperties32; -typedef VkQueueFamilyGlobalPriorityProperties32 VkQueueFamilyGlobalPriorityPropertiesKHR32; -typedef VkQueueFamilyGlobalPriorityProperties32 VkQueueFamilyGlobalPriorityPropertiesEXT32; +typedef VkQueueFamilyGlobalPriorityProperties32 VkQueueFamilyGlobalPriorityPropertiesKHR32, VkQueueFamilyGlobalPriorityPropertiesEXT32; typedef struct VkQueueFamilyOwnershipTransferPropertiesKHR32 { @@ -9151,8 +9134,7 @@ typedef struct VkSubresourceLayout232 PTR32 pNext; VkSubresourceLayout32 DECLSPEC_ALIGN(8) subresourceLayout; } VkSubresourceLayout232; -typedef VkSubresourceLayout232 VkSubresourceLayout2KHR32; -typedef VkSubresourceLayout232 VkSubresourceLayout2EXT32; +typedef VkSubresourceLayout232 VkSubresourceLayout2KHR32, VkSubresourceLayout2EXT32; typedef struct VkSubsampledImageFormatPropertiesEXT32 { @@ -29576,66 +29558,6 @@ static void convert_VkAccelerationStructureMemoryRequirementsInfoNV_win32_to_hos FIXME("Unexpected pNext\n"); } -static void convert_VkMemoryRequirements2KHR_win32_to_host(const VkMemoryRequirements2KHR32 *in, VkMemoryRequirements2KHR *out) -{ - if (!in) return; - - out->sType = in->sType; - out->pNext = NULL; - if (in->pNext) - FIXME("Unexpected pNext\n"); -} - -static void convert_VkMemoryRequirements_host_to_win32(const VkMemoryRequirements *in, VkMemoryRequirements32 *out) -{ - if (!in) return; - - out->size = in->size; - out->alignment = in->alignment; - out->memoryTypeBits = in->memoryTypeBits; -} - -static void convert_VkMemoryRequirements2KHR_host_to_win32(const VkMemoryRequirements2KHR *in, VkMemoryRequirements2KHR32 *out) -{ - if (!in) return; - - convert_VkMemoryRequirements_host_to_win32(&in->memoryRequirements, &out->memoryRequirements); -} - -static void convert_VkAccelerationStructureCaptureDescriptorDataInfoEXT_win32_to_host(const VkAccelerationStructureCaptureDescriptorDataInfoEXT32 *in, VkAccelerationStructureCaptureDescriptorDataInfoEXT *out) -{ - if (!in) return; - - out->sType = in->sType; - out->pNext = NULL; - out->accelerationStructure = in->accelerationStructure; - out->accelerationStructureNV = in->accelerationStructureNV; - if (in->pNext) - FIXME("Unexpected pNext\n"); -} - -static void convert_VkBufferDeviceAddressInfo_win32_to_host(const VkBufferDeviceAddressInfo32 *in, VkBufferDeviceAddressInfo *out) -{ - if (!in) return; - - out->sType = in->sType; - out->pNext = NULL; - out->buffer = in->buffer; - if (in->pNext) - FIXME("Unexpected pNext\n"); -} - -static void convert_VkBufferMemoryRequirementsInfo2_win32_to_host(const VkBufferMemoryRequirementsInfo232 *in, VkBufferMemoryRequirementsInfo2 *out) -{ - if (!in) return; - - out->sType = in->sType; - out->pNext = NULL; - out->buffer = in->buffer; - if (in->pNext) - FIXME("Unexpected pNext\n"); -} - static void convert_VkMemoryRequirements2_win32_to_host(struct conversion_context *ctx, const VkMemoryRequirements232 *in, VkMemoryRequirements2 *out) { const VkBaseInStructure32 *in_header; @@ -29678,6 +29600,15 @@ static void convert_VkMemoryRequirements2_win32_to_host(struct conversion_contex } } +static void convert_VkMemoryRequirements_host_to_win32(const VkMemoryRequirements *in, VkMemoryRequirements32 *out) +{ + if (!in) return; + + out->size = in->size; + out->alignment = in->alignment; + out->memoryTypeBits = in->memoryTypeBits; +} + static void convert_VkMemoryRequirements2_host_to_win32(const VkMemoryRequirements2 *in, VkMemoryRequirements232 *out) { const VkBaseInStructure *in_header; @@ -29717,6 +29648,40 @@ static void convert_VkMemoryRequirements2_host_to_win32(const VkMemoryRequiremen } } +static void convert_VkAccelerationStructureCaptureDescriptorDataInfoEXT_win32_to_host(const VkAccelerationStructureCaptureDescriptorDataInfoEXT32 *in, VkAccelerationStructureCaptureDescriptorDataInfoEXT *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->accelerationStructure = in->accelerationStructure; + out->accelerationStructureNV = in->accelerationStructureNV; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static void convert_VkBufferDeviceAddressInfo_win32_to_host(const VkBufferDeviceAddressInfo32 *in, VkBufferDeviceAddressInfo *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->buffer = in->buffer; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static void convert_VkBufferMemoryRequirementsInfo2_win32_to_host(const VkBufferMemoryRequirementsInfo232 *in, VkBufferMemoryRequirementsInfo2 *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->buffer = in->buffer; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + static void convert_VkBufferCaptureDescriptorDataInfoEXT_win32_to_host(const VkBufferCaptureDescriptorDataInfoEXT32 *in, VkBufferCaptureDescriptorDataInfoEXT *out) { if (!in) return; @@ -41816,17 +41781,6 @@ static void convert_VkPipelineIndirectDeviceAddressInfoNV_win32_to_host(const Vk FIXME("Unexpected pNext\n"); } -static void convert_VkPipelineInfoEXT_win32_to_host(const VkPipelineInfoEXT32 *in, VkPipelineInfoEXT *out) -{ - if (!in) return; - - out->sType = in->sType; - out->pNext = NULL; - out->pipeline = in->pipeline; - if (in->pNext) - FIXME("Unexpected pNext\n"); -} - static void convert_VkCheckpointData2NV_win32_to_host(const VkCheckpointData2NV32 *in, VkCheckpointData2NV *out) { if (!in) return; @@ -56508,13 +56462,17 @@ static NTSTATUS thunk32_vkGetAccelerationStructureMemoryRequirementsNV(void *arg } *params = args; VkAccelerationStructureMemoryRequirementsInfoNV pInfo_host; VkMemoryRequirements2KHR pMemoryRequirements_host; + struct conversion_context local_ctx; + struct conversion_context *ctx = &local_ctx; TRACE("%#x, %#x, %#x\n", params->device, params->pInfo, params->pMemoryRequirements); + init_conversion_context(ctx); convert_VkAccelerationStructureMemoryRequirementsInfoNV_win32_to_host((const VkAccelerationStructureMemoryRequirementsInfoNV32 *)UlongToPtr(params->pInfo), &pInfo_host); - convert_VkMemoryRequirements2KHR_win32_to_host((VkMemoryRequirements2KHR32 *)UlongToPtr(params->pMemoryRequirements), &pMemoryRequirements_host); + convert_VkMemoryRequirements2_win32_to_host(ctx, (VkMemoryRequirements2KHR32 *)UlongToPtr(params->pMemoryRequirements), &pMemoryRequirements_host); vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->p_vkGetAccelerationStructureMemoryRequirementsNV(vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->host.device, &pInfo_host, &pMemoryRequirements_host); - convert_VkMemoryRequirements2KHR_host_to_win32(&pMemoryRequirements_host, (VkMemoryRequirements2KHR32 *)UlongToPtr(params->pMemoryRequirements)); + convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host, (VkMemoryRequirements2KHR32 *)UlongToPtr(params->pMemoryRequirements)); + free_conversion_context(ctx); return STATUS_SUCCESS; } @@ -61354,7 +61312,7 @@ static NTSTATUS thunk32_vkGetPipelinePropertiesEXT(void *args) TRACE("%#x, %#x, %#x\n", params->device, params->pPipelineInfo, params->pPipelineProperties); - convert_VkPipelineInfoEXT_win32_to_host((const VkPipelineInfoEXT32 *)UlongToPtr(params->pPipelineInfo), &pPipelineInfo_host); + convert_VkPipelineInfoKHR_win32_to_host((const VkPipelineInfoEXT32 *)UlongToPtr(params->pPipelineInfo), &pPipelineInfo_host); params->result = vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->p_vkGetPipelinePropertiesEXT(vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->host.device, &pPipelineInfo_host, (VkBaseOutStructure *)UlongToPtr(params->pPipelineProperties)); return STATUS_SUCCESS; } diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index c50c65a1424..bb2b4db1d28 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -9905,8 +9905,7 @@ typedef struct VkImageSubresource2 void *pNext; VkImageSubresource imageSubresource; } VkImageSubresource2; -typedef VkImageSubresource2 VkImageSubresource2KHR; -typedef VkImageSubresource2 VkImageSubresource2EXT; +typedef VkImageSubresource2 VkImageSubresource2KHR, VkImageSubresource2EXT; typedef struct VkImageToMemoryCopy { @@ -10597,8 +10596,7 @@ typedef struct VkVertexInputBindingDivisorDescription uint32_t binding; uint32_t divisor; } VkVertexInputBindingDivisorDescription; -typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionKHR; -typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionEXT; +typedef VkVertexInputBindingDivisorDescription VkVertexInputBindingDivisorDescriptionKHR, VkVertexInputBindingDivisorDescriptionEXT; typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { @@ -10729,7 +10727,6 @@ typedef struct VkAabbPositionsKHR } VkAabbPositionsKHR; typedef VkAabbPositionsKHR VkAabbPositionsNV; - typedef struct VkAccelerationStructureBuildGeometryInfoKHR { VkStructureType sType; @@ -10836,7 +10833,6 @@ typedef struct VkAccelerationStructureGeometrySpheresDataNV VkDeviceSize WINE_VK_ALIGN(8) indexStride; } VkAccelerationStructureGeometrySpheresDataNV; - typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { VkStructureType sType; @@ -10919,7 +10915,6 @@ typedef struct VkAntiLagDataAMD const VkAntiLagPresentationInfoAMD *pPresentationInfo; } VkAntiLagDataAMD; - typedef struct VkAttachmentDescriptionStencilLayout { VkStructureType sType; @@ -10929,7 +10924,6 @@ typedef struct VkAttachmentDescriptionStencilLayout } VkAttachmentDescriptionStencilLayout; typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; - typedef struct VkAttachmentFeedbackLoopInfoEXT { VkStructureType sType; @@ -10937,7 +10931,6 @@ typedef struct VkAttachmentFeedbackLoopInfoEXT VkBool32 feedbackLoopEnable; } VkAttachmentFeedbackLoopInfoEXT; - typedef struct VkAttachmentReferenceStencilLayout { VkStructureType sType; @@ -10946,7 +10939,6 @@ typedef struct VkAttachmentReferenceStencilLayout } VkAttachmentReferenceStencilLayout; typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; - typedef struct VkAttachmentSampleCountInfoAMD { VkStructureType sType; @@ -10957,7 +10949,6 @@ typedef struct VkAttachmentSampleCountInfoAMD } VkAttachmentSampleCountInfoAMD; typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; - typedef struct VkBaseInStructure { VkStructureType sType; @@ -10996,7 +10987,6 @@ typedef struct VkBindBufferMemoryDeviceGroupInfo } VkBindBufferMemoryDeviceGroupInfo; typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; - typedef struct VkBindBufferMemoryInfo { VkStructureType sType; @@ -11007,7 +10997,6 @@ typedef struct VkBindBufferMemoryInfo } VkBindBufferMemoryInfo; typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; - typedef struct VkBindDataGraphPipelineSessionMemoryInfoARM { VkStructureType sType; @@ -11042,7 +11031,6 @@ typedef struct VkBindDescriptorSetsInfo } VkBindDescriptorSetsInfo; typedef VkBindDescriptorSetsInfo VkBindDescriptorSetsInfoKHR; - typedef struct VkBindImageMemoryDeviceGroupInfo { VkStructureType sType; @@ -11054,7 +11042,6 @@ typedef struct VkBindImageMemoryDeviceGroupInfo } VkBindImageMemoryDeviceGroupInfo; typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; - typedef struct VkBindImageMemoryInfo { VkStructureType sType; @@ -11065,7 +11052,6 @@ typedef struct VkBindImageMemoryInfo } VkBindImageMemoryInfo; typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; - typedef struct VkBindImageMemorySwapchainInfoKHR { VkStructureType sType; @@ -11082,7 +11068,6 @@ typedef struct VkBindImagePlaneMemoryInfo } VkBindImagePlaneMemoryInfo; typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; - typedef struct VkBindIndexBufferIndirectCommandEXT { VkDeviceAddress WINE_VK_ALIGN(8) bufferAddress; @@ -11105,7 +11090,6 @@ typedef struct VkBindMemoryStatus } VkBindMemoryStatus; typedef VkBindMemoryStatus VkBindMemoryStatusKHR; - typedef struct VkBindPipelineIndirectCommandNV { VkDeviceAddress WINE_VK_ALIGN(8) pipelineAddress; @@ -11186,7 +11170,6 @@ typedef struct VkBlitImageInfo2 } VkBlitImageInfo2; typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; - typedef struct VkBufferCaptureDescriptorDataInfoEXT { VkStructureType sType; @@ -11201,7 +11184,6 @@ typedef struct VkBufferCopy VkDeviceSize WINE_VK_ALIGN(8) size; } VkBufferCopy; - typedef struct VkBufferDeviceAddressCreateInfoEXT { VkStructureType sType; @@ -11215,10 +11197,7 @@ typedef struct VkBufferDeviceAddressInfo const void *pNext; VkBuffer WINE_VK_ALIGN(8) buffer; } VkBufferDeviceAddressInfo; -typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; -typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; - - +typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR, VkBufferDeviceAddressInfoEXT; typedef struct VkBufferImageCopy { @@ -11230,7 +11209,6 @@ typedef struct VkBufferImageCopy VkExtent3D imageExtent; } VkBufferImageCopy; - typedef struct VkBufferMemoryBarrier { VkStructureType sType; @@ -11244,7 +11222,6 @@ typedef struct VkBufferMemoryBarrier VkDeviceSize WINE_VK_ALIGN(8) size; } VkBufferMemoryBarrier; - typedef struct VkBufferMemoryRequirementsInfo2 { VkStructureType sType; @@ -11253,7 +11230,6 @@ typedef struct VkBufferMemoryRequirementsInfo2 } VkBufferMemoryRequirementsInfo2; typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; - typedef struct VkBufferOpaqueCaptureAddressCreateInfo { VkStructureType sType; @@ -11262,7 +11238,6 @@ typedef struct VkBufferOpaqueCaptureAddressCreateInfo } VkBufferOpaqueCaptureAddressCreateInfo; typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; - typedef struct VkBufferUsageFlags2CreateInfo { VkStructureType sType; @@ -11271,7 +11246,6 @@ typedef struct VkBufferUsageFlags2CreateInfo } VkBufferUsageFlags2CreateInfo; typedef VkBufferUsageFlags2CreateInfo VkBufferUsageFlags2CreateInfoKHR; - typedef struct VkBufferViewCreateInfo { VkStructureType sType; @@ -11302,7 +11276,6 @@ typedef struct VkBuildPartitionedAccelerationStructureInfoNV VkDeviceAddress WINE_VK_ALIGN(8) srcInfosCount; } VkBuildPartitionedAccelerationStructureInfoNV; - typedef struct VkCalibratedTimestampInfoKHR { VkStructureType sType; @@ -11497,7 +11470,6 @@ typedef struct VkCommandBufferInheritanceRenderingInfo } VkCommandBufferInheritanceRenderingInfo; typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; - typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { VkStructureType sType; @@ -11507,7 +11479,6 @@ typedef struct VkCommandBufferInheritanceViewportScissorInfoNV const VkViewport *pViewportDepths; } VkCommandBufferInheritanceViewportScissorInfoNV; - typedef struct VkCommandPoolCreateInfo { VkStructureType sType; @@ -11553,7 +11524,6 @@ typedef struct VkConditionalRenderingBeginInfoEXT VkConditionalRenderingFlagsEXT flags; } VkConditionalRenderingBeginInfoEXT; - typedef struct VkConvertCooperativeVectorMatrixInfoNV { VkStructureType sType; @@ -11658,7 +11628,6 @@ typedef struct VkCopyBufferInfo2 } VkCopyBufferInfo2; typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; - typedef struct VkCopyBufferToImageInfo2 { VkStructureType sType; @@ -11671,7 +11640,6 @@ typedef struct VkCopyBufferToImageInfo2 } VkCopyBufferToImageInfo2; typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; - typedef struct VkCopyCommandTransformInfoQCOM { VkStructureType sType; @@ -11705,7 +11673,6 @@ typedef struct VkCopyImageInfo2 } VkCopyImageInfo2; typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; - typedef struct VkCopyImageToBufferInfo2 { VkStructureType sType; @@ -11718,7 +11685,6 @@ typedef struct VkCopyImageToBufferInfo2 } VkCopyImageToBufferInfo2; typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; - typedef struct VkCopyImageToImageInfo { VkStructureType sType; @@ -11733,7 +11699,6 @@ typedef struct VkCopyImageToImageInfo } VkCopyImageToImageInfo; typedef VkCopyImageToImageInfo VkCopyImageToImageInfoEXT; - typedef struct VkCopyImageToMemoryInfo { VkStructureType sType; @@ -11746,7 +11711,6 @@ typedef struct VkCopyImageToMemoryInfo } VkCopyImageToMemoryInfo; typedef VkCopyImageToMemoryInfo VkCopyImageToMemoryInfoEXT; - typedef struct VkCopyMemoryIndirectCommandKHR { VkDeviceAddress WINE_VK_ALIGN(8) srcAddress; @@ -11755,7 +11719,6 @@ typedef struct VkCopyMemoryIndirectCommandKHR } VkCopyMemoryIndirectCommandKHR; typedef VkCopyMemoryIndirectCommandKHR VkCopyMemoryIndirectCommandNV; - typedef struct VkCopyMemoryIndirectInfoKHR { VkStructureType sType; @@ -11786,7 +11749,6 @@ typedef struct VkCopyMemoryToImageIndirectCommandKHR } VkCopyMemoryToImageIndirectCommandKHR; typedef VkCopyMemoryToImageIndirectCommandKHR VkCopyMemoryToImageIndirectCommandNV; - typedef struct VkCopyMemoryToImageIndirectInfoKHR { VkStructureType sType; @@ -11811,7 +11773,6 @@ typedef struct VkCopyMemoryToImageInfo } VkCopyMemoryToImageInfo; typedef VkCopyMemoryToImageInfo VkCopyMemoryToImageInfoEXT; - typedef struct VkCopyMemoryToMicromapInfoEXT { VkStructureType sType; @@ -12157,7 +12118,6 @@ typedef struct VkDependencyInfo } VkDependencyInfo; typedef VkDependencyInfo VkDependencyInfoKHR; - typedef struct VkDepthBiasInfoEXT { VkStructureType sType; @@ -12223,7 +12183,6 @@ typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo } VkDescriptorPoolInlineUniformBlockCreateInfo; typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; - typedef struct VkDescriptorSetAllocateInfo { VkStructureType sType; @@ -12250,7 +12209,6 @@ typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo } VkDescriptorSetLayoutBindingFlagsCreateInfo; typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; - typedef struct VkDescriptorSetLayoutCreateInfo { VkStructureType sType; @@ -12276,7 +12234,6 @@ typedef struct VkDescriptorSetLayoutSupport } VkDescriptorSetLayoutSupport; typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; - typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { VkStructureType sType; @@ -12286,7 +12243,6 @@ typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo } VkDescriptorSetVariableDescriptorCountAllocateInfo; typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; - typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { VkStructureType sType; @@ -12295,7 +12251,6 @@ typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport } VkDescriptorSetVariableDescriptorCountLayoutSupport; typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; - typedef struct VkDescriptorUpdateTemplateCreateInfo { VkStructureType sType; @@ -12311,8 +12266,6 @@ typedef struct VkDescriptorUpdateTemplateCreateInfo } VkDescriptorUpdateTemplateCreateInfo; typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; - - typedef struct VkDeviceAddressBindingCallbackDataEXT { VkStructureType sType; @@ -12331,7 +12284,6 @@ typedef struct VkDeviceBufferMemoryRequirements } VkDeviceBufferMemoryRequirements; typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; - typedef struct VkDeviceCreateInfo { VkStructureType sType; @@ -12396,7 +12348,6 @@ typedef struct VkDeviceGroupBindSparseInfo } VkDeviceGroupBindSparseInfo; typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; - typedef struct VkDeviceGroupCommandBufferBeginInfo { VkStructureType sType; @@ -12405,7 +12356,6 @@ typedef struct VkDeviceGroupCommandBufferBeginInfo } VkDeviceGroupCommandBufferBeginInfo; typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; - typedef struct VkDeviceGroupDeviceCreateInfo { VkStructureType sType; @@ -12415,7 +12365,6 @@ typedef struct VkDeviceGroupDeviceCreateInfo } VkDeviceGroupDeviceCreateInfo; typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; - typedef struct VkDeviceGroupPresentCapabilitiesKHR { VkStructureType sType; @@ -12443,7 +12392,6 @@ typedef struct VkDeviceGroupRenderPassBeginInfo } VkDeviceGroupRenderPassBeginInfo; typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; - typedef struct VkDeviceGroupSubmitInfo { VkStructureType sType; @@ -12457,7 +12405,6 @@ typedef struct VkDeviceGroupSubmitInfo } VkDeviceGroupSubmitInfo; typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; - typedef struct VkDeviceGroupSwapchainCreateInfoKHR { VkStructureType sType; @@ -12474,7 +12421,6 @@ typedef struct VkDeviceImageMemoryRequirements } VkDeviceImageMemoryRequirements; typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; - typedef struct VkDeviceImageSubresourceInfo { VkStructureType sType; @@ -12484,7 +12430,6 @@ typedef struct VkDeviceImageSubresourceInfo } VkDeviceImageSubresourceInfo; typedef VkDeviceImageSubresourceInfo VkDeviceImageSubresourceInfoKHR; - typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { VkStructureType sType; @@ -12493,7 +12438,6 @@ typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo } VkDeviceMemoryOpaqueCaptureAddressInfo; typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; - typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { VkStructureType sType; @@ -12516,17 +12460,13 @@ typedef struct VkDevicePrivateDataCreateInfo } VkDevicePrivateDataCreateInfo; typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; - typedef struct VkDeviceQueueGlobalPriorityCreateInfo { VkStructureType sType; const void *pNext; VkQueueGlobalPriority globalPriority; } VkDeviceQueueGlobalPriorityCreateInfo; -typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoKHR; -typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoEXT; - - +typedef VkDeviceQueueGlobalPriorityCreateInfo VkDeviceQueueGlobalPriorityCreateInfoKHR, VkDeviceQueueGlobalPriorityCreateInfoEXT; typedef struct VkDeviceQueueInfo2 { @@ -12632,7 +12572,6 @@ typedef struct VkExportFenceCreateInfo } VkExportFenceCreateInfo; typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; - typedef struct VkExportFenceWin32HandleInfoKHR { VkStructureType sType; @@ -12650,7 +12589,6 @@ typedef struct VkExportMemoryAllocateInfo } VkExportMemoryAllocateInfo; typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; - typedef struct VkExportMemoryWin32HandleInfoKHR { VkStructureType sType; @@ -12668,7 +12606,6 @@ typedef struct VkExportSemaphoreCreateInfo } VkExportSemaphoreCreateInfo; typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; - typedef struct VkExportSemaphoreWin32HandleInfoKHR { VkStructureType sType; @@ -12686,7 +12623,6 @@ typedef struct VkExternalBufferProperties } VkExternalBufferProperties; typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; - typedef struct VkExternalFenceProperties { VkStructureType sType; @@ -12697,7 +12633,6 @@ typedef struct VkExternalFenceProperties } VkExternalFenceProperties; typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; - typedef struct VkExternalImageFormatProperties { VkStructureType sType; @@ -12706,7 +12641,6 @@ typedef struct VkExternalImageFormatProperties } VkExternalImageFormatProperties; typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; - typedef struct VkExternalMemoryAcquireUnmodifiedEXT { VkStructureType sType; @@ -12722,7 +12656,6 @@ typedef struct VkExternalMemoryBufferCreateInfo } VkExternalMemoryBufferCreateInfo; typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; - typedef struct VkExternalMemoryImageCreateInfo { VkStructureType sType; @@ -12731,8 +12664,6 @@ typedef struct VkExternalMemoryImageCreateInfo } VkExternalMemoryImageCreateInfo; typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; - - typedef struct VkExternalMemoryTensorCreateInfoARM { VkStructureType sType; @@ -12750,7 +12681,6 @@ typedef struct VkExternalSemaphoreProperties } VkExternalSemaphoreProperties; typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; - typedef struct VkExternalTensorPropertiesARM { VkStructureType sType; @@ -12797,7 +12727,6 @@ typedef struct VkFormatProperties2 } VkFormatProperties2; typedef VkFormatProperties2 VkFormatProperties2KHR; - typedef struct VkFormatProperties3 { VkStructureType sType; @@ -12808,7 +12737,6 @@ typedef struct VkFormatProperties3 } VkFormatProperties3; typedef VkFormatProperties3 VkFormatProperties3KHR; - typedef struct VkFragmentShadingRateAttachmentInfoKHR { VkStructureType sType; @@ -12840,7 +12768,6 @@ typedef struct VkFrameBoundaryTensorsARM const VkTensorARM *pTensors; } VkFrameBoundaryTensorsARM; - typedef struct VkFramebufferAttachmentsCreateInfo { VkStructureType sType; @@ -12850,7 +12777,6 @@ typedef struct VkFramebufferAttachmentsCreateInfo } VkFramebufferAttachmentsCreateInfo; typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; - typedef struct VkFramebufferCreateInfo { VkStructureType sType; @@ -13036,7 +12962,6 @@ typedef struct VkHostImageCopyDevicePerformanceQuery } VkHostImageCopyDevicePerformanceQuery; typedef VkHostImageCopyDevicePerformanceQuery VkHostImageCopyDevicePerformanceQueryEXT; - typedef struct VkHostImageLayoutTransitionInfo { VkStructureType sType; @@ -13048,7 +12973,6 @@ typedef struct VkHostImageLayoutTransitionInfo } VkHostImageLayoutTransitionInfo; typedef VkHostImageLayoutTransitionInfo VkHostImageLayoutTransitionInfoEXT; - typedef struct VkImageAlignmentControlCreateInfoMESA { VkStructureType sType; @@ -13064,7 +12988,6 @@ typedef struct VkImageBlit VkOffset3D dstOffsets[2]; } VkImageBlit; - typedef struct VkImageCaptureDescriptorDataInfoEXT { VkStructureType sType; @@ -13098,7 +13021,6 @@ typedef struct VkImageCopy VkExtent3D extent; } VkImageCopy; - typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { VkStructureType sType; @@ -13132,7 +13054,6 @@ typedef struct VkImageFormatListCreateInfo } VkImageFormatListCreateInfo; typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; - typedef struct VkImageFormatProperties2 { VkStructureType sType; @@ -13141,7 +13062,6 @@ typedef struct VkImageFormatProperties2 } VkImageFormatProperties2; typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; - typedef struct VkImageMemoryBarrier { VkStructureType sType; @@ -13156,7 +13076,6 @@ typedef struct VkImageMemoryBarrier VkImageSubresourceRange subresourceRange; } VkImageMemoryBarrier; - typedef struct VkImageMemoryRequirementsInfo2 { VkStructureType sType; @@ -13165,7 +13084,6 @@ typedef struct VkImageMemoryRequirementsInfo2 } VkImageMemoryRequirementsInfo2; typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; - typedef struct VkImagePlaneMemoryRequirementsInfo { VkStructureType sType; @@ -13174,7 +13092,6 @@ typedef struct VkImagePlaneMemoryRequirementsInfo } VkImagePlaneMemoryRequirementsInfo; typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; - typedef struct VkImageResolve { VkImageSubresourceLayers srcSubresource; @@ -13184,7 +13101,6 @@ typedef struct VkImageResolve VkExtent3D extent; } VkImageResolve; - typedef struct VkImageSparseMemoryRequirementsInfo2 { VkStructureType sType; @@ -13193,7 +13109,6 @@ typedef struct VkImageSparseMemoryRequirementsInfo2 } VkImageSparseMemoryRequirementsInfo2; typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; - typedef struct VkImageStencilUsageCreateInfo { VkStructureType sType; @@ -13202,9 +13117,6 @@ typedef struct VkImageStencilUsageCreateInfo } VkImageStencilUsageCreateInfo; typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; - - - typedef struct VkImageSwapchainCreateInfoKHR { VkStructureType sType; @@ -13212,7 +13124,6 @@ typedef struct VkImageSwapchainCreateInfoKHR VkSwapchainKHR WINE_VK_ALIGN(8) swapchain; } VkImageSwapchainCreateInfoKHR; - typedef struct VkImageViewASTCDecodeModeEXT { VkStructureType sType; @@ -13276,7 +13187,6 @@ typedef struct VkImageViewUsageCreateInfo } VkImageViewUsageCreateInfo; typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; - typedef struct VkImportFenceFdInfoKHR { VkStructureType sType; @@ -13399,7 +13309,6 @@ typedef struct VkInitializePerformanceApiInfoINTEL void *pUserData; } VkInitializePerformanceApiInfoINTEL; - typedef struct VkInstanceCreateInfo { VkStructureType sType; @@ -13486,7 +13395,6 @@ typedef struct VkMemoryAllocateFlagsInfo } VkMemoryAllocateFlagsInfo; typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; - typedef struct VkMemoryAllocateInfo { VkStructureType sType; @@ -13503,7 +13411,6 @@ typedef struct VkMemoryBarrier VkAccessFlags dstAccessMask; } VkMemoryBarrier; - typedef struct VkMemoryBarrierAccessFlags3KHR { VkStructureType sType; @@ -13521,7 +13428,6 @@ typedef struct VkMemoryDedicatedAllocateInfo } VkMemoryDedicatedAllocateInfo; typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; - typedef struct VkMemoryDedicatedAllocateInfoTensorARM { VkStructureType sType; @@ -13538,7 +13444,6 @@ typedef struct VkMemoryDedicatedRequirements } VkMemoryDedicatedRequirements; typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; - typedef struct VkMemoryFdPropertiesKHR { VkStructureType sType; @@ -13588,7 +13493,6 @@ typedef struct VkMemoryMapInfo } VkMemoryMapInfo; typedef VkMemoryMapInfo VkMemoryMapInfoKHR; - typedef struct VkMemoryMapPlacedInfoEXT { VkStructureType sType; @@ -13611,7 +13515,6 @@ typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo } VkMemoryOpaqueCaptureAddressAllocateInfo; typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; - typedef struct VkMemoryPriorityAllocateInfoEXT { VkStructureType sType; @@ -13627,8 +13530,6 @@ typedef struct VkMemoryRequirements2 } VkMemoryRequirements2; typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; - - typedef struct VkMemoryUnmapInfo { VkStructureType sType; @@ -13638,7 +13539,6 @@ typedef struct VkMemoryUnmapInfo } VkMemoryUnmapInfo; typedef VkMemoryUnmapInfo VkMemoryUnmapInfoKHR; - typedef struct VkMemoryWin32HandlePropertiesKHR { VkStructureType sType; @@ -13751,8 +13651,6 @@ typedef struct VkMutableDescriptorTypeCreateInfoEXT } VkMutableDescriptorTypeCreateInfoEXT; typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; - - typedef struct VkOpaqueCaptureDataCreateInfoEXT { VkStructureType sType; @@ -13972,7 +13870,6 @@ typedef struct VkPhysicalDevice16BitStorageFeatures } VkPhysicalDevice16BitStorageFeatures; typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; - typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { VkStructureType sType; @@ -13991,7 +13888,6 @@ typedef struct VkPhysicalDevice8BitStorageFeatures } VkPhysicalDevice8BitStorageFeatures; typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; - typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { VkStructureType sType; @@ -14079,7 +13975,6 @@ typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT VkBool32 borderColorSwizzleFromImage; } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; - typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { VkStructureType sType; @@ -14100,7 +13995,6 @@ typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; - typedef struct VkPhysicalDeviceClusterAccelerationStructureFeaturesNV { VkStructureType sType; @@ -14184,7 +14078,6 @@ typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR } VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR; typedef VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; - typedef struct VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR { VkStructureType sType; @@ -14308,7 +14201,6 @@ typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR } VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR; typedef VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; - typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { VkStructureType sType; @@ -14401,7 +14293,6 @@ typedef struct VkPhysicalDeviceDepthClampControlFeaturesEXT VkBool32 depthClampControl; } VkPhysicalDeviceDepthClampControlFeaturesEXT; - typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesKHR { VkStructureType sType; @@ -14435,7 +14326,6 @@ typedef struct VkPhysicalDeviceDepthStencilResolveProperties } VkPhysicalDeviceDepthStencilResolveProperties; typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; - typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { VkStructureType sType; @@ -14577,7 +14467,6 @@ typedef struct VkPhysicalDeviceDescriptorIndexingFeatures } VkPhysicalDeviceDescriptorIndexingFeatures; typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; - typedef struct VkPhysicalDeviceDescriptorIndexingProperties { VkStructureType sType; @@ -14608,7 +14497,6 @@ typedef struct VkPhysicalDeviceDescriptorIndexingProperties } VkPhysicalDeviceDescriptorIndexingProperties; typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; - typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { VkStructureType sType; @@ -14705,7 +14593,6 @@ typedef struct VkPhysicalDeviceDriverProperties } VkPhysicalDeviceDriverProperties; typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; - typedef struct VkPhysicalDeviceDynamicRenderingFeatures { VkStructureType sType; @@ -14714,7 +14601,6 @@ typedef struct VkPhysicalDeviceDynamicRenderingFeatures } VkPhysicalDeviceDynamicRenderingFeatures; typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; - typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures { VkStructureType sType; @@ -14723,7 +14609,6 @@ typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeatures } VkPhysicalDeviceDynamicRenderingLocalReadFeatures; typedef VkPhysicalDeviceDynamicRenderingLocalReadFeatures VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR; - typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { VkStructureType sType; @@ -14824,7 +14709,6 @@ typedef struct VkPhysicalDeviceExternalBufferInfo } VkPhysicalDeviceExternalBufferInfo; typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; - typedef struct VkPhysicalDeviceExternalFenceInfo { VkStructureType sType; @@ -14833,7 +14717,6 @@ typedef struct VkPhysicalDeviceExternalFenceInfo } VkPhysicalDeviceExternalFenceInfo; typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; - typedef struct VkPhysicalDeviceExternalImageFormatInfo { VkStructureType sType; @@ -14842,7 +14725,6 @@ typedef struct VkPhysicalDeviceExternalImageFormatInfo } VkPhysicalDeviceExternalImageFormatInfo; typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; - typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { VkStructureType sType; @@ -14858,7 +14740,6 @@ typedef struct VkPhysicalDeviceExternalSemaphoreInfo } VkPhysicalDeviceExternalSemaphoreInfo; typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; - typedef struct VkPhysicalDeviceExternalTensorInfoARM { VkStructureType sType; @@ -14884,8 +14765,6 @@ typedef struct VkPhysicalDeviceFeatures2 } VkPhysicalDeviceFeatures2; typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; - - typedef struct VkPhysicalDeviceFloatControlsProperties { VkStructureType sType; @@ -14910,7 +14789,6 @@ typedef struct VkPhysicalDeviceFloatControlsProperties } VkPhysicalDeviceFloatControlsProperties; typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; - typedef struct VkPhysicalDeviceFormatPackFeaturesARM { VkStructureType sType; @@ -14966,7 +14844,6 @@ typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT; typedef VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; - typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT { VkStructureType sType; @@ -14975,7 +14852,6 @@ typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT; typedef VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; - typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { VkStructureType sType; @@ -14993,7 +14869,6 @@ typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; - typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { VkStructureType sType; @@ -15079,10 +14954,7 @@ typedef struct VkPhysicalDeviceGlobalPriorityQueryFeatures void *pNext; VkBool32 globalPriorityQuery; } VkPhysicalDeviceGlobalPriorityQueryFeatures; -typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; -typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; - - +typedef VkPhysicalDeviceGlobalPriorityQueryFeatures VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR, VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { @@ -15109,7 +14981,6 @@ typedef struct VkPhysicalDeviceGroupProperties } VkPhysicalDeviceGroupProperties; typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; - typedef struct VkPhysicalDeviceHdrVividFeaturesHUAWEI { VkStructureType sType; @@ -15125,7 +14996,6 @@ typedef struct VkPhysicalDeviceHostImageCopyFeatures } VkPhysicalDeviceHostImageCopyFeatures; typedef VkPhysicalDeviceHostImageCopyFeatures VkPhysicalDeviceHostImageCopyFeaturesEXT; - typedef struct VkPhysicalDeviceHostImageCopyProperties { VkStructureType sType; @@ -15139,7 +15009,6 @@ typedef struct VkPhysicalDeviceHostImageCopyProperties } VkPhysicalDeviceHostImageCopyProperties; typedef VkPhysicalDeviceHostImageCopyProperties VkPhysicalDeviceHostImageCopyPropertiesEXT; - typedef struct VkPhysicalDeviceHostQueryResetFeatures { VkStructureType sType; @@ -15148,7 +15017,6 @@ typedef struct VkPhysicalDeviceHostQueryResetFeatures } VkPhysicalDeviceHostQueryResetFeatures; typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; - typedef struct VkPhysicalDeviceIDProperties { VkStructureType sType; @@ -15161,7 +15029,6 @@ typedef struct VkPhysicalDeviceIDProperties } VkPhysicalDeviceIDProperties; typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; - typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { VkStructureType sType; @@ -15220,7 +15087,6 @@ typedef struct VkPhysicalDeviceImageFormatInfo2 } VkPhysicalDeviceImageFormatInfo2; typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; - typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { VkStructureType sType; @@ -15262,7 +15128,6 @@ typedef struct VkPhysicalDeviceImageRobustnessFeatures } VkPhysicalDeviceImageRobustnessFeatures; typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; - typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { VkStructureType sType; @@ -15292,17 +15157,13 @@ typedef struct VkPhysicalDeviceImagelessFramebufferFeatures } VkPhysicalDeviceImagelessFramebufferFeatures; typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; - typedef struct VkPhysicalDeviceIndexTypeUint8Features { VkStructureType sType; void *pNext; VkBool32 indexTypeUint8; } VkPhysicalDeviceIndexTypeUint8Features; -typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesKHR; -typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesEXT; - - +typedef VkPhysicalDeviceIndexTypeUint8Features VkPhysicalDeviceIndexTypeUint8FeaturesKHR, VkPhysicalDeviceIndexTypeUint8FeaturesEXT; typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { @@ -15320,7 +15181,6 @@ typedef struct VkPhysicalDeviceInlineUniformBlockFeatures } VkPhysicalDeviceInlineUniformBlockFeatures; typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; - typedef struct VkPhysicalDeviceInlineUniformBlockProperties { VkStructureType sType; @@ -15333,7 +15193,6 @@ typedef struct VkPhysicalDeviceInlineUniformBlockProperties } VkPhysicalDeviceInlineUniformBlockProperties; typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; - typedef struct VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR { VkStructureType sType; @@ -15402,10 +15261,7 @@ typedef struct VkPhysicalDeviceLineRasterizationFeatures VkBool32 stippledBresenhamLines; VkBool32 stippledSmoothLines; } VkPhysicalDeviceLineRasterizationFeatures; -typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesKHR; -typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesEXT; - - +typedef VkPhysicalDeviceLineRasterizationFeatures VkPhysicalDeviceLineRasterizationFeaturesKHR, VkPhysicalDeviceLineRasterizationFeaturesEXT; typedef struct VkPhysicalDeviceLineRasterizationProperties { @@ -15413,10 +15269,7 @@ typedef struct VkPhysicalDeviceLineRasterizationProperties void *pNext; uint32_t lineSubPixelPrecisionBits; } VkPhysicalDeviceLineRasterizationProperties; -typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesKHR; -typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesEXT; - - +typedef VkPhysicalDeviceLineRasterizationProperties VkPhysicalDeviceLineRasterizationPropertiesKHR, VkPhysicalDeviceLineRasterizationPropertiesEXT; typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { @@ -15450,7 +15303,6 @@ typedef struct VkPhysicalDeviceMaintenance3Properties } VkPhysicalDeviceMaintenance3Properties; typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; - typedef struct VkPhysicalDeviceMaintenance4Features { VkStructureType sType; @@ -15459,7 +15311,6 @@ typedef struct VkPhysicalDeviceMaintenance4Features } VkPhysicalDeviceMaintenance4Features; typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; - typedef struct VkPhysicalDeviceMaintenance4Properties { VkStructureType sType; @@ -15468,7 +15319,6 @@ typedef struct VkPhysicalDeviceMaintenance4Properties } VkPhysicalDeviceMaintenance4Properties; typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; - typedef struct VkPhysicalDeviceMaintenance5Features { VkStructureType sType; @@ -15477,7 +15327,6 @@ typedef struct VkPhysicalDeviceMaintenance5Features } VkPhysicalDeviceMaintenance5Features; typedef VkPhysicalDeviceMaintenance5Features VkPhysicalDeviceMaintenance5FeaturesKHR; - typedef struct VkPhysicalDeviceMaintenance5Properties { VkStructureType sType; @@ -15491,7 +15340,6 @@ typedef struct VkPhysicalDeviceMaintenance5Properties } VkPhysicalDeviceMaintenance5Properties; typedef VkPhysicalDeviceMaintenance5Properties VkPhysicalDeviceMaintenance5PropertiesKHR; - typedef struct VkPhysicalDeviceMaintenance6Features { VkStructureType sType; @@ -15500,7 +15348,6 @@ typedef struct VkPhysicalDeviceMaintenance6Features } VkPhysicalDeviceMaintenance6Features; typedef VkPhysicalDeviceMaintenance6Features VkPhysicalDeviceMaintenance6FeaturesKHR; - typedef struct VkPhysicalDeviceMaintenance6Properties { VkStructureType sType; @@ -15511,7 +15358,6 @@ typedef struct VkPhysicalDeviceMaintenance6Properties } VkPhysicalDeviceMaintenance6Properties; typedef VkPhysicalDeviceMaintenance6Properties VkPhysicalDeviceMaintenance6PropertiesKHR; - typedef struct VkPhysicalDeviceMaintenance7FeaturesKHR { VkStructureType sType; @@ -15587,7 +15433,6 @@ typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesEXT } VkPhysicalDeviceMemoryDecompressionFeaturesEXT; typedef VkPhysicalDeviceMemoryDecompressionFeaturesEXT VkPhysicalDeviceMemoryDecompressionFeaturesNV; - typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesEXT { VkStructureType sType; @@ -15597,7 +15442,6 @@ typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesEXT } VkPhysicalDeviceMemoryDecompressionPropertiesEXT; typedef VkPhysicalDeviceMemoryDecompressionPropertiesEXT VkPhysicalDeviceMemoryDecompressionPropertiesNV; - typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { VkStructureType sType; @@ -15613,7 +15457,6 @@ typedef struct VkPhysicalDeviceMemoryProperties2 } VkPhysicalDeviceMemoryProperties2; typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; - typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { VkStructureType sType; @@ -15717,7 +15560,6 @@ typedef struct VkPhysicalDeviceMultiviewFeatures } VkPhysicalDeviceMultiviewFeatures; typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; - typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { VkStructureType sType; @@ -15741,7 +15583,6 @@ typedef struct VkPhysicalDeviceMultiviewProperties } VkPhysicalDeviceMultiviewProperties; typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; - typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { VkStructureType sType; @@ -15750,7 +15591,6 @@ typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; - typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { VkStructureType sType; @@ -15920,7 +15760,6 @@ typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures } VkPhysicalDevicePipelineCreationCacheControlFeatures; typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; - typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { VkStructureType sType; @@ -15957,7 +15796,6 @@ typedef struct VkPhysicalDevicePipelineProtectedAccessFeatures } VkPhysicalDevicePipelineProtectedAccessFeatures; typedef VkPhysicalDevicePipelineProtectedAccessFeatures VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; - typedef struct VkPhysicalDevicePipelineRobustnessFeatures { VkStructureType sType; @@ -15966,7 +15804,6 @@ typedef struct VkPhysicalDevicePipelineRobustnessFeatures } VkPhysicalDevicePipelineRobustnessFeatures; typedef VkPhysicalDevicePipelineRobustnessFeatures VkPhysicalDevicePipelineRobustnessFeaturesEXT; - typedef struct VkPhysicalDevicePipelineRobustnessProperties { VkStructureType sType; @@ -15978,7 +15815,6 @@ typedef struct VkPhysicalDevicePipelineRobustnessProperties } VkPhysicalDevicePipelineRobustnessProperties; typedef VkPhysicalDevicePipelineRobustnessProperties VkPhysicalDevicePipelineRobustnessPropertiesEXT; - typedef struct VkPhysicalDevicePointClippingProperties { VkStructureType sType; @@ -15987,7 +15823,6 @@ typedef struct VkPhysicalDevicePointClippingProperties } VkPhysicalDevicePointClippingProperties; typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; - typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { VkStructureType sType; @@ -16009,7 +15844,6 @@ typedef struct VkPhysicalDevicePresentIdFeaturesKHR VkBool32 presentId; } VkPhysicalDevicePresentIdFeaturesKHR; - typedef struct VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR { VkStructureType sType; @@ -16057,8 +15891,6 @@ typedef struct VkPhysicalDevicePrivateDataFeatures } VkPhysicalDevicePrivateDataFeatures; typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; - - typedef struct VkPhysicalDeviceProtectedMemoryFeatures { VkStructureType sType; @@ -16114,7 +15946,6 @@ typedef struct VkPhysicalDevicePushDescriptorProperties } VkPhysicalDevicePushDescriptorProperties; typedef VkPhysicalDevicePushDescriptorProperties VkPhysicalDevicePushDescriptorPropertiesKHR; - typedef struct VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM { VkStructureType sType; @@ -16130,7 +15961,6 @@ typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT VkBool32 formatRgba10x6WithoutYCbCrSampler; } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; - typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { VkStructureType sType; @@ -16290,7 +16120,6 @@ typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV VkBool32 representativeFragmentTest; } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; - typedef struct VkPhysicalDeviceRobustness2FeaturesKHR { VkStructureType sType; @@ -16301,7 +16130,6 @@ typedef struct VkPhysicalDeviceRobustness2FeaturesKHR } VkPhysicalDeviceRobustness2FeaturesKHR; typedef VkPhysicalDeviceRobustness2FeaturesKHR VkPhysicalDeviceRobustness2FeaturesEXT; - typedef struct VkPhysicalDeviceRobustness2PropertiesKHR { VkStructureType sType; @@ -16331,7 +16159,6 @@ typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties } VkPhysicalDeviceSamplerFilterMinmaxProperties; typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; - typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { VkStructureType sType; @@ -16340,7 +16167,6 @@ typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures } VkPhysicalDeviceSamplerYcbcrConversionFeatures; typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; - typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { VkStructureType sType; @@ -16349,7 +16175,6 @@ typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures } VkPhysicalDeviceScalarBlockLayoutFeatures; typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; - typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { VkStructureType sType; @@ -16372,7 +16197,6 @@ typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; - typedef struct VkPhysicalDeviceShader64BitIndexingFeaturesEXT { VkStructureType sType; @@ -16432,7 +16256,6 @@ typedef struct VkPhysicalDeviceShaderAtomicInt64Features } VkPhysicalDeviceShaderAtomicInt64Features; typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; - typedef struct VkPhysicalDeviceShaderBfloat16FeaturesKHR { VkStructureType sType; @@ -16511,8 +16334,6 @@ typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; - - typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { VkStructureType sType; @@ -16536,7 +16357,6 @@ typedef struct VkPhysicalDeviceShaderExpectAssumeFeatures } VkPhysicalDeviceShaderExpectAssumeFeatures; typedef VkPhysicalDeviceShaderExpectAssumeFeatures VkPhysicalDeviceShaderExpectAssumeFeaturesKHR; - typedef struct VkPhysicalDeviceShaderFloat16Int8Features { VkStructureType sType; @@ -16544,9 +16364,7 @@ typedef struct VkPhysicalDeviceShaderFloat16Int8Features VkBool32 shaderFloat16; VkBool32 shaderInt8; } VkPhysicalDeviceShaderFloat16Int8Features; -typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; -typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; - +typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR, VkPhysicalDeviceFloat16Int8FeaturesKHR; typedef struct VkPhysicalDeviceShaderFloat8FeaturesEXT { @@ -16564,7 +16382,6 @@ typedef struct VkPhysicalDeviceShaderFloatControls2Features } VkPhysicalDeviceShaderFloatControls2Features; typedef VkPhysicalDeviceShaderFloatControls2Features VkPhysicalDeviceShaderFloatControls2FeaturesKHR; - typedef struct VkPhysicalDeviceShaderFmaFeaturesKHR { VkStructureType sType; @@ -16597,7 +16414,6 @@ typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures } VkPhysicalDeviceShaderIntegerDotProductFeatures; typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; - typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { VkStructureType sType; @@ -16635,7 +16451,6 @@ typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties } VkPhysicalDeviceShaderIntegerDotProductProperties; typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; - typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { VkStructureType sType; @@ -16737,7 +16552,6 @@ typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; - typedef struct VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT { VkStructureType sType; @@ -16754,7 +16568,6 @@ typedef struct VkPhysicalDeviceShaderSubgroupRotateFeatures } VkPhysicalDeviceShaderSubgroupRotateFeatures; typedef VkPhysicalDeviceShaderSubgroupRotateFeatures VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR; - typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { VkStructureType sType; @@ -16770,7 +16583,6 @@ typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures } VkPhysicalDeviceShaderTerminateInvocationFeatures; typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; - typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { VkStructureType sType; @@ -16832,7 +16644,6 @@ typedef struct VkPhysicalDeviceSparseImageFormatInfo2 } VkPhysicalDeviceSparseImageFormatInfo2; typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; - typedef struct VkPhysicalDeviceSubgroupProperties { VkStructureType sType; @@ -16852,7 +16663,6 @@ typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures } VkPhysicalDeviceSubgroupSizeControlFeatures; typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; - typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { VkStructureType sType; @@ -16864,7 +16674,6 @@ typedef struct VkPhysicalDeviceSubgroupSizeControlProperties } VkPhysicalDeviceSubgroupSizeControlProperties; typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; - typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { VkStructureType sType; @@ -16893,7 +16702,6 @@ typedef struct VkPhysicalDeviceSurfaceInfo2KHR VkSurfaceKHR WINE_VK_ALIGN(8) surface; } VkPhysicalDeviceSurfaceInfo2KHR; - typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR { VkStructureType sType; @@ -16910,7 +16718,6 @@ typedef struct VkPhysicalDeviceSynchronization2Features } VkPhysicalDeviceSynchronization2Features; typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; - typedef struct VkPhysicalDeviceTensorFeaturesARM { VkStructureType sType; @@ -16960,7 +16767,6 @@ typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties } VkPhysicalDeviceTexelBufferAlignmentProperties; typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; - typedef struct VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT { VkStructureType sType; @@ -16976,7 +16782,6 @@ typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures } VkPhysicalDeviceTextureCompressionASTCHDRFeatures; typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; - typedef struct VkPhysicalDeviceTileMemoryHeapFeaturesQCOM { VkStructureType sType; @@ -17037,7 +16842,6 @@ typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures } VkPhysicalDeviceTimelineSemaphoreFeatures; typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; - typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { VkStructureType sType; @@ -17046,7 +16850,6 @@ typedef struct VkPhysicalDeviceTimelineSemaphoreProperties } VkPhysicalDeviceTimelineSemaphoreProperties; typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; - typedef struct VkPhysicalDeviceToolProperties { VkStructureType sType; @@ -17059,7 +16862,6 @@ typedef struct VkPhysicalDeviceToolProperties } VkPhysicalDeviceToolProperties; typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; - typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { VkStructureType sType; @@ -17100,9 +16902,6 @@ typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; - - - typedef struct VkPhysicalDeviceVariablePointersFeatures { VkStructureType sType; @@ -17110,10 +16909,7 @@ typedef struct VkPhysicalDeviceVariablePointersFeatures VkBool32 variablePointersStorageBuffer; VkBool32 variablePointers; } VkPhysicalDeviceVariablePointersFeatures; -typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; -typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; -typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; - +typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR, VkPhysicalDeviceVariablePointerFeaturesKHR, VkPhysicalDeviceVariablePointerFeatures; typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures { @@ -17122,10 +16918,7 @@ typedef struct VkPhysicalDeviceVertexAttributeDivisorFeatures VkBool32 vertexAttributeInstanceRateDivisor; VkBool32 vertexAttributeInstanceRateZeroDivisor; } VkPhysicalDeviceVertexAttributeDivisorFeatures; -typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; -typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; - - +typedef VkPhysicalDeviceVertexAttributeDivisorFeatures VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; typedef struct VkPhysicalDeviceVertexAttributeDivisorProperties { @@ -17143,7 +16936,6 @@ typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT uint32_t maxVertexAttribDivisor; } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; - typedef struct VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT { VkStructureType sType; @@ -17505,7 +17297,6 @@ typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures } VkPhysicalDeviceVulkanMemoryModelFeatures; typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; - typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { VkStructureType sType; @@ -17552,7 +17343,6 @@ typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; - typedef struct VkPipelineBinaryCreateInfoKHR { VkStructureType sType; @@ -17654,7 +17444,6 @@ typedef struct VkPipelineCreateFlags2CreateInfo } VkPipelineCreateFlags2CreateInfo; typedef VkPipelineCreateFlags2CreateInfo VkPipelineCreateFlags2CreateInfoKHR; - typedef struct VkPipelineCreationFeedbackCreateInfo { VkStructureType sType; @@ -17665,8 +17454,6 @@ typedef struct VkPipelineCreationFeedbackCreateInfo } VkPipelineCreationFeedbackCreateInfo; typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; - - typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { VkStructureType sType; @@ -17748,7 +17535,6 @@ typedef struct VkPipelineIndirectDeviceAddressInfoNV VkPipeline WINE_VK_ALIGN(8) pipeline; } VkPipelineIndirectDeviceAddressInfoNV; - typedef struct VkPipelineInfoKHR { VkStructureType sType; @@ -17801,10 +17587,7 @@ typedef struct VkPipelineRasterizationLineStateCreateInfo uint32_t lineStippleFactor; uint16_t lineStipplePattern; } VkPipelineRasterizationLineStateCreateInfo; -typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoKHR; -typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoEXT; - - +typedef VkPipelineRasterizationLineStateCreateInfo VkPipelineRasterizationLineStateCreateInfoKHR, VkPipelineRasterizationLineStateCreateInfoEXT; typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { @@ -17840,7 +17623,6 @@ typedef struct VkPipelineRenderingCreateInfo } VkPipelineRenderingCreateInfo; typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; - typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { VkStructureType sType; @@ -17859,7 +17641,6 @@ typedef struct VkPipelineRobustnessCreateInfo } VkPipelineRobustnessCreateInfo; typedef VkPipelineRobustnessCreateInfo VkPipelineRobustnessCreateInfoEXT; - typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { VkStructureType sType; @@ -17882,9 +17663,7 @@ typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo const void *pNext; uint32_t requiredSubgroupSize; } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; -typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; -typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; - +typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, VkShaderRequiredSubgroupSizeCreateInfoEXT; typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { @@ -17894,7 +17673,6 @@ typedef struct VkPipelineTessellationDomainOriginStateCreateInfo } VkPipelineTessellationDomainOriginStateCreateInfo; typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; - typedef struct VkPipelineVertexInputDivisorStateCreateInfo { VkStructureType sType; @@ -17902,10 +17680,7 @@ typedef struct VkPipelineVertexInputDivisorStateCreateInfo uint32_t vertexBindingDivisorCount; const VkVertexInputBindingDivisorDescription *pVertexBindingDivisors; } VkPipelineVertexInputDivisorStateCreateInfo; -typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoKHR; -typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoEXT; - - +typedef VkPipelineVertexInputDivisorStateCreateInfo VkPipelineVertexInputDivisorStateCreateInfoKHR, VkPipelineVertexInputDivisorStateCreateInfoEXT; typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { @@ -18018,7 +17793,6 @@ typedef struct VkPrivateDataSlotCreateInfo } VkPrivateDataSlotCreateInfo; typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; - typedef struct VkProtectedSubmitInfo { VkStructureType sType; @@ -18045,7 +17819,6 @@ typedef struct VkPushConstantsInfo } VkPushConstantsInfo; typedef VkPushConstantsInfo VkPushConstantsInfoKHR; - typedef struct VkPushDataInfoEXT { VkStructureType sType; @@ -18066,7 +17839,6 @@ typedef struct VkPushDescriptorSetInfo } VkPushDescriptorSetInfo; typedef VkPushDescriptorSetInfo VkPushDescriptorSetInfoKHR; - typedef struct VkPushDescriptorSetWithTemplateInfo { VkStructureType sType; @@ -18078,7 +17850,6 @@ typedef struct VkPushDescriptorSetWithTemplateInfo } VkPushDescriptorSetWithTemplateInfo; typedef VkPushDescriptorSetWithTemplateInfo VkPushDescriptorSetWithTemplateInfoKHR; - typedef struct VkQueryLowLatencySupportNV { VkStructureType sType; @@ -18096,7 +17867,6 @@ typedef struct VkQueryPoolCreateInfo VkQueryPipelineStatisticFlags pipelineStatistics; } VkQueryPoolCreateInfo; - typedef struct VkQueryPoolPerformanceCreateInfoKHR { VkStructureType sType; @@ -18158,10 +17928,7 @@ typedef struct VkQueueFamilyGlobalPriorityProperties uint32_t priorityCount; VkQueueGlobalPriority priorities[VK_MAX_GLOBAL_PRIORITY_SIZE]; } VkQueueFamilyGlobalPriorityProperties; -typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesKHR; -typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesEXT; - - +typedef VkQueueFamilyGlobalPriorityProperties VkQueueFamilyGlobalPriorityPropertiesKHR, VkQueueFamilyGlobalPriorityPropertiesEXT; typedef struct VkQueueFamilyOwnershipTransferPropertiesKHR { @@ -18178,7 +17945,6 @@ typedef struct VkQueueFamilyProperties2 } VkQueueFamilyProperties2; typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; - typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { VkStructureType sType; @@ -18240,7 +18006,6 @@ typedef struct VkReleaseCapturedPipelineDataInfoKHR VkPipeline WINE_VK_ALIGN(8) pipeline; } VkReleaseCapturedPipelineDataInfoKHR; - typedef struct VkReleaseSwapchainImagesInfoKHR { VkStructureType sType; @@ -18260,7 +18025,6 @@ typedef struct VkRenderPassAttachmentBeginInfo } VkRenderPassAttachmentBeginInfo; typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; - typedef struct VkRenderPassBeginInfo { VkStructureType sType; @@ -18301,7 +18065,6 @@ typedef struct VkRenderPassCreateInfo2 } VkRenderPassCreateInfo2; typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; - typedef struct VkRenderPassCreationControlEXT { VkStructureType sType; @@ -18341,7 +18104,6 @@ typedef struct VkRenderPassInputAttachmentAspectCreateInfo } VkRenderPassInputAttachmentAspectCreateInfo; typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; - typedef struct VkRenderPassMultiviewCreateInfo { VkStructureType sType; @@ -18355,7 +18117,6 @@ typedef struct VkRenderPassMultiviewCreateInfo } VkRenderPassMultiviewCreateInfo; typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; - typedef struct VkRenderPassPerformanceCountersByRegionBeginInfoARM { VkStructureType sType; @@ -18427,7 +18188,6 @@ typedef struct VkRenderingAreaInfo } VkRenderingAreaInfo; typedef VkRenderingAreaInfo VkRenderingAreaInfoKHR; - typedef struct VkRenderingAttachmentFlagsInfoKHR { VkStructureType sType; @@ -18435,7 +18195,6 @@ typedef struct VkRenderingAttachmentFlagsInfoKHR VkRenderingAttachmentFlagsKHR flags; } VkRenderingAttachmentFlagsInfoKHR; - typedef struct VkRenderingAttachmentLocationInfo { VkStructureType sType; @@ -18445,8 +18204,6 @@ typedef struct VkRenderingAttachmentLocationInfo } VkRenderingAttachmentLocationInfo; typedef VkRenderingAttachmentLocationInfo VkRenderingAttachmentLocationInfoKHR; - - typedef struct VkRenderingEndInfoKHR { VkStructureType sType; @@ -18486,7 +18243,6 @@ typedef struct VkRenderingInfo } VkRenderingInfo; typedef VkRenderingInfo VkRenderingInfoKHR; - typedef struct VkRenderingInputAttachmentIndexInfo { VkStructureType sType; @@ -18498,7 +18254,6 @@ typedef struct VkRenderingInputAttachmentIndexInfo } VkRenderingInputAttachmentIndexInfo; typedef VkRenderingInputAttachmentIndexInfo VkRenderingInputAttachmentIndexInfoKHR; - typedef struct VkResolveImageInfo2 { VkStructureType sType; @@ -18512,7 +18267,6 @@ typedef struct VkResolveImageInfo2 } VkResolveImageInfo2; typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; - typedef struct VkResolveImageModeInfoKHR { VkStructureType sType; @@ -18583,7 +18337,6 @@ typedef struct VkSamplerReductionModeCreateInfo } VkSamplerReductionModeCreateInfo; typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; - typedef struct VkSamplerYcbcrConversionCreateInfo { VkStructureType sType; @@ -18599,7 +18352,6 @@ typedef struct VkSamplerYcbcrConversionCreateInfo } VkSamplerYcbcrConversionCreateInfo; typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; - typedef struct VkSamplerYcbcrConversionImageFormatProperties { VkStructureType sType; @@ -18608,7 +18360,6 @@ typedef struct VkSamplerYcbcrConversionImageFormatProperties } VkSamplerYcbcrConversionImageFormatProperties; typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; - typedef struct VkSamplerYcbcrConversionInfo { VkStructureType sType; @@ -18617,7 +18368,6 @@ typedef struct VkSamplerYcbcrConversionInfo } VkSamplerYcbcrConversionInfo; typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; - typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { VkStructureType sType; @@ -18658,8 +18408,6 @@ typedef struct VkSemaphoreSignalInfo } VkSemaphoreSignalInfo; typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; - - typedef struct VkSemaphoreTypeCreateInfo { VkStructureType sType; @@ -18669,7 +18417,6 @@ typedef struct VkSemaphoreTypeCreateInfo } VkSemaphoreTypeCreateInfo; typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; - typedef struct VkSemaphoreWaitInfo { VkStructureType sType; @@ -18681,7 +18428,6 @@ typedef struct VkSemaphoreWaitInfo } VkSemaphoreWaitInfo; typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; - typedef struct VkSetDescriptorBufferOffsetsInfoEXT { VkStructureType sType; @@ -18757,7 +18503,6 @@ typedef struct VkShaderModuleValidationCacheCreateInfoEXT VkValidationCacheEXT WINE_VK_ALIGN(8) validationCache; } VkShaderModuleValidationCacheCreateInfoEXT; - typedef struct VkShaderStatisticsInfoAMD { VkShaderStageFlags shaderStageMask; @@ -18777,7 +18522,6 @@ typedef struct VkSparseImageFormatProperties2 } VkSparseImageFormatProperties2; typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; - typedef struct VkSparseImageMemoryRequirements2 { VkStructureType sType; @@ -18786,7 +18530,6 @@ typedef struct VkSparseImageMemoryRequirements2 } VkSparseImageMemoryRequirements2; typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; - typedef struct VkSubmitInfo { VkStructureType sType; @@ -18814,7 +18557,6 @@ typedef struct VkSubmitInfo2 } VkSubmitInfo2; typedef VkSubmitInfo2 VkSubmitInfo2KHR; - typedef struct VkSubpassBeginInfo { VkStructureType sType; @@ -18823,9 +18565,6 @@ typedef struct VkSubpassBeginInfo } VkSubpassBeginInfo; typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; - - - typedef struct VkSubpassDescriptionDepthStencilResolve { VkStructureType sType; @@ -18836,7 +18575,6 @@ typedef struct VkSubpassDescriptionDepthStencilResolve } VkSubpassDescriptionDepthStencilResolve; typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; - typedef struct VkSubpassEndInfo { VkStructureType sType; @@ -18844,8 +18582,6 @@ typedef struct VkSubpassEndInfo } VkSubpassEndInfo; typedef VkSubpassEndInfo VkSubpassEndInfoKHR; - - typedef struct VkSubpassResolvePerformanceQueryEXT { VkStructureType sType; @@ -18869,17 +18605,13 @@ typedef struct VkSubresourceHostMemcpySize } VkSubresourceHostMemcpySize; typedef VkSubresourceHostMemcpySize VkSubresourceHostMemcpySizeEXT; - typedef struct VkSubresourceLayout2 { VkStructureType sType; void *pNext; VkSubresourceLayout WINE_VK_ALIGN(8) subresourceLayout; } VkSubresourceLayout2; -typedef VkSubresourceLayout2 VkSubresourceLayout2KHR; -typedef VkSubresourceLayout2 VkSubresourceLayout2EXT; - - +typedef VkSubresourceLayout2 VkSubresourceLayout2KHR, VkSubresourceLayout2EXT; typedef struct VkSubsampledImageFormatPropertiesEXT { @@ -18923,7 +18655,6 @@ typedef struct VkSurfaceFormat2KHR VkSurfaceFormatKHR surfaceFormat; } VkSurfaceFormat2KHR; - typedef struct VkSurfacePresentModeCompatibilityKHR { VkStructureType sType; @@ -18933,7 +18664,6 @@ typedef struct VkSurfacePresentModeCompatibilityKHR } VkSurfacePresentModeCompatibilityKHR; typedef VkSurfacePresentModeCompatibilityKHR VkSurfacePresentModeCompatibilityEXT; - typedef struct VkSurfacePresentModeKHR { VkStructureType sType; @@ -18942,7 +18672,6 @@ typedef struct VkSurfacePresentModeKHR } VkSurfacePresentModeKHR; typedef VkSurfacePresentModeKHR VkSurfacePresentModeEXT; - typedef struct VkSurfacePresentScalingCapabilitiesKHR { VkStructureType sType; @@ -18991,7 +18720,6 @@ typedef struct VkSwapchainPresentBarrierCreateInfoNV VkBool32 presentBarrierEnable; } VkSwapchainPresentBarrierCreateInfoNV; - typedef struct VkSwapchainPresentFenceInfoKHR { VkStructureType sType; @@ -19001,7 +18729,6 @@ typedef struct VkSwapchainPresentFenceInfoKHR } VkSwapchainPresentFenceInfoKHR; typedef VkSwapchainPresentFenceInfoKHR VkSwapchainPresentFenceInfoEXT; - typedef struct VkSwapchainPresentModeInfoKHR { VkStructureType sType; @@ -19011,7 +18738,6 @@ typedef struct VkSwapchainPresentModeInfoKHR } VkSwapchainPresentModeInfoKHR; typedef VkSwapchainPresentModeInfoKHR VkSwapchainPresentModeInfoEXT; - typedef struct VkSwapchainPresentModesCreateInfoKHR { VkStructureType sType; @@ -19021,7 +18747,6 @@ typedef struct VkSwapchainPresentModesCreateInfoKHR } VkSwapchainPresentModesCreateInfoKHR; typedef VkSwapchainPresentModesCreateInfoKHR VkSwapchainPresentModesCreateInfoEXT; - typedef struct VkSwapchainPresentScalingCreateInfoKHR { VkStructureType sType; @@ -19118,7 +18843,6 @@ typedef struct VkTimelineSemaphoreSubmitInfo } VkTimelineSemaphoreSubmitInfo; typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; - typedef struct VkTraceRaysIndirectCommand2KHR { VkDeviceAddress WINE_VK_ALIGN(8) raygenShaderRecordAddress; @@ -19144,7 +18868,6 @@ typedef struct VkTraceRaysIndirectCommandKHR uint32_t depth; } VkTraceRaysIndirectCommandKHR; - typedef struct VkValidationCacheCreateInfoEXT { VkStructureType sType; @@ -19192,8 +18915,6 @@ typedef struct VkVertexInputBindingDescription2EXT uint32_t divisor; } VkVertexInputBindingDescription2EXT; - - typedef struct VkVideoBeginCodingInfoKHR { VkStructureType sType; @@ -19953,7 +19674,6 @@ typedef struct VkWriteDescriptorSetInlineUniformBlock } VkWriteDescriptorSetInlineUniformBlock; typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; - typedef struct VkWriteDescriptorSetPartitionedAccelerationStructureNV { VkStructureType sType; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9981
From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/winevulkan/make_vulkan | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index a098e78ed41..bfdf58890a5 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -3035,9 +3035,8 @@ class Generator(object): # are parsed among other types, so there is no guarantee # that any types needed have been parsed already, so set # the data now. - structs = {struct.name: struct for struct in structs} - for struct in structs.values(): - struct.set_order() + for type in Type.types.values(): + type.set_order() # Guarantee everything is sorted, so code generation doesn't have # to deal with this. @@ -3047,7 +3046,7 @@ class Generator(object): Context.enums = OrderedDict(sorted(Context.enums.items())) Context.func_ptrs = sorted(funcpointers, key=lambda fp: fp.value) Context.handles = sorted(handles, key=lambda handle: handle.name) - Context.structs = sorted(structs.values(), key=lambda struct: (-struct.order, struct.name)) + Context.structs = sorted(structs, key=lambda struct: (-struct.order, struct.name)) def generate_vulkan_json(f): f.write("{\n") -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9981
From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/winevulkan/make_vulkan | 211 +++++++++++------------------------- include/wine/vulkan.h | 168 ++++++++++++++-------------- 2 files changed, 150 insertions(+), 229 deletions(-) diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index bfdf58890a5..1f8bb558aa2 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -25,7 +25,6 @@ import os import re import urllib.request import xml.etree.ElementTree as ET -from collections import OrderedDict from enum import Enum # This script generates code for a Wine Vulkan ICD driver from Vulkan's vk.xml. @@ -346,18 +345,6 @@ MEMBER_LENGTH_EXPRESSIONS = { } -class Context(object): - base_types = [] - bitmasks = [] - consts = [] - defines = [] - enums = [] - func_ptrs = [] - handles = [] - structs = [] - funcs = [] - - class Direction(Enum): """ Parameter direction: input, output, input_output. """ INPUT = 1 @@ -422,15 +409,19 @@ class Type(object): types = {} alias = {} - def __init__(self, name, requires=[]): + def __init__(self, name, requires=[], alias=None): self.order = 0 self._required = False self.extensions = set() self.requires = requires self.name = name - Type.types[name] = self - Type.alias[name] = [] + if not alias: + Type.types[name] = self + Type.alias[name] = Type.alias.get(name, []) + else: + Type.alias[name] = alias + Type.alias[alias] = Type.alias.get(alias, []) + [name] def require(self): if self._required: @@ -454,7 +445,7 @@ class Type(object): type.set_order(self.order) def definition(self, suffix=""): - aliases = ", ".join(f"{alias}{suffix}" for alias in Type.alias[self.name]) + aliases = ", ".join(f"{alias}{suffix}" for alias in Type.alias.get(self.name, [])) return f"typedef {self.name}{suffix} {aliases};\n" if len(aliases) else "" @staticmethod @@ -465,6 +456,11 @@ class Type(object): return Type.get(Type.alias[name]) return None + @staticmethod + def all(klass, which=lambda t: True, sort=True, by_name=False): + types = filter(lambda t: type(t) is klass and which(t), Type.types.values()) + return sorted(types, key=lambda type: (0 if by_name else -type.order, type.name)) if sort else types + class Flags(Type): def __init__(self, name, type, requires=None): @@ -628,7 +624,7 @@ class EnumValue(object): class Function(Type): def __init__(self, _type, name, params, alias=None): - Type.__init__(self, name, [_type] + [p.type_name for p in params]) + Type.__init__(self, name, requires=[_type] + [p.type_name for p in params]) self.platforms = set() self.type = _type self.params = params @@ -1786,7 +1782,7 @@ class Parameter(VkVariable): class Record(Type): def __init__(self, members, name, returnedonly=False, structextends=None, category="struct", **kwargs): - Type.__init__(self, name, [m.type_name for m in members]) + Type.__init__(self, name, requires=[m.type_name for m in members]) self.union = category == "union" self.members = members self.returnedonly = returnedonly @@ -1815,8 +1811,7 @@ class Record(Type): return self.name in struct.structextends return False - structs = sorted(Context.structs, key=lambda s: s.name) - for struct in filter(is_struct_extension, structs): + for struct in Type.all(Record, is_struct_extension, by_name=True): self._struct_extensions.append(struct) return self._struct_extensions @@ -2360,7 +2355,7 @@ class Generator(object): self._parse_features(root) self._parse_extensions(root) - for enum in Context.enums.values(): + for enum in Type.all(Enum): enum.fixup_64bit_aliases() self._match_object_types() @@ -2398,9 +2393,9 @@ class Generator(object): thunks = "" conversions = [] - for vk_func in filter(Function.needs_thunk, Context.funcs.values()): - thunks += vk_func.thunk(conversions, prefix="thunk64_") - thunks += vk_func.thunk(conversions, prefix="thunk32_", conv=True) + for func in Type.all(Function, Function.needs_thunk): + thunks += func.thunk(conversions, prefix="thunk64_") + thunks += func.thunk(conversions, prefix="thunk32_", conv=True) # iterate over each of the conversion function dependencies first def enum_conversions(conversions, seen=set()): @@ -2432,7 +2427,7 @@ class Generator(object): f.write("{\n") f.write(" switch(type)\n") f.write(" {\n") - for handle in Context.handles: + for handle in Type.all(Handle, by_name=True): if not handle.is_required() or not handle.is_wrapped() or handle.is_alias(): continue f.write(" case {}:\n".format(handle.object_type)) @@ -2454,7 +2449,7 @@ class Generator(object): f.write("BOOL wine_vk_is_type_wrapped(VkObjectType type)\n") f.write("{\n") f.write(" return FALSE") - for handle in Context.handles: + for handle in Type.all(Handle, by_name=True): if not handle.is_required() or not handle.is_wrapped() or handle.is_alias(): continue f.write(" ||\n type == {}".format(handle.object_type)) @@ -2467,7 +2462,7 @@ class Generator(object): f.write(" init_vulkan,\n") f.write(" vk_is_available_instance_function,\n") f.write(" vk_is_available_device_function,\n") - for func in filter(Function.needs_thunk, Context.funcs.values()): + for func in Type.all(Function, Function.needs_thunk): f.write(f" {func.unixlib_entry(64)},\n") f.write("};\n") f.write("C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs) == unix_count);\n\n") @@ -2482,7 +2477,7 @@ class Generator(object): f.write(" wow64_init_vulkan,\n") f.write(" vk_is_available_instance_function32,\n") f.write(" vk_is_available_device_function32,\n") - for func in filter(Function.needs_thunk, Context.funcs.values()): + for func in Type.all(Function, Function.needs_thunk): f.write(f" {func.unixlib_entry(32)},\n") f.write("};\n") f.write("C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs) == unix_count);\n") @@ -2498,7 +2493,7 @@ class Generator(object): # Generate prototypes for device and instance functions requiring a custom implementation. f.write("/* Functions for which we have custom implementations outside of the thunks. */\n") - for func in filter(Function.needs_private_thunk, Context.funcs.values()): + for func in Type.all(Function, Function.needs_private_thunk): f.write(func.gen_wrapper()) f.write("\n") @@ -2511,21 +2506,21 @@ class Generator(object): f.write("WINE_DEFAULT_DEBUG_CHANNEL(vulkan);\n\n") - for func in filter(Function.needs_loader_thunk, Context.funcs.values()): + for func in Type.all(Function, Function.needs_loader_thunk): f.write(func.loader_thunk()) f.write("static const struct vulkan_func vk_device_dispatch_table[] =\n{\n") - for func in filter(Function.is_client_device, Context.funcs.values()): + for func in Type.all(Function, Function.is_client_device): f.write(f" {{\"{func.name}\", {func.name}}},\n") f.write("};\n\n") f.write("static const struct vulkan_func vk_phys_dev_dispatch_table[] =\n{\n") - for func in filter(Function.is_client_physical_device, Context.funcs.values()): + for func in Type.all(Function, Function.is_client_physical_device): f.write(f" {{\"{func.name}\", {func.name}}},\n") f.write("};\n\n") f.write("static const struct vulkan_func vk_instance_dispatch_table[] =\n{\n") - for func in filter(Function.is_client_instance, Context.funcs.values()): + for func in Type.all(Function, Function.is_client_instance): f.write(f" {{\"{func.name}\", {func.name}}},\n") f.write("};\n\n") @@ -2582,7 +2577,7 @@ class Generator(object): f.write(" unix_init,\n") f.write(" unix_is_available_instance_function,\n") f.write(" unix_is_available_device_function,\n") - for func in filter(Function.needs_thunk, Context.funcs.values()): + for func in Type.all(Function, Function.needs_thunk): f.write(f" unix_{func.name},\n") f.write(" unix_count,\n") f.write("};\n\n") @@ -2597,7 +2592,7 @@ class Generator(object): ret += "};\n\n" return ret - for func in filter(Function.needs_thunk, Context.funcs.values()): + for func in Type.all(Function, Function.needs_thunk): f.write(function_params(func)) f.write("#endif /* __WINE_VULKAN_LOADER_THUNKS_H */\n") @@ -2635,17 +2630,17 @@ class Generator(object): # The overall strategy is to define independent constants and datatypes, # prior to complex structures and function calls to avoid forward declarations. - for const in Context.consts: + for const in Type.all(Constant, sort=False): # For now just generate things we may not need. The amount of parsing needed # to get some of the info is tricky as you need to figure out which structure # references a certain constant. f.write(const.definition()) f.write("\n") - for define in Context.defines: + for define in Type.all(Define, sort=False): f.write(define.definition()) - for handle in Context.handles: + for handle in Type.all(Handle, by_name=True): # For backward compatibility 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. @@ -2653,25 +2648,18 @@ class Generator(object): f.write(handle.definition()) f.write("\n") - # Reorder bitmasks to handle aliases correctly. - remaining_bitmasks = list(Context.bitmasks) - while len(remaining_bitmasks) > 0: - for bitmask in remaining_bitmasks: - if bitmask.is_alias() and bitmask.alias in remaining_bitmasks: - continue - f.write(bitmask.definition()) - remaining_bitmasks.remove(bitmask) - break + for flags in Type.all(Flags): + f.write(flags.definition()) f.write("\n") # Define enums, this includes values for some of the bitmask types as well. - for enum in Context.enums.values(): + for enum in Type.all(Enum, by_name=True): if enum.is_required(): f.write(enum.definition()) f.write("typedef struct VkDebugUtilsMessengerCallbackDataEXT VkDebugUtilsMessengerCallbackDataEXT;\n") - for fp in Context.func_ptrs: + for fp in Type.all(FunctionPointer, by_name=True): if fp.is_required(): f.write(fp.definition()) f.write("\n") @@ -2681,21 +2669,21 @@ class Generator(object): # decoupled structs. # Note: unions are stored in structs for dependency reasons, # see comment in parsing section. - for struct in Context.structs: + for struct in Type.all(Record): if struct.is_required() and struct.name != "SECURITY_ATTRIBUTES": f.write(struct.definition()) - for func in filter(Function.is_required, Context.funcs.values()): + for func in Type.all(Function, Function.is_required): f.write(func.gen_pointer()) f.write("\n") f.write("#ifndef VK_NO_PROTOTYPES\n") - for func in filter(Function.is_required, Context.funcs.values()): + for func in Type.all(Function, Function.is_required): f.write(func.gen_prototype()) f.write("#endif /* VK_NO_PROTOTYPES */\n\n") f.write("#define ALL_VK_DEVICE_FUNCS") - for func in filter(Function.is_host_device, Context.funcs.values()): + for func in Type.all(Function, Function.is_host_device): f.write(f" \\\n USE_VK_FUNC({func.name})") f.write("\n\n") @@ -2712,7 +2700,7 @@ class Generator(object): f.write("\n\n") f.write("#define ALL_VK_INSTANCE_FUNCS") - for func in filter(Function.is_host_instance, Context.funcs.values()): + for func in Type.all(Function, Function.is_host_instance): f.write(f" \\\n USE_VK_FUNC({func.name})") f.write("\n\n") @@ -2736,7 +2724,7 @@ class Generator(object): f.write("@ stdcall -private vk_icdGetInstanceProcAddr(ptr str)\n") f.write("@ stdcall -private vk_icdGetPhysicalDeviceProcAddr(ptr str)\n") f.write("@ stdcall -private vk_icdNegotiateLoaderICDInterfaceVersion(ptr)\n") - for func in filter(Function.is_core, Context.funcs.values()): + for func in Type.all(Function, Function.is_core): f.write(func.spec()) f.write("@ stdcall -private DllRegisterServer()\n") f.write("@ stdcall -private DllUnregisterServer()\n") @@ -2744,18 +2732,18 @@ class Generator(object): def generate_vulkan_loader_spec(self, f): self._generate_copyright(f, spec_file=True) - for func in filter(Function.is_core, Context.funcs.values()): + for func in Type.all(Function, Function.is_core): f.write(func.spec(symbol=f"winevulkan.{func.name}")) def _match_object_types(self): """ Matches each handle with the correct object type. """ # Use upper case comparison for simplicity. object_types = {} - for value in Context.enums["VkObjectType"].values: + for value in Type.get("VkObjectType").values: object_name = "VK" + value.name[len("VK_OBJECT_TYPE"):].replace("_", "") object_types[object_name] = value.name - for handle in Context.handles: + for handle in Type.all(Handle): if not handle.is_required(): continue handle.object_type = object_types.get(handle.name.upper()) @@ -2764,7 +2752,6 @@ class Generator(object): def _parse_commands(self, root): """ Parse command section containing the Vulkan function calls. """ - funcs = {} commands = root.findall("./commands/") # As of Vulkan 1.1, various extensions got promoted to Core. @@ -2780,18 +2767,12 @@ class Generator(object): alias_commands.append(command) continue - func = Function.from_xml(command) - funcs[func.name] = func + Function.from_xml(command) for command in alias_commands: alias_name = command.attrib.get("alias") - alias = funcs[alias_name] - func = Function.from_alias(command, alias) - funcs[func.name] = func - - # The funcs dictionary is used as a convenient way to lookup function - # calls when needed e.g. to adjust member variables. - Context.funcs = OrderedDict(sorted(funcs.items())) + alias = Type.get(alias_name) + Function.from_alias(command, alias) def _parse_enums(self, root): """ Parse enums section or better described as constants section. """ @@ -2808,10 +2789,7 @@ class Generator(object): for value in enum.findall("enum"): # 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. - const = Constant(value.get("name"), value.get("alias") or value.get("value")) - Context.consts.append(const) - - Context.enums = OrderedDict(sorted(enums.items())) + Constant(value.get("name"), value.get("alias") or value.get("value")) def process_enum_alias(self, enum_elem, extension): if extends := enum_elem.get("extends"): @@ -2819,26 +2797,16 @@ class Generator(object): # from VK spec version 1.2.135 where the provisional VK_KHR_ray_tracing extension was # added which altered VK_NV_ray_tracing's EnumValues to alias to the provisional # extension. - aliased = False - for t in Type.types.values(): - if type(t) is not Enum: - continue - for value in t.values: - if value.alias == enum_elem.attrib["name"]: - aliased = True - - if aliased: + if any(value.alias == enum_elem.get("name") for enum in Type.all(Enum) for value in enum.values): Type.get(extends).add(EnumValue.from_xml(enum_elem, extension)) elif alias := enum_elem.get("alias"): - const = Constant(enum_elem.get("name"), alias) - Context.consts.append(const) + Constant(enum_elem.get("name"), alias) def process_enum_value(self, enum_elem, extension=None): if extends := enum_elem.get("extends"): Type.get(extends).add(EnumValue.from_xml(enum_elem, extension)) elif value := enum_elem.get("value"): - const = Constant(enum_elem.get("name"), value) - Context.consts.append(const) + Constant(enum_elem.get("name"), value) def _parse_extensions(self, root): """ Parse extensions section and pull in any types and commands for this extension. """ @@ -2893,7 +2861,8 @@ class Generator(object): # Set extension name on any functions calls part of this extension as we # were not aware of the name during initial parsing. for command in ext.findall("require/command"): - Context.funcs[command.attrib["name"]].extensions.add(extension) + name = command.get("name") + Type.get(name).extensions.add(extension) if not extension.is_supported: return @@ -2928,8 +2897,8 @@ class Generator(object): # Pull in any commands we need. We infer types to pull in from the command # as well. for command in require.findall("command"): - cmd_name = command.attrib["name"] - Context.funcs[cmd_name].require() + name = command.get("name") + Type.get(name).require() # Store a list with extensions. @@ -2969,67 +2938,29 @@ class Generator(object): """ Parse types section, which contains all data types e.g. structs, typedefs etcetera. """ types = root.findall("./types/type") - base_types = [] - bitmasks = [] - defines = [] - funcpointers = [] - handles = [] - structs = [] - - alias_types = [] for t in filter(is_api_supported, types): category, requires = t.get("category"), t.get("requires") name = t.findtext("name") or t.findtext("proto/name") or t.get("name") - # 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) + if alias := t.get("alias"): + Type(name, alias=alias) continue if category == "basetype": - define = Define.from_xml(t) - defines.append(define) - + Define.from_xml(t) elif category == "bitmask": - # Most bitmasks have a requires attribute used to pull in - # required '*FlagBits" enum. - bitmask = Flags(name, t.findtext("type"), requires=requires) - bitmasks.append(bitmask) - + Flags(name, t.findtext("type"), requires=requires) elif category == "define": - define = Define.from_xml(t) - defines.append(define) - + Define.from_xml(t) elif category == "funcpointer": - funcpointer = FunctionPointer.from_xml(t) - funcpointers.append(funcpointer) - + FunctionPointer.from_xml(t) elif category == "handle": - handle = Handle.from_xml(t) - handles.append(handle) - + Handle.from_xml(t) elif category in ["struct", "union"]: - # We store unions among structs as some structs depend - # on unions. The types are very similar in parsing and - # generation anyway. The official Vulkan scripts use - # a similar kind of hack. - struct = Record.from_xml(t) - structs.append(struct) - + Record.from_xml(t) elif name not in Type.types: Type(name) - # Second pass for alias types, so we can retrieve all data from - # the aliased object. - for t in alias_types: - name = t.findtext("name") or t.findtext("proto/name") or t.get("name") - - alias = t.get("alias") - Type.alias[alias].append(name) - Type.alias[name] = alias - # 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 @@ -3038,16 +2969,6 @@ class Generator(object): for type in Type.types.values(): type.set_order() - # Guarantee everything is sorted, so code generation doesn't have - # to deal with this. - Context.base_types = sorted(base_types, key=lambda base_type: base_type.name) - Context.bitmasks = sorted(bitmasks, key=lambda bitmask: bitmask.name) - Context.defines = defines - Context.enums = OrderedDict(sorted(Context.enums.items())) - Context.func_ptrs = sorted(funcpointers, key=lambda fp: fp.value) - Context.handles = sorted(handles, key=lambda handle: handle.name) - Context.structs = sorted(structs, key=lambda struct: (-struct.order, struct.name)) - def generate_vulkan_json(f): f.write("{\n") f.write(" \"file_format_version\": \"1.0.0\",\n") diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index bb2b4db1d28..b1b4e6dca2d 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -1108,39 +1108,91 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) -typedef VkFlags VkAccelerationStructureCreateFlagsKHR; -typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; -typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; +typedef VkFlags VkImageAspectFlags; +typedef VkFlags VkSamplerCreateFlags; +typedef VkFlags VkShaderStageFlags; +typedef VkFlags VkImageViewCreateFlags; +typedef VkFlags VkSampleCountFlags; +typedef VkFlags VkColorComponentFlags; +typedef VkFlags VkGeometryFlagsKHR; +typedef VkGeometryFlagsKHR VkGeometryFlagsNV; +typedef VkFlags VkGeometryInstanceFlagsKHR; +typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; +typedef VkFlags VkImageCreateFlags; +typedef VkFlags VkImageUsageFlags; +typedef VkFlags VkMemoryHeapFlags; +typedef VkFlags VkMemoryPropertyFlags; +typedef VkFlags VkPipelineShaderStageCreateFlags; +typedef VkFlags VkPipelineTessellationStateCreateFlags; +typedef VkFlags VkPipelineVertexInputStateCreateFlags; +typedef VkFlags VkPresentStageFlagsEXT; +typedef VkFlags VkSparseImageFormatFlags; +typedef VkFlags VkSparseMemoryBindFlags; +typedef VkFlags64 VkTensorUsageFlagsARM; +typedef VkFlags64 VkTensorViewCreateFlagsARM; typedef VkFlags VkAccessFlags; typedef VkFlags64 VkAccessFlags2; typedef VkAccessFlags2 VkAccessFlags2KHR; +typedef VkFlags VkAttachmentDescriptionFlags; +typedef VkFlags VkBufferCreateFlags; +typedef VkFlags VkBufferUsageFlags; +typedef VkFlags VkBuildAccelerationStructureFlagsKHR; +typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; +typedef VkFlags VkCompositeAlphaFlagsKHR; +typedef VkFlags VkCullModeFlags; +typedef VkFlags VkDependencyFlags; +typedef VkFlags VkDeviceQueueCreateFlags; +typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; +typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; +typedef VkFlags VkExternalMemoryFeatureFlags; +typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; +typedef VkFlags VkExternalMemoryHandleTypeFlags; +typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; +typedef VkFlags VkFormatFeatureFlags; +typedef VkFlags64 VkFormatFeatureFlags2; +typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; +typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; +typedef VkFlags VkIndirectStateFlagsNV; +typedef VkFlags VkPipelineCacheCreateFlags; +typedef VkFlags VkPipelineColorBlendStateCreateFlags; +typedef VkFlags VkPipelineCreationFeedbackFlags; +typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; +typedef VkFlags VkPipelineDepthStencilStateCreateFlags; +typedef VkFlags VkPipelineDynamicStateCreateFlags; +typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; +typedef VkFlags VkPipelineMultisampleStateCreateFlags; +typedef VkFlags VkPipelineRasterizationStateCreateFlags; +typedef VkFlags VkPipelineStageFlags; +typedef VkFlags64 VkPipelineStageFlags2; +typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; +typedef VkFlags VkPipelineViewportStateCreateFlags; +typedef VkFlags VkPresentTimingInfoFlagsEXT; +typedef VkFlags VkQueryControlFlags; +typedef VkFlags VkQueryPipelineStatisticFlags; +typedef VkFlags VkQueueFlags; +typedef VkFlags VkRefreshObjectFlagsKHR; +typedef VkFlags VkSpirvResourceTypeFlagsEXT; +typedef VkFlags VkSubpassDescriptionFlags; +typedef VkFlags VkSurfaceTransformFlagsKHR; +typedef VkFlags64 VkTensorCreateFlagsARM; +typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; +typedef VkFlags VkVideoComponentBitDepthFlagsKHR; +typedef VkFlags VkAccelerationStructureCreateFlagsKHR; +typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; +typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; typedef VkFlags64 VkAccessFlags3KHR; typedef VkFlags VkAcquireProfilingLockFlagsKHR; typedef VkFlags VkAddressCopyFlagsKHR; typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; -typedef VkFlags VkAttachmentDescriptionFlags; -typedef VkFlags VkBufferCreateFlags; -typedef VkFlags VkBufferUsageFlags; typedef VkFlags64 VkBufferUsageFlags2; typedef VkBufferUsageFlags2 VkBufferUsageFlags2KHR; typedef VkFlags VkBufferViewCreateFlags; -typedef VkFlags VkBuildAccelerationStructureFlagsKHR; -typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; typedef VkFlags VkBuildMicromapFlagsEXT; typedef VkFlags VkClusterAccelerationStructureAddressResolutionFlagsNV; typedef VkFlags VkClusterAccelerationStructureClusterFlagsNV; -typedef VkFlags VkClusterAccelerationStructureGeometryFlagsNV; -typedef VkFlags VkClusterAccelerationStructureIndexFormatFlagsNV; -typedef VkFlags VkColorComponentFlags; -typedef VkFlags VkCommandBufferResetFlags; typedef VkFlags VkCommandBufferUsageFlags; typedef VkFlags VkCommandPoolCreateFlags; -typedef VkFlags VkCommandPoolResetFlags; -typedef VkFlags VkCommandPoolTrimFlags; -typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; -typedef VkFlags VkCompositeAlphaFlagsKHR; typedef VkFlags VkConditionalRenderingFlagsEXT; -typedef VkFlags VkCullModeFlags; typedef VkFlags64 VkDataGraphPipelineDispatchFlagsARM; typedef VkFlags64 VkDataGraphPipelineSessionCreateFlagsARM; typedef VkFlags VkDebugReportFlagsEXT; @@ -1148,11 +1200,9 @@ typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; -typedef VkFlags VkDependencyFlags; typedef VkFlags VkDescriptorBindingFlags; typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; typedef VkFlags VkDescriptorPoolCreateFlags; -typedef VkFlags VkDescriptorPoolResetFlags; typedef VkFlags VkDescriptorSetLayoutCreateFlags; typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; @@ -1161,23 +1211,15 @@ typedef VkFlags VkDeviceCreateFlags; typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; typedef VkFlags VkDeviceMemoryReportFlagsEXT; -typedef VkFlags VkDeviceQueueCreateFlags; -typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT; typedef VkFlags VkDisplayModeCreateFlagsKHR; -typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; typedef VkFlags VkEventCreateFlags; -typedef VkFlags VkExportMetalObjectTypeFlagsEXT; typedef VkFlags VkExternalFenceFeatureFlags; typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; typedef VkFlags VkExternalFenceHandleTypeFlags; typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; -typedef VkFlags VkExternalMemoryFeatureFlags; -typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; typedef VkFlags VkExternalMemoryFeatureFlagsNV; -typedef VkFlags VkExternalMemoryHandleTypeFlags; -typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; typedef VkFlags VkExternalSemaphoreFeatureFlags; typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; @@ -1186,42 +1228,27 @@ typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR typedef VkFlags VkFenceCreateFlags; typedef VkFlags VkFenceImportFlags; typedef VkFenceImportFlags VkFenceImportFlagsKHR; -typedef VkFlags VkFormatFeatureFlags; -typedef VkFlags64 VkFormatFeatureFlags2; -typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; typedef VkFlags VkFrameBoundaryFlagsEXT; typedef VkFlags VkFramebufferCreateFlags; -typedef VkFlags VkGeometryFlagsKHR; -typedef VkGeometryFlagsKHR VkGeometryFlagsNV; -typedef VkFlags VkGeometryInstanceFlagsKHR; -typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; typedef VkFlags VkHostImageCopyFlags; typedef VkHostImageCopyFlags VkHostImageCopyFlagsEXT; typedef VkFlags VkIOSSurfaceCreateFlagsMVK; -typedef VkFlags VkImageAspectFlags; typedef VkFlags VkImageCompressionFixedRateFlagsEXT; typedef VkFlags VkImageCompressionFlagsEXT; typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; -typedef VkFlags VkImageCreateFlags; -typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA; -typedef VkFlags VkImageUsageFlags; -typedef VkFlags VkImageViewCreateFlags; typedef VkFlags VkIndirectCommandsInputModeFlagsEXT; typedef VkFlags VkIndirectCommandsLayoutUsageFlagsEXT; typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; -typedef VkFlags VkIndirectStateFlagsNV; typedef VkFlags VkInstanceCreateFlags; typedef VkFlags VkMacOSSurfaceCreateFlagsMVK; typedef VkFlags VkMemoryAllocateFlags; typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; typedef VkFlags64 VkMemoryDecompressionMethodFlagsEXT; typedef VkMemoryDecompressionMethodFlagsEXT VkMemoryDecompressionMethodFlagsNV; -typedef VkFlags VkMemoryHeapFlags; typedef VkFlags VkMemoryMapFlags; -typedef VkFlags VkMemoryPropertyFlags; typedef VkFlags VkMemoryUnmapFlags; typedef VkMemoryUnmapFlags VkMemoryUnmapFlagsKHR; typedef VkFlags VkMetalSurfaceCreateFlagsEXT; @@ -1232,13 +1259,9 @@ typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; typedef VkFlags VkOpticalFlowUsageFlagsNV; typedef VkFlags VkPartitionedAccelerationStructureInstanceFlagsNV; typedef VkFlags VkPastPresentationTimingFlagsEXT; -typedef VkFlags VkPeerMemoryFeatureFlags; -typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; typedef VkFlags VkPerformanceCounterDescriptionFlagsARM; typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; -typedef VkFlags VkPipelineCacheCreateFlags; -typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; @@ -1246,40 +1269,19 @@ typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; typedef VkFlags VkPipelineCreateFlags; typedef VkFlags64 VkPipelineCreateFlags2; typedef VkPipelineCreateFlags2 VkPipelineCreateFlags2KHR; -typedef VkFlags VkPipelineCreationFeedbackFlags; -typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; -typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; -typedef VkFlags VkPipelineDynamicStateCreateFlags; -typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; typedef VkFlags VkPipelineLayoutCreateFlags; -typedef VkFlags VkPipelineMultisampleStateCreateFlags; typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; -typedef VkFlags VkPipelineRasterizationStateCreateFlags; typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; -typedef VkFlags VkPipelineShaderStageCreateFlags; -typedef VkFlags VkPipelineStageFlags; -typedef VkFlags64 VkPipelineStageFlags2; -typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; -typedef VkFlags VkPipelineTessellationStateCreateFlags; -typedef VkFlags VkPipelineVertexInputStateCreateFlags; -typedef VkFlags VkPipelineViewportStateCreateFlags; typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; typedef VkFlags VkPresentGravityFlagsKHR; typedef VkPresentGravityFlagsKHR VkPresentGravityFlagsEXT; typedef VkFlags VkPresentScalingFlagsKHR; typedef VkPresentScalingFlagsKHR VkPresentScalingFlagsEXT; -typedef VkFlags VkPresentStageFlagsEXT; -typedef VkFlags VkPresentTimingInfoFlagsEXT; typedef VkFlags VkPrivateDataSlotCreateFlags; typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; -typedef VkFlags VkQueryControlFlags; -typedef VkFlags VkQueryPipelineStatisticFlags; typedef VkFlags VkQueryPoolCreateFlags; -typedef VkFlags VkQueryResultFlags; -typedef VkFlags VkQueueFlags; -typedef VkFlags VkRefreshObjectFlagsKHR; typedef VkFlags VkRenderPassCreateFlags; typedef VkFlags VkRenderingAttachmentFlagsKHR; typedef VkFlags VkRenderingFlags; @@ -1287,8 +1289,6 @@ typedef VkRenderingFlags VkRenderingFlagsKHR; typedef VkFlags VkResolveImageFlagsKHR; typedef VkFlags VkResolveModeFlags; typedef VkResolveModeFlags VkResolveModeFlagsKHR; -typedef VkFlags VkSampleCountFlags; -typedef VkFlags VkSamplerCreateFlags; typedef VkFlags VkScreenSurfaceCreateFlagsQNX; typedef VkFlags VkSemaphoreCreateFlags; typedef VkFlags VkSemaphoreImportFlags; @@ -1298,25 +1298,15 @@ typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; typedef VkFlags VkShaderCorePropertiesFlagsAMD; typedef VkFlags VkShaderCreateFlagsEXT; typedef VkFlags VkShaderModuleCreateFlags; -typedef VkFlags VkShaderStageFlags; -typedef VkFlags VkSparseImageFormatFlags; -typedef VkFlags VkSparseMemoryBindFlags; -typedef VkFlags VkSpirvResourceTypeFlagsEXT; -typedef VkFlags VkStencilFaceFlags; typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP; typedef VkFlags VkSubgroupFeatureFlags; typedef VkFlags VkSubmitFlags; typedef VkSubmitFlags VkSubmitFlagsKHR; -typedef VkFlags VkSubpassDescriptionFlags; typedef VkFlags VkSurfaceCounterFlagsEXT; typedef VkFlags VkSurfaceCreateFlagsOHOS; -typedef VkFlags VkSurfaceTransformFlagsKHR; typedef VkFlags VkSwapchainCreateFlagsKHR; typedef VkFlags VkSwapchainImageUsageFlagsANDROID; typedef VkFlags VkSwapchainImageUsageFlagsOHOS; -typedef VkFlags64 VkTensorCreateFlagsARM; -typedef VkFlags64 VkTensorUsageFlagsARM; -typedef VkFlags64 VkTensorViewCreateFlagsARM; typedef VkFlags VkTileShadingRenderPassFlagsQCOM; typedef VkFlags VkToolPurposeFlags; typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; @@ -1324,13 +1314,10 @@ typedef VkFlags VkValidationCacheCreateFlagsEXT; typedef VkFlags VkViSurfaceCreateFlagsNN; typedef VkFlags VkVideoBeginCodingFlagsKHR; typedef VkFlags VkVideoCapabilityFlagsKHR; -typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; typedef VkFlags VkVideoCodecOperationFlagsKHR; typedef VkFlags VkVideoCodingControlFlagsKHR; -typedef VkFlags VkVideoComponentBitDepthFlagsKHR; typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; typedef VkFlags VkVideoDecodeFlagsKHR; -typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; typedef VkFlags VkVideoDecodeUsageFlagsKHR; typedef VkFlags VkVideoEncodeAV1CapabilityFlagsKHR; typedef VkFlags VkVideoEncodeAV1RateControlFlagsKHR; @@ -1362,6 +1349,19 @@ typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; typedef VkFlags VkWin32SurfaceCreateFlagsKHR; typedef VkFlags VkXcbSurfaceCreateFlagsKHR; typedef VkFlags VkXlibSurfaceCreateFlagsKHR; +typedef VkFlags VkClusterAccelerationStructureGeometryFlagsNV; +typedef VkFlags VkClusterAccelerationStructureIndexFormatFlagsNV; +typedef VkFlags VkCommandBufferResetFlags; +typedef VkFlags VkCommandPoolResetFlags; +typedef VkFlags VkCommandPoolTrimFlags; +typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; +typedef VkFlags VkDescriptorPoolResetFlags; +typedef VkFlags VkExportMetalObjectTypeFlagsEXT; +typedef VkFlags VkPeerMemoryFeatureFlags; +typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; +typedef VkFlags VkQueryResultFlags; +typedef VkFlags VkStencilFaceFlags; +typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; typedef enum StdVideoAV1ChromaSamplePosition { @@ -7279,14 +7279,14 @@ typedef enum VkViewportCoordinateSwizzleNV } VkViewportCoordinateSwizzleNV; typedef struct VkDebugUtilsMessengerCallbackDataEXT VkDebugUtilsMessengerCallbackDataEXT; +typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(void* pUserData, size_t size, size_t alignment, VkSystemAllocationScope allocationScope); typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage, void* pUserData); typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData); typedef void (VKAPI_PTR *PFN_vkFreeFunction)(void* pUserData, void* pMemory); typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(void* pUserData, size_t size, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope); typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(void* pUserData, size_t size, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope); -typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); -typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(void* pUserData, size_t size, size_t alignment, VkSystemAllocationScope allocationScope); typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(void* pUserData, void* pOriginal, size_t size, size_t alignment, VkSystemAllocationScope allocationScope); +typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); typedef struct StdVideoH265HrdFlags { -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9981
From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/winevulkan/make_vulkan | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 1f8bb558aa2..eeb770e3672 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -471,9 +471,6 @@ class Flags(Type): type = f"typedef {self.type}" if self.type else "struct" return f"{type} {self.name};\n" + Type.definition(self) - def is_alias(self): - return False - class Extension(object): def __init__(self, name, type=None, platform=None, **kwargs): @@ -623,12 +620,11 @@ class EnumValue(object): class Function(Type): - def __init__(self, _type, name, params, alias=None): + def __init__(self, _type, name, params): Type.__init__(self, name, requires=[_type] + [p.type_name for p in params]) self.platforms = set() 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, {}) @@ -647,7 +643,7 @@ class Function(Type): @staticmethod def from_alias(command, alias): func_name = command.attrib.get("name") - return Function(alias.type, func_name, alias.params, alias=alias) + return Function(alias.type, func_name, alias.params) @staticmethod def from_xml(command): @@ -659,9 +655,6 @@ class Function(Type): params = [Parameter.from_xml(param) for param in params] return Function(func_type, func_name, params) - def is_alias(self): - return bool(self.alias) - def is_core(self): return not self.extensions or any(ext.is_core for ext in self.extensions) @@ -966,9 +959,6 @@ class FunctionPointer(Type): def definition(self): return self.value + '\n' - def is_alias(self): - return False - class Handle(Type): def __init__(self, name, _type, parent): @@ -1009,9 +999,6 @@ class Handle(Type): def definition(self): return f"{self.type}({self.name})\n" + Type.definition(self) - def is_alias(self): - return False - def is_dispatchable(self): """ Some handles like VkInstance, VkDevice are dispatchable objects, which means they contain a dispatch table of function pointers. @@ -1824,9 +1811,6 @@ class Record(Type): text += f"}} {self.name}{suffix};\n" return text + Type.definition(self, suffix) + '\n' - def is_alias(self): - return False - def needs_alignment(self): """ Check if structure needs alignment for 64-bit data. Various structures need alignment on 64-bit variables due @@ -2428,7 +2412,7 @@ class Generator(object): f.write(" switch(type)\n") f.write(" {\n") for handle in Type.all(Handle, by_name=True): - if not handle.is_required() or not handle.is_wrapped() or handle.is_alias(): + if not handle.is_required() or not handle.is_wrapped(): continue f.write(" case {}:\n".format(handle.object_type)) if handle.is_dispatchable(): @@ -2450,7 +2434,7 @@ class Generator(object): f.write("{\n") f.write(" return FALSE") for handle in Type.all(Handle, by_name=True): - if not handle.is_required() or not handle.is_wrapped() or handle.is_alias(): + if not handle.is_required() or not handle.is_wrapped(): continue f.write(" ||\n type == {}".format(handle.object_type)) f.write(";\n") @@ -2644,7 +2628,7 @@ class Generator(object): # For backward compatibility 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(): + if handle.is_required(): f.write(handle.definition()) f.write("\n") -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9981
participants (2)
-
Rémi Bernon -
Rémi Bernon (@rbernon)