Not trivial this time because VulkanSC was added to the xml.
From: Georg Lehmann dadschoorse@gmail.com
Otherwise we will have duplicate members/params with the new 242 xml. --- dlls/winevulkan/make_vulkan | 80 ++++++++++++++++++++++++++++++------- 1 file changed, 65 insertions(+), 15 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 706f4df5853..e1ba431175e 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -300,6 +300,8 @@ class Direction(Enum): INPUT = 1 OUTPUT = 2
+def api_is_vulkan(obj): + return "vulkan" in obj.get("api", "vulkan").split(",")
class VkBaseType(object): def __init__(self, name, _type, alias=None, requires=None): @@ -350,6 +352,9 @@ class VkDefine(object):
@staticmethod def from_xml(define): + if not api_is_vulkan(define): + return None + name_elem = define.find("name")
if name_elem is None: @@ -426,6 +431,9 @@ class VkEnum(object):
@staticmethod def from_xml(enum): + if not api_is_vulkan(enum): + return None + name = enum.attrib.get("name") bitwidth = int(enum.attrib.get("bitwidth", "32")) result = VkEnum(name, bitwidth) @@ -589,6 +597,9 @@ class VkFunction(object): Returns: VkFunction """ + if not api_is_vulkan(command): + return None + func_name = command.attrib.get("name") func_type = alias.type params = alias.params @@ -597,6 +608,9 @@ class VkFunction(object):
@staticmethod def from_xml(command, types): + if not api_is_vulkan(command): + return None + proto = command.find("proto") func_name = proto.find("name").text func_type = proto.find("type").text @@ -604,7 +618,8 @@ class VkFunction(object): params = [] for param in command.findall("param"): vk_param = VkParam.from_xml(param, types, params) - params.append(vk_param) + if vk_param: + params.append(vk_param)
return VkFunction(_type=func_type, name=func_name, params=params)
@@ -950,6 +965,9 @@ class VkFunctionPointer(object):
@staticmethod def from_xml(funcpointer): + if not api_is_vulkan(funcpointer): + return None + members = [] begin = None
@@ -1030,6 +1048,9 @@ class VkHandle(object):
@staticmethod def from_xml(handle): + if not api_is_vulkan(handle): + return None + name = handle.find("name").text _type = handle.find("type").text parent = handle.attrib.get("parent") # Most objects have a parent e.g. VkQueue has VkDevice. @@ -1370,6 +1391,9 @@ class VkMember(VkVariable): def from_xml(member, returnedonly, parent): """ Helper function for parsing a member tag within a struct or union. """
+ if not api_is_vulkan(member): + return None + name_elem = member.find("name") type_elem = member.find("type")
@@ -1608,6 +1632,9 @@ class VkParam(VkVariable): def from_xml(param, types, parent): """ Helper function to create VkParam from xml. """
+ if not api_is_vulkan(param): + return None + # Parameter parsing is slightly tricky. All the data is contained within # a param tag, but some data is within subtags while others are text # before or after the type tag. @@ -1916,6 +1943,9 @@ class VkStruct(Sequence):
@staticmethod def from_xml(struct): + if not api_is_vulkan(struct): + return None + # 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 @@ -1944,7 +1974,8 @@ class VkStruct(Sequence): s = VkStruct(name, [], returnedonly, structextends, union=union) for member in struct.findall("member"): vk_member = VkMember.from_xml(member, returnedonly, s) - s.members.append(vk_member) + if vk_member: + s.members.append(vk_member)
return s
@@ -3303,13 +3334,15 @@ class VkRegistry(object): continue
func = VkFunction.from_xml(command, self.types) - funcs[func.name] = func + if func: + funcs[func.name] = func
for command in alias_commands: alias_name = command.attrib.get("alias") alias = funcs[alias_name] func = VkFunction.from_alias(command, alias) - funcs[func.name] = func + if func: + funcs[func.name] = func
# To make life easy for the code generation, separate all function # calls out in the 4 types of Vulkan functions: @@ -3347,7 +3380,9 @@ class VkRegistry(object): _type = enum.attrib.get("type")
if _type in ("enum", "bitmask"): - enums[name] = VkEnum.from_xml(enum) + enum_obj = VkEnum.from_xml(enum) + if enum_obj: + enums[name] = enum_obj else: # If no type is set, we are dealing with API constants. for value in enum.findall("enum"): @@ -3607,8 +3642,11 @@ class VkRegistry(object): if tail is not None: _type += tail.strip() basetype = VkBaseType(name, _type) - base_types.append(basetype) - type_info["data"] = basetype + if basetype: + base_types.append(basetype) + type_info["data"] = basetype + else: + continue
# Basic C types don't need us to define them, but we do need data for them if type_info["requires"] == "vk_platform": @@ -3629,8 +3667,11 @@ class VkRegistry(object):
if type_info["category"] == "define": define = VkDefine.from_xml(t) - defines.append(define) - type_info["data"] = define + if define: + defines.append(define) + type_info["data"] = define + else: + continue
if type_info["category"] == "enum": name = t.attrib.get("name") @@ -3646,13 +3687,19 @@ class VkRegistry(object):
if type_info["category"] == "funcpointer": funcpointer = VkFunctionPointer.from_xml(t) - funcpointers.append(funcpointer) - type_info["data"] = funcpointer + if funcpointer: + funcpointers.append(funcpointer) + type_info["data"] = funcpointer + else: + continue
if type_info["category"] == "handle": handle = VkHandle.from_xml(t) - handles.append(handle) - type_info["data"] = handle + if handle: + handles.append(handle) + type_info["data"] = handle + else: + continue
if type_info["category"] in ["struct", "union"]: # We store unions among structs as some structs depend @@ -3660,8 +3707,11 @@ class VkRegistry(object): # generation anyway. The official Vulkan scripts use # a similar kind of hack. struct = VkStruct.from_xml(t) - structs.append(struct) - type_info["data"] = struct + if struct: + structs.append(struct) + type_info["data"] = struct + else: + continue
# Name is in general within a name tag else it is an optional # attribute on the type tag.
From: Georg Lehmann dadschoorse@gmail.com
242 adds VulkanSC only extensions --- dlls/winevulkan/make_vulkan | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index e1ba431175e..d80b7ccc9c6 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -3490,8 +3490,9 @@ class VkRegistry(object): if cmd_name in self.funcs: self.funcs[cmd_name].extensions.add(ext_name)
- # Some extensions are not ready or have numbers reserved as a place holder. - if ext.attrib["supported"] == "disabled": + # Some extensions are not ready or have numbers reserved as a place holder + # or are only supported for VulkanSC. + if not "vulkan" in ext.attrib["supported"].split(","): LOGGER.debug("Skipping disabled extension: {0}".format(ext_name)) skipped_exts.append(ext_name) return
From: Georg Lehmann dadschoorse@gmail.com
--- dlls/winevulkan/make_vulkan | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index d80b7ccc9c6..173de720443 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -3584,6 +3584,8 @@ class VkRegistry(object): """ Parse the feature section, which describes Core commands and types needed. """
for feature in root.findall("./feature"): + if not api_is_vulkan(feature): + continue feature_name = feature.attrib["name"] for require in feature.findall("require"): LOGGER.info("Including features for {0}".format(require.attrib.get("comment")))
From: Georg Lehmann dadschoorse@gmail.com
--- dlls/winevulkan/make_vulkan | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 173de720443..95e65a087b6 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -3533,6 +3533,11 @@ class VkRegistry(object): if len(set(requires).intersection(skipped_exts)) > 0: skipped_exts.append(ext_name) return + elif "depends" in ext.attrib: + # The syntax for this is more complex, but this is good enough for now. + if any([sext in ext.attrib["depends"] for sext in skipped_exts]): + skipped_exts.append(ext_name) + return
LOGGER.debug("Loading extension: {0}".format(ext_name))
From: Georg Lehmann dadschoorse@gmail.com
--- dlls/vulkan-1/vulkan-1.spec | 4 +- dlls/winevulkan/loader_thunks.c | 31 +++- dlls/winevulkan/loader_thunks.h | 25 ++- dlls/winevulkan/make_vulkan | 4 +- dlls/winevulkan/vulkan_thunks.c | 271 +++++++++++++++++++++++++++++++- dlls/winevulkan/vulkan_thunks.h | 8 +- dlls/winevulkan/winevulkan.json | 2 +- dlls/winevulkan/winevulkan.spec | 4 +- include/wine/vulkan.h | 105 +++++++++++-- include/wine/vulkan_driver.h | 2 +- 10 files changed, 435 insertions(+), 21 deletions(-)
diff --git a/dlls/vulkan-1/vulkan-1.spec b/dlls/vulkan-1/vulkan-1.spec index c73df709e08..48ff2af3126 100644 --- a/dlls/vulkan-1/vulkan-1.spec +++ b/dlls/vulkan-1/vulkan-1.spec @@ -3,7 +3,7 @@ # This file is generated from Vulkan vk.xml file covered # by the following copyright and permission notice: # -# Copyright 2015-2022 The Khronos Group Inc. +# Copyright 2015-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 OR MIT # @@ -169,6 +169,7 @@ @ stdcall vkGetBufferMemoryRequirements(ptr int64 ptr) winevulkan.vkGetBufferMemoryRequirements @ stdcall vkGetBufferMemoryRequirements2(ptr ptr ptr) winevulkan.vkGetBufferMemoryRequirements2 @ stdcall vkGetBufferOpaqueCaptureAddress(ptr ptr) winevulkan.vkGetBufferOpaqueCaptureAddress +@ stub vkGetCommandPoolMemoryConsumption @ stdcall vkGetDescriptorSetLayoutSupport(ptr ptr ptr) winevulkan.vkGetDescriptorSetLayoutSupport @ stdcall vkGetDeviceBufferMemoryRequirements(ptr ptr ptr) winevulkan.vkGetDeviceBufferMemoryRequirements @ stdcall vkGetDeviceGroupPeerMemoryFeatures(ptr long long long ptr) winevulkan.vkGetDeviceGroupPeerMemoryFeatures @@ -185,6 +186,7 @@ @ stub vkGetDisplayPlaneCapabilitiesKHR @ stub vkGetDisplayPlaneSupportedDisplaysKHR @ stdcall vkGetEventStatus(ptr int64) winevulkan.vkGetEventStatus +@ stub vkGetFaultData @ stdcall vkGetFenceStatus(ptr int64) winevulkan.vkGetFenceStatus @ stdcall vkGetImageMemoryRequirements(ptr int64 ptr) winevulkan.vkGetImageMemoryRequirements @ stdcall vkGetImageMemoryRequirements2(ptr ptr ptr) winevulkan.vkGetImageMemoryRequirements2 diff --git a/dlls/winevulkan/loader_thunks.c b/dlls/winevulkan/loader_thunks.c index 9cca3f4929b..d4feecae24d 100644 --- a/dlls/winevulkan/loader_thunks.c +++ b/dlls/winevulkan/loader_thunks.c @@ -3,7 +3,7 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2022 The Khronos Group Inc. + * Copyright 2015-2023 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * @@ -1726,6 +1726,22 @@ void WINAPI vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer, uint32_t UNIX_CALL(vkCmdSetDiscardRectangleEXT, ¶ms); }
+void WINAPI vkCmdSetDiscardRectangleEnableEXT(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable) +{ + struct vkCmdSetDiscardRectangleEnableEXT_params params; + params.commandBuffer = commandBuffer; + params.discardRectangleEnable = discardRectangleEnable; + UNIX_CALL(vkCmdSetDiscardRectangleEnableEXT, ¶ms); +} + +void WINAPI vkCmdSetDiscardRectangleModeEXT(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode) +{ + struct vkCmdSetDiscardRectangleModeEXT_params params; + params.commandBuffer = commandBuffer; + params.discardRectangleMode = discardRectangleMode; + UNIX_CALL(vkCmdSetDiscardRectangleModeEXT, ¶ms); +} + void WINAPI vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) { struct vkCmdSetEvent_params params; @@ -1753,6 +1769,16 @@ void WINAPI vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer, VkEvent event, cons UNIX_CALL(vkCmdSetEvent2KHR, ¶ms); }
+void WINAPI vkCmdSetExclusiveScissorEnableNV(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32 *pExclusiveScissorEnables) +{ + struct vkCmdSetExclusiveScissorEnableNV_params params; + params.commandBuffer = commandBuffer; + params.firstExclusiveScissor = firstExclusiveScissor; + params.exclusiveScissorCount = exclusiveScissorCount; + params.pExclusiveScissorEnables = pExclusiveScissorEnables; + UNIX_CALL(vkCmdSetExclusiveScissorEnableNV, ¶ms); +} + void WINAPI vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D *pExclusiveScissors) { struct vkCmdSetExclusiveScissorNV_params params; @@ -5856,9 +5882,12 @@ static const struct vulkan_func vk_device_dispatch_table[] = {"vkCmdSetDeviceMask", vkCmdSetDeviceMask}, {"vkCmdSetDeviceMaskKHR", vkCmdSetDeviceMaskKHR}, {"vkCmdSetDiscardRectangleEXT", vkCmdSetDiscardRectangleEXT}, + {"vkCmdSetDiscardRectangleEnableEXT", vkCmdSetDiscardRectangleEnableEXT}, + {"vkCmdSetDiscardRectangleModeEXT", vkCmdSetDiscardRectangleModeEXT}, {"vkCmdSetEvent", vkCmdSetEvent}, {"vkCmdSetEvent2", vkCmdSetEvent2}, {"vkCmdSetEvent2KHR", vkCmdSetEvent2KHR}, + {"vkCmdSetExclusiveScissorEnableNV", vkCmdSetExclusiveScissorEnableNV}, {"vkCmdSetExclusiveScissorNV", vkCmdSetExclusiveScissorNV}, {"vkCmdSetExtraPrimitiveOverestimationSizeEXT", vkCmdSetExtraPrimitiveOverestimationSizeEXT}, {"vkCmdSetFragmentShadingRateEnumNV", vkCmdSetFragmentShadingRateEnumNV}, diff --git a/dlls/winevulkan/loader_thunks.h b/dlls/winevulkan/loader_thunks.h index ef9ada8a3e4..28cb55fe111 100644 --- a/dlls/winevulkan/loader_thunks.h +++ b/dlls/winevulkan/loader_thunks.h @@ -3,7 +3,7 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2022 The Khronos Group Inc. + * Copyright 2015-2023 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * @@ -190,9 +190,12 @@ enum unix_call unix_vkCmdSetDeviceMask, unix_vkCmdSetDeviceMaskKHR, unix_vkCmdSetDiscardRectangleEXT, + unix_vkCmdSetDiscardRectangleEnableEXT, + unix_vkCmdSetDiscardRectangleModeEXT, unix_vkCmdSetEvent, unix_vkCmdSetEvent2, unix_vkCmdSetEvent2KHR, + unix_vkCmdSetExclusiveScissorEnableNV, unix_vkCmdSetExclusiveScissorNV, unix_vkCmdSetExtraPrimitiveOverestimationSizeEXT, unix_vkCmdSetFragmentShadingRateEnumNV, @@ -1893,6 +1896,18 @@ struct vkCmdSetDiscardRectangleEXT_params const VkRect2D *pDiscardRectangles; };
+struct vkCmdSetDiscardRectangleEnableEXT_params +{ + VkCommandBuffer commandBuffer; + VkBool32 discardRectangleEnable; +}; + +struct vkCmdSetDiscardRectangleModeEXT_params +{ + VkCommandBuffer commandBuffer; + VkDiscardRectangleModeEXT discardRectangleMode; +}; + struct vkCmdSetEvent_params { VkCommandBuffer commandBuffer; @@ -1914,6 +1929,14 @@ struct vkCmdSetEvent2KHR_params const VkDependencyInfo *pDependencyInfo; };
+struct vkCmdSetExclusiveScissorEnableNV_params +{ + VkCommandBuffer commandBuffer; + uint32_t firstExclusiveScissor; + uint32_t exclusiveScissorCount; + const VkBool32 *pExclusiveScissorEnables; +}; + struct vkCmdSetExclusiveScissorNV_params { VkCommandBuffer commandBuffer; diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 95e65a087b6..6a77824d0e0 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -65,7 +65,7 @@ from enum import Enum LOGGER = logging.Logger("vulkan") LOGGER.addHandler(logging.StreamHandler())
-VK_XML_VERSION = "1.3.240" +VK_XML_VERSION = "1.3.242" WINE_VK_VERSION = (1, 3)
# Filenames to create. @@ -1713,7 +1713,7 @@ class VkParam(VkVariable): self.format_conv = "wine_dbgstr_longlong({0})" elif self.type == "HANDLE": self.format_str = "%p" - elif self.type in ["VisualID", "xcb_visualid_t", "RROutput", "zx_handle_t"]: + elif self.type in ["VisualID", "xcb_visualid_t", "RROutput", "zx_handle_t", "NvSciBufObj", "NvSciBufAttrList", "NvSciSyncAttrList"]: # Don't care about specific types for non-Windows platforms. self.format_str = "" else: diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index cf06ee7ed9c..7f9fad002ef 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -3,7 +3,7 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2022 The Khronos Group Inc. + * Copyright 2015-2023 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * @@ -481,6 +481,14 @@ typedef struct VkRenderPassTransformBeginInfoQCOM32 VkSurfaceTransformFlagBitsKHR transform; } VkRenderPassTransformBeginInfoQCOM32;
+typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t perViewRenderAreaCount; + PTR32 pPerViewRenderAreas; +} VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM32; + typedef struct VkRenderPassBeginInfo32 { VkStructureType sType; @@ -2452,6 +2460,13 @@ typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32 VkBool32 sampler2DViewOf3D; } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32;
+typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 imageSlicedViewOf3D; +} VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT32; + typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32 { VkStructureType sType; @@ -2780,6 +2795,13 @@ typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32 VkBool32 multiviewPerViewViewports; } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32;
+typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 multiviewPerViewRenderAreas; +} VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM32; + typedef struct VkDeviceCreateInfo32 { VkStructureType sType; @@ -3313,6 +3335,14 @@ typedef struct VkImageViewUsageCreateInfo32 } VkImageViewUsageCreateInfo32; typedef VkImageViewUsageCreateInfo32 VkImageViewUsageCreateInfoKHR32;
+typedef struct VkImageViewSlicedCreateInfoEXT32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t sliceOffset; + uint32_t sliceCount; +} VkImageViewSlicedCreateInfoEXT32; + typedef struct VkSamplerYcbcrConversionInfo32 { VkStructureType sType; @@ -3848,6 +3878,13 @@ typedef struct VkSemaphoreTypeCreateInfo32 } VkSemaphoreTypeCreateInfo32; typedef VkSemaphoreTypeCreateInfo32 VkSemaphoreTypeCreateInfoKHR32;
+typedef struct VkQueryLowLatencySupportNV32 +{ + VkStructureType sType; + PTR32 pNext; + PTR32 pQueriedLowLatencyData; +} VkQueryLowLatencySupportNV32; + typedef struct VkSemaphoreCreateInfo32 { VkStructureType sType; @@ -5599,6 +5636,15 @@ typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV32 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV32;
+typedef struct VkPhysicalDeviceShaderCorePropertiesARM32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t pixelRate; + uint32_t texelRate; + uint32_t fmaRate; +} VkPhysicalDeviceShaderCorePropertiesARM32; + typedef struct VkPhysicalDeviceProperties232 { VkStructureType sType; @@ -7190,6 +7236,18 @@ static inline void convert_VkRenderPassBeginInfo_win32_to_host(struct conversion out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: + { + VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM32 *in_ext = (const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM; + out_ext->pNext = NULL; + out_ext->perViewRenderAreaCount = in_ext->perViewRenderAreaCount; + out_ext->pPerViewRenderAreas = (const VkRect2D *)UlongToPtr(in_ext->pPerViewRenderAreas); + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -7326,6 +7384,18 @@ static inline void convert_VkRenderingInfo_win32_to_host(struct conversion_conte out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: + { + VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM32 *in_ext = (const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM; + out_ext->pNext = NULL; + out_ext->perViewRenderAreaCount = in_ext->perViewRenderAreaCount; + out_ext->pPerViewRenderAreas = (const VkRect2D *)UlongToPtr(in_ext->pPerViewRenderAreas); + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -10999,6 +11069,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: + { + VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *in_ext = (const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->imageSlicedViewOf3D = in_ext->imageSlicedViewOf3D; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: { VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -11497,6 +11578,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: + { + VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *in_ext = (const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM; + out_ext->pNext = NULL; + out_ext->multiviewPerViewRenderAreas = in_ext->multiviewPerViewRenderAreas; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -12872,6 +12964,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: + { + VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT32 *in_ext = (const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->imageSlicedViewOf3D = in_ext->imageSlicedViewOf3D; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: { VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -13370,6 +13473,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: + { + VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM32 *in_ext = (const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM; + out_ext->pNext = NULL; + out_ext->multiviewPerViewRenderAreas = in_ext->multiviewPerViewRenderAreas; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -14828,6 +14942,18 @@ static inline void convert_VkImageViewCreateInfo_win32_to_host(struct conversion out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: + { + VkImageViewSlicedCreateInfoEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkImageViewSlicedCreateInfoEXT32 *in_ext = (const VkImageViewSlicedCreateInfoEXT32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT; + out_ext->pNext = NULL; + out_ext->sliceOffset = in_ext->sliceOffset; + out_ext->sliceCount = in_ext->sliceCount; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: { VkSamplerYcbcrConversionInfo *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -16291,6 +16417,17 @@ static inline void convert_VkSemaphoreCreateInfo_win32_to_host(struct conversion out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: + { + VkQueryLowLatencySupportNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkQueryLowLatencySupportNV32 *in_ext = (const VkQueryLowLatencySupportNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV; + out_ext->pNext = NULL; + out_ext->pQueriedLowLatencyData = (void *)UlongToPtr(in_ext->pQueriedLowLatencyData); + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -19257,6 +19394,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: + { + VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT32 *in_ext = (const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->imageSlicedViewOf3D = in_ext->imageSlicedViewOf3D; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: { VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -19755,6 +19903,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: + { + VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM32 *in_ext = (const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM; + out_ext->pNext = NULL; + out_ext->multiviewPerViewRenderAreas = in_ext->multiviewPerViewRenderAreas; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -20866,6 +21025,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: + { + VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT); + const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *in_ext = (const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT; + out_ext->imageSlicedViewOf3D = in_ext->imageSlicedViewOf3D; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: { VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT); @@ -21276,6 +21444,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: + { + VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM); + const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *in_ext = (const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM; + out_ext->multiviewPerViewRenderAreas = in_ext->multiviewPerViewRenderAreas; + out_header = (void *)out_ext; + break; + } default: break; } @@ -22557,6 +22734,15 @@ static inline void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conv out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: + { + VkPhysicalDeviceShaderCorePropertiesARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM; + out_ext->pNext = NULL; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -23574,6 +23760,17 @@ static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhy out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: + { + VkPhysicalDeviceShaderCorePropertiesARM32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM); + const VkPhysicalDeviceShaderCorePropertiesARM *in_ext = (const VkPhysicalDeviceShaderCorePropertiesARM *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM; + out_ext->pixelRate = in_ext->pixelRate; + out_ext->texelRate = in_ext->texelRate; + out_ext->fmaRate = in_ext->fmaRate; + out_header = (void *)out_ext; + break; + } default: break; } @@ -29756,6 +29953,46 @@ static void thunk32_vkCmdSetDiscardRectangleEXT(void *args) wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->funcs.p_vkCmdSetDiscardRectangleEXT(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->command_buffer, params->firstDiscardRectangle, params->discardRectangleCount, (const VkRect2D *)UlongToPtr(params->pDiscardRectangles)); }
+#ifdef _WIN64 +static void thunk64_vkCmdSetDiscardRectangleEnableEXT(void *args) +{ + struct vkCmdSetDiscardRectangleEnableEXT_params *params = args; + + wine_cmd_buffer_from_handle(params->commandBuffer)->device->funcs.p_vkCmdSetDiscardRectangleEnableEXT(wine_cmd_buffer_from_handle(params->commandBuffer)->command_buffer, params->discardRectangleEnable); +} +#endif /* _WIN64 */ + +static void thunk32_vkCmdSetDiscardRectangleEnableEXT(void *args) +{ + struct + { + PTR32 commandBuffer; + VkBool32 discardRectangleEnable; + } *params = args; + + wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->funcs.p_vkCmdSetDiscardRectangleEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->command_buffer, params->discardRectangleEnable); +} + +#ifdef _WIN64 +static void thunk64_vkCmdSetDiscardRectangleModeEXT(void *args) +{ + struct vkCmdSetDiscardRectangleModeEXT_params *params = args; + + wine_cmd_buffer_from_handle(params->commandBuffer)->device->funcs.p_vkCmdSetDiscardRectangleModeEXT(wine_cmd_buffer_from_handle(params->commandBuffer)->command_buffer, params->discardRectangleMode); +} +#endif /* _WIN64 */ + +static void thunk32_vkCmdSetDiscardRectangleModeEXT(void *args) +{ + struct + { + PTR32 commandBuffer; + VkDiscardRectangleModeEXT discardRectangleMode; + } *params = args; + + wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->funcs.p_vkCmdSetDiscardRectangleModeEXT(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->command_buffer, params->discardRectangleMode); +} + #ifdef _WIN64 static void thunk64_vkCmdSetEvent(void *args) { @@ -29829,6 +30066,28 @@ static void thunk32_vkCmdSetEvent2KHR(void *args) free_conversion_context(&ctx); }
+#ifdef _WIN64 +static void thunk64_vkCmdSetExclusiveScissorEnableNV(void *args) +{ + struct vkCmdSetExclusiveScissorEnableNV_params *params = args; + + wine_cmd_buffer_from_handle(params->commandBuffer)->device->funcs.p_vkCmdSetExclusiveScissorEnableNV(wine_cmd_buffer_from_handle(params->commandBuffer)->command_buffer, params->firstExclusiveScissor, params->exclusiveScissorCount, params->pExclusiveScissorEnables); +} +#endif /* _WIN64 */ + +static void thunk32_vkCmdSetExclusiveScissorEnableNV(void *args) +{ + struct + { + PTR32 commandBuffer; + uint32_t firstExclusiveScissor; + uint32_t exclusiveScissorCount; + PTR32 pExclusiveScissorEnables; + } *params = args; + + wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->funcs.p_vkCmdSetExclusiveScissorEnableNV(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->command_buffer, params->firstExclusiveScissor, params->exclusiveScissorCount, (const VkBool32 *)UlongToPtr(params->pExclusiveScissorEnables)); +} + #ifdef _WIN64 static void thunk64_vkCmdSetExclusiveScissorNV(void *args) { @@ -40251,6 +40510,7 @@ static const char * const vk_device_extensions[] = "VK_AMD_texture_gather_bias_lod", "VK_ARM_rasterization_order_attachment_access", "VK_ARM_shader_core_builtins", + "VK_ARM_shader_core_properties", "VK_EXT_4444_formats", "VK_EXT_astc_decode_mode", "VK_EXT_attachment_feedback_loop_layout", @@ -40289,6 +40549,7 @@ static const char * const vk_device_extensions[] = "VK_EXT_image_compression_control", "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_robustness", + "VK_EXT_image_sliced_view_of_3d", "VK_EXT_image_view_min_lod", "VK_EXT_index_type_uint8", "VK_EXT_inline_uniform_block", @@ -40442,6 +40703,7 @@ static const char * const vk_device_extensions[] = "VK_NV_glsl_shader", "VK_NV_inherited_viewport_scissor", "VK_NV_linear_color_attachment", + "VK_NV_low_latency", "VK_NV_memory_decompression", "VK_NV_mesh_shader", "VK_NV_optical_flow", @@ -40460,6 +40722,7 @@ static const char * const vk_device_extensions[] = "VK_NV_viewport_swizzle", "VK_QCOM_fragment_density_map_offset", "VK_QCOM_image_processing", + "VK_QCOM_multiview_per_view_render_areas", "VK_QCOM_multiview_per_view_viewports", "VK_QCOM_render_pass_shader_resolve", "VK_QCOM_render_pass_store_ops", @@ -40706,9 +40969,12 @@ const unixlib_entry_t __wine_unix_call_funcs[] = (void *)thunk64_vkCmdSetDeviceMask, (void *)thunk64_vkCmdSetDeviceMaskKHR, (void *)thunk64_vkCmdSetDiscardRectangleEXT, + (void *)thunk64_vkCmdSetDiscardRectangleEnableEXT, + (void *)thunk64_vkCmdSetDiscardRectangleModeEXT, (void *)thunk64_vkCmdSetEvent, (void *)thunk64_vkCmdSetEvent2, (void *)thunk64_vkCmdSetEvent2KHR, + (void *)thunk64_vkCmdSetExclusiveScissorEnableNV, (void *)thunk64_vkCmdSetExclusiveScissorNV, (void *)thunk64_vkCmdSetExtraPrimitiveOverestimationSizeEXT, (void *)thunk64_vkCmdSetFragmentShadingRateEnumNV, @@ -41250,9 +41516,12 @@ const unixlib_entry_t __wine_unix_call_funcs[] = (void *)thunk32_vkCmdSetDeviceMask, (void *)thunk32_vkCmdSetDeviceMaskKHR, (void *)thunk32_vkCmdSetDiscardRectangleEXT, + (void *)thunk32_vkCmdSetDiscardRectangleEnableEXT, + (void *)thunk32_vkCmdSetDiscardRectangleModeEXT, (void *)thunk32_vkCmdSetEvent, (void *)thunk32_vkCmdSetEvent2, (void *)thunk32_vkCmdSetEvent2KHR, + (void *)thunk32_vkCmdSetExclusiveScissorEnableNV, (void *)thunk32_vkCmdSetExclusiveScissorNV, (void *)thunk32_vkCmdSetExtraPrimitiveOverestimationSizeEXT, (void *)thunk32_vkCmdSetFragmentShadingRateEnumNV, diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h index d7138af239f..865fbe3ff35 100644 --- a/dlls/winevulkan/vulkan_thunks.h +++ b/dlls/winevulkan/vulkan_thunks.h @@ -3,7 +3,7 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2022 The Khronos Group Inc. + * Copyright 2015-2023 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * @@ -233,9 +233,12 @@ struct vulkan_device_funcs void (*p_vkCmdSetDeviceMask)(VkCommandBuffer, uint32_t); void (*p_vkCmdSetDeviceMaskKHR)(VkCommandBuffer, uint32_t); void (*p_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *); + void (*p_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer, VkBool32); + void (*p_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer, VkDiscardRectangleModeEXT); void (*p_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags); void (*p_vkCmdSetEvent2)(VkCommandBuffer, VkEvent, const VkDependencyInfo *); void (*p_vkCmdSetEvent2KHR)(VkCommandBuffer, VkEvent, const VkDependencyInfo *); + void (*p_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer, uint32_t, uint32_t, const VkBool32 *); void (*p_vkCmdSetExclusiveScissorNV)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *); void (*p_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer, float); void (*p_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer, VkFragmentShadingRateNV, const VkFragmentShadingRateCombinerOpKHR[2]); @@ -761,9 +764,12 @@ struct vulkan_instance_funcs USE_VK_FUNC(vkCmdSetDeviceMask) \ USE_VK_FUNC(vkCmdSetDeviceMaskKHR) \ USE_VK_FUNC(vkCmdSetDiscardRectangleEXT) \ + USE_VK_FUNC(vkCmdSetDiscardRectangleEnableEXT) \ + USE_VK_FUNC(vkCmdSetDiscardRectangleModeEXT) \ USE_VK_FUNC(vkCmdSetEvent) \ USE_VK_FUNC(vkCmdSetEvent2) \ USE_VK_FUNC(vkCmdSetEvent2KHR) \ + USE_VK_FUNC(vkCmdSetExclusiveScissorEnableNV) \ USE_VK_FUNC(vkCmdSetExclusiveScissorNV) \ USE_VK_FUNC(vkCmdSetExtraPrimitiveOverestimationSizeEXT) \ USE_VK_FUNC(vkCmdSetFragmentShadingRateEnumNV) \ diff --git a/dlls/winevulkan/winevulkan.json b/dlls/winevulkan/winevulkan.json index 59cdf0d2611..532d21a3062 100644 --- a/dlls/winevulkan/winevulkan.json +++ b/dlls/winevulkan/winevulkan.json @@ -2,6 +2,6 @@ "file_format_version": "1.0.0", "ICD": { "library_path": ".\winevulkan.dll", - "api_version": "1.3.240" + "api_version": "1.3.242" } } diff --git a/dlls/winevulkan/winevulkan.spec b/dlls/winevulkan/winevulkan.spec index dceb3037700..e8b58b018e5 100644 --- a/dlls/winevulkan/winevulkan.spec +++ b/dlls/winevulkan/winevulkan.spec @@ -3,7 +3,7 @@ # This file is generated from Vulkan vk.xml file covered # by the following copyright and permission notice: # -# Copyright 2015-2022 The Khronos Group Inc. +# Copyright 2015-2023 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 OR MIT # @@ -172,6 +172,7 @@ @ stdcall vkGetBufferMemoryRequirements(ptr int64 ptr) @ stdcall vkGetBufferMemoryRequirements2(ptr ptr ptr) @ stdcall vkGetBufferOpaqueCaptureAddress(ptr ptr) +@ stub vkGetCommandPoolMemoryConsumption @ stdcall vkGetDescriptorSetLayoutSupport(ptr ptr ptr) @ stdcall vkGetDeviceBufferMemoryRequirements(ptr ptr ptr) @ stdcall vkGetDeviceGroupPeerMemoryFeatures(ptr long long long ptr) @@ -188,6 +189,7 @@ @ stub vkGetDisplayPlaneCapabilitiesKHR @ stub vkGetDisplayPlaneSupportedDisplaysKHR @ stdcall vkGetEventStatus(ptr int64) +@ stub vkGetFaultData @ stdcall vkGetFenceStatus(ptr int64) @ stdcall vkGetImageMemoryRequirements(ptr int64 ptr) @ stdcall vkGetImageMemoryRequirements2(ptr ptr ptr) diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index d2c505c382d..205126f2e75 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -3,7 +3,7 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2022 The Khronos Group Inc. + * Copyright 2015-2023 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * @@ -44,6 +44,7 @@ #define VK_LOD_CLAMP_NONE 1000.0F #define VK_REMAINING_MIP_LEVELS (~0U) #define VK_REMAINING_ARRAY_LAYERS (~0U) +#define VK_REMAINING_3D_SLICES_EXT (~0U) #define VK_WHOLE_SIZE (~0ULL) #define VK_ATTACHMENT_UNUSED (~0U) #define VK_TRUE 1 @@ -178,7 +179,7 @@ #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" -#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 +#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" @@ -318,7 +319,7 @@ #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" -#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 +#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" @@ -442,6 +443,8 @@ #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" +#define VK_NV_LOW_LATENCY_SPEC_VERSION 1 +#define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 @@ -534,6 +537,10 @@ #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" +#define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 +#define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" +#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 +#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 @@ -578,6 +585,8 @@ #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" +#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 +#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 @@ -588,21 +597,23 @@ #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader"
#define VK_MAKE_VERSION(major, minor, patch) \ - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) -#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) -#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) +#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) +#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ - ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) -#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) -#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) -#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) +#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) +#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) +#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) +#define VKSC_API_VARIANT 1 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0) #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0) #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0) #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0) -#define VK_HEADER_VERSION 240 +#define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0) +#define VK_HEADER_VERSION 242 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; #define VK_USE_64_BIT_PTR_DEFINES 0 @@ -801,6 +812,7 @@ typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; typedef VkFlags VkPipelineCacheCreateFlags; typedef VkFlags VkPipelineColorBlendStateCreateFlags; +typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; @@ -809,6 +821,7 @@ typedef VkFlags VkPipelineCreateFlags; typedef VkFlags VkPipelineCreationFeedbackFlags; typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; typedef VkFlags VkPipelineDepthStencilStateCreateFlags; +typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; typedef VkFlags VkPipelineDynamicStateCreateFlags; typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; @@ -835,6 +848,7 @@ typedef VkFlags VkQueryPipelineStatisticFlags; typedef VkFlags VkQueryPoolCreateFlags; typedef VkFlags VkQueryResultFlags; typedef VkFlags VkQueueFlags; +typedef VkFlags VkRefreshObjectFlagsKHR; typedef VkFlags VkRenderPassCreateFlags; typedef VkFlags VkRenderingFlags; typedef VkRenderingFlags VkRenderingFlagsKHR; @@ -1737,9 +1751,12 @@ typedef enum VkDynamicState VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, + VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, @@ -3911,6 +3928,7 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, + VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR = 1000116007, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, @@ -4155,6 +4173,7 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, + VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, @@ -4276,6 +4295,9 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, @@ -4320,6 +4342,8 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, + VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, @@ -6286,6 +6310,14 @@ typedef struct VkImageViewMinLodCreateInfoEXT float minLod; } VkImageViewMinLodCreateInfoEXT;
+typedef struct VkImageViewSlicedCreateInfoEXT +{ + VkStructureType sType; + const void *pNext; + uint32_t sliceOffset; + uint32_t sliceCount; +} VkImageViewSlicedCreateInfoEXT; + typedef struct VkImageViewUsageCreateInfo { VkStructureType sType; @@ -6695,6 +6727,13 @@ typedef struct VkPerformanceOverrideInfoINTEL uint64_t WINE_VK_ALIGN(8) parameter; } VkPerformanceOverrideInfoINTEL;
+typedef struct VkPerformanceQueryReservationInfoKHR +{ + VkStructureType sType; + const void *pNext; + uint32_t maxPerformanceQueriesPerPool; +} VkPerformanceQueryReservationInfoKHR; + typedef struct VkPerformanceQuerySubmitInfoKHR { VkStructureType sType; @@ -7630,6 +7669,13 @@ typedef struct VkPhysicalDeviceImageRobustnessFeatures } VkPhysicalDeviceImageRobustnessFeatures; typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT;
+typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT +{ + VkStructureType sType; + void *pNext; + VkBool32 imageSlicedViewOf3D; +} VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; + typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { VkStructureType sType; @@ -8011,6 +8057,13 @@ typedef struct VkPhysicalDeviceMultiviewFeatures } VkPhysicalDeviceMultiviewFeatures; typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
+typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM +{ + VkStructureType sType; + void *pNext; + VkBool32 multiviewPerViewRenderAreas; +} VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; + typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { VkStructureType sType; @@ -8517,6 +8570,15 @@ typedef struct VkPhysicalDeviceShaderCorePropertiesAMD uint32_t vgprAllocationGranularity; } VkPhysicalDeviceShaderCorePropertiesAMD;
+typedef struct VkPhysicalDeviceShaderCorePropertiesARM +{ + VkStructureType sType; + void *pNext; + uint32_t pixelRate; + uint32_t texelRate; + uint32_t fmaRate; +} VkPhysicalDeviceShaderCorePropertiesARM; + typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { VkStructureType sType; @@ -9577,6 +9639,13 @@ typedef struct VkPushConstantRange uint32_t size; } VkPushConstantRange;
+typedef struct VkQueryLowLatencySupportNV +{ + VkStructureType sType; + const void *pNext; + void *pQueriedLowLatencyData; +} VkQueryLowLatencySupportNV; + typedef struct VkQueryPoolCreateInfo { VkStructureType sType; @@ -11129,6 +11198,14 @@ typedef struct VkMicromapBuildInfoEXT VkDeviceSize WINE_VK_ALIGN(8) triangleArrayStride; } VkMicromapBuildInfoEXT;
+typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM +{ + VkStructureType sType; + const void *pNext; + uint32_t perViewRenderAreaCount; + const VkRect2D *pPerViewRenderAreas; +} VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; + typedef struct VkMutableDescriptorTypeCreateInfoEXT { VkStructureType sType; @@ -11796,9 +11873,12 @@ typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer, uint32_t); typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer, uint32_t); typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *); +typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer, VkBool32); +typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer, VkDiscardRectangleModeEXT); typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags); typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer, VkEvent, const VkDependencyInfo *); typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer, VkEvent, const VkDependencyInfo *); +typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer, uint32_t, uint32_t, const VkBool32 *); typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *); typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer, float); typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer, VkFragmentShadingRateNV, const VkFragmentShadingRateCombinerOpKHR[2]); @@ -12333,9 +12413,12 @@ void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT(VkCommandBuffer commandBuffer void VKAPI_CALL vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask); void VKAPI_CALL vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer, uint32_t deviceMask); void VKAPI_CALL vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D *pDiscardRectangles); +void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); +void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); void VKAPI_CALL vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); void VKAPI_CALL vkCmdSetEvent2(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo *pDependencyInfo); void VKAPI_CALL vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo *pDependencyInfo); +void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32 *pExclusiveScissorEnables); void VKAPI_CALL vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D *pExclusiveScissors); void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); diff --git a/include/wine/vulkan_driver.h b/include/wine/vulkan_driver.h index f5269d554fb..a3395305499 100644 --- a/include/wine/vulkan_driver.h +++ b/include/wine/vulkan_driver.h @@ -3,7 +3,7 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2022 The Khronos Group Inc. + * Copyright 2015-2023 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT *