From: Georg Lehmann <dadschoorse@gmail.com> The function pointer schema was changed. --- dlls/vulkan-1/vulkan-1.spec | 4 +- dlls/winevulkan/loader_thunks.c | 13 +- dlls/winevulkan/loader_thunks.h | 11 +- dlls/winevulkan/make_vulkan | 23 +++- dlls/winevulkan/vulkan_thunks.c | 227 ++++++++++++++++++++++++++++++-- dlls/winevulkan/vulkan_thunks.h | 4 +- dlls/winevulkan/winevulkan.json | 2 +- dlls/winevulkan/winevulkan.spec | 4 +- include/wine/vulkan.h | 102 ++++++++++++-- 9 files changed, 357 insertions(+), 33 deletions(-) diff --git a/dlls/vulkan-1/vulkan-1.spec b/dlls/vulkan-1/vulkan-1.spec index b4601d86e57..7a49ad30a7a 100644 --- a/dlls/vulkan-1/vulkan-1.spec +++ b/dlls/vulkan-1/vulkan-1.spec @@ -3,14 +3,14 @@ # This file is generated from Vulkan vk.xml file covered # by the following copyright and permission notice: # -# Copyright 2015-2025 The Khronos Group Inc. +# Copyright 2015-2026 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 OR MIT # # and from Vulkan video.xml file covered # by the following copyright and permission notice: # -# Copyright 2021-2025 The Khronos Group Inc. +# Copyright 2021-2026 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 OR MIT # diff --git a/dlls/winevulkan/loader_thunks.c b/dlls/winevulkan/loader_thunks.c index a7daff6b0ff..a09419d2663 100644 --- a/dlls/winevulkan/loader_thunks.c +++ b/dlls/winevulkan/loader_thunks.c @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2025 The Khronos Group Inc. + * Copyright 2015-2026 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2025 The Khronos Group Inc. + * Copyright 2021-2026 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ @@ -1871,6 +1871,14 @@ void WINAPI vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t fi UNIX_CALL(vkCmdSetColorWriteMaskEXT, ¶ms); } +void WINAPI vkCmdSetComputeOccupancyPriorityNV(VkCommandBuffer commandBuffer, const VkComputeOccupancyPriorityParametersNV *pParameters) +{ + struct vkCmdSetComputeOccupancyPriorityNV_params params; + params.commandBuffer = commandBuffer; + params.pParameters = pParameters; + UNIX_CALL(vkCmdSetComputeOccupancyPriorityNV, ¶ms); +} + void WINAPI vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode) { struct vkCmdSetConservativeRasterizationModeEXT_params params; @@ -7389,6 +7397,7 @@ static const struct vulkan_func vk_device_dispatch_table[] = {"vkCmdSetColorBlendEquationEXT", vkCmdSetColorBlendEquationEXT}, {"vkCmdSetColorWriteEnableEXT", vkCmdSetColorWriteEnableEXT}, {"vkCmdSetColorWriteMaskEXT", vkCmdSetColorWriteMaskEXT}, + {"vkCmdSetComputeOccupancyPriorityNV", vkCmdSetComputeOccupancyPriorityNV}, {"vkCmdSetConservativeRasterizationModeEXT", vkCmdSetConservativeRasterizationModeEXT}, {"vkCmdSetCoverageModulationModeNV", vkCmdSetCoverageModulationModeNV}, {"vkCmdSetCoverageModulationTableEnableNV", vkCmdSetCoverageModulationTableEnableNV}, diff --git a/dlls/winevulkan/loader_thunks.h b/dlls/winevulkan/loader_thunks.h index 574cd3380bb..a886dfa6430 100644 --- a/dlls/winevulkan/loader_thunks.h +++ b/dlls/winevulkan/loader_thunks.h @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2025 The Khronos Group Inc. + * Copyright 2015-2026 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2025 The Khronos Group Inc. + * Copyright 2021-2026 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ @@ -210,6 +210,7 @@ enum unix_call unix_vkCmdSetColorBlendEquationEXT, unix_vkCmdSetColorWriteEnableEXT, unix_vkCmdSetColorWriteMaskEXT, + unix_vkCmdSetComputeOccupancyPriorityNV, unix_vkCmdSetConservativeRasterizationModeEXT, unix_vkCmdSetCoverageModulationModeNV, unix_vkCmdSetCoverageModulationTableEnableNV, @@ -2143,6 +2144,12 @@ struct vkCmdSetColorWriteMaskEXT_params const VkColorComponentFlags *pColorWriteMasks; }; +struct vkCmdSetComputeOccupancyPriorityNV_params +{ + VkCommandBuffer commandBuffer; + const VkComputeOccupancyPriorityParametersNV *pParameters; +}; + struct vkCmdSetConservativeRasterizationModeEXT_params { VkCommandBuffer commandBuffer; diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index c409c7b278a..fa8d43e10e6 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -64,7 +64,7 @@ from enum import Enum LOGGER = logging.Logger("vulkan") LOGGER.addHandler(logging.StreamHandler()) -VK_XML_VERSION = "1.4.335" +VK_XML_VERSION = "1.4.339" # Filenames to create. WINE_VULKAN_H = "../../include/wine/vulkan.h" @@ -920,10 +920,20 @@ class FunctionPointer(object): @staticmethod def from_xml(xml): - value = innertext(xml).replace('\n', '') - value = re.sub(r'\s*//.*$', '', value, flags=re.M) - value = re.sub(r'\s+', ' ', value, flags=re.M) - return FunctionPointer(value.strip()) + proto = xml.find("proto") + name = proto.find("name").text + return_type = " ".join(innertext(proto).replace(name, "").split()) + + params = [" ".join(innertext(p).split()) for p in xml.findall("param")] + + value = "typedef {} (VKAPI_PTR *{})(".format(return_type, name) + if params: + value += ", ".join(params) + else: + value += "void" + value += ");" + + return FunctionPointer(value) def definition(self): return self.value + '\n' @@ -3248,8 +3258,11 @@ class Generator(object): # Name is in general within a name tag else it is an optional # attribute on the type tag. name_elem = t.find("name") + proto_elm = t.find("proto") if name_elem is not None: type_info["name"] = name_elem.text + elif proto_elm is not None: + type_info["name"] = proto_elm.find("name").text else: type_info["name"] = t.attrib.get("name", None) diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index b7ae0b562d1..f12789ac380 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2025 The Khronos Group Inc. + * Copyright 2015-2026 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2025 The Khronos Group Inc. + * Copyright 2021-2026 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ @@ -2207,6 +2207,14 @@ typedef struct VkCommandPoolCreateInfo32 uint32_t queueFamilyIndex; } VkCommandPoolCreateInfo32; +typedef struct VkComputeOccupancyPriorityParametersNV32 +{ + VkStructureType sType; + PTR32 pNext; + float occupancyPriority; + float occupancyThrottling; +} VkComputeOccupancyPriorityParametersNV32; + typedef struct VkComputePipelineCreateInfo32 { VkStructureType sType; @@ -4448,6 +4456,13 @@ typedef struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV32 VkBool32 commandBufferInheritance; } VkPhysicalDeviceCommandBufferInheritanceFeaturesNV32; +typedef struct VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 computeOccupancyPriority; +} VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV32; + typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR32 { VkStructureType sType; @@ -6750,6 +6765,20 @@ typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32 VkBool32 shaderIntegerFunctions2; } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32; +typedef struct VkPhysicalDeviceShaderLongVectorFeaturesEXT32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 longVector; +} VkPhysicalDeviceShaderLongVectorFeaturesEXT32; + +typedef struct VkPhysicalDeviceShaderLongVectorPropertiesEXT32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t maxVectorComponents; +} VkPhysicalDeviceShaderLongVectorPropertiesEXT32; + typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR32 { VkStructureType sType; @@ -7038,6 +7067,13 @@ typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties32 } VkPhysicalDeviceTexelBufferAlignmentProperties32; typedef VkPhysicalDeviceTexelBufferAlignmentProperties32 VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT32; +typedef struct VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 textureCompressionASTC_3D; +} VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT32; + typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures32 { VkStructureType sType; @@ -15100,6 +15136,18 @@ static const VkCoarseSampleOrderCustomNV *convert_VkCoarseSampleOrderCustomNV_ar return out; } +static void convert_VkComputeOccupancyPriorityParametersNV_win32_to_host(const VkComputeOccupancyPriorityParametersNV32 *in, VkComputeOccupancyPriorityParametersNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->occupancyPriority = in->occupancyPriority; + out->occupancyThrottling = in->occupancyThrottling; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + static void convert_VkDepthBiasInfoEXT_win32_to_host(struct conversion_context *ctx, const VkDepthBiasInfoEXT32 *in, VkDepthBiasInfoEXT *out) { const VkBaseInStructure32 *in_header; @@ -17362,6 +17410,17 @@ static void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_context * out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + { + VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *in_ext = (const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->computeOccupancyPriority = in_ext->computeOccupancyPriority; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR: { VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -19276,6 +19335,17 @@ static void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_context * out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + { + VkPhysicalDeviceShaderLongVectorFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceShaderLongVectorFeaturesEXT *in_ext = (const VkPhysicalDeviceShaderLongVectorFeaturesEXT *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->longVector = in_ext->longVector; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -19528,6 +19598,17 @@ static void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_context * out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + { + VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *in_ext = (const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->textureCompressionASTC_3D = in_ext->textureCompressionASTC_3D; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { VkPhysicalDeviceTextureCompressionASTCHDRFeatures *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -20379,6 +20460,17 @@ static void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_context * out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + { + VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV32 *in_ext = (const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->computeOccupancyPriority = in_ext->computeOccupancyPriority; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR: { VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -22293,6 +22385,17 @@ static void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_context * out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + { + VkPhysicalDeviceShaderLongVectorFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceShaderLongVectorFeaturesEXT32 *in_ext = (const VkPhysicalDeviceShaderLongVectorFeaturesEXT32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->longVector = in_ext->longVector; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -22545,6 +22648,17 @@ static void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_context * out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + { + VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT32 *in_ext = (const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->textureCompressionASTC_3D = in_ext->textureCompressionASTC_3D; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { VkPhysicalDeviceTextureCompressionASTCHDRFeatures *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -28485,9 +28599,6 @@ static void convert_VkDataGraphPipelineSessionBindPointRequirementARM_win32_to_h out->sType = in->sType; out->pNext = NULL; - out->bindPoint = in->bindPoint; - out->bindPointType = in->bindPointType; - out->numObjects = in->numObjects; if (in->pNext) FIXME("Unexpected pNext\n"); } @@ -30426,6 +30537,17 @@ static void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + { + VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV32 *in_ext = (const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->computeOccupancyPriority = in_ext->computeOccupancyPriority; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR: { VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -32329,6 +32451,17 @@ static void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + { + VkPhysicalDeviceShaderLongVectorFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceShaderLongVectorFeaturesEXT32 *in_ext = (const VkPhysicalDeviceShaderLongVectorFeaturesEXT32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->longVector = in_ext->longVector; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -32581,6 +32714,17 @@ static void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + { + VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT32 *in_ext = (const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT; + out_ext->pNext = NULL; + out_ext->textureCompressionASTC_3D = in_ext->textureCompressionASTC_3D; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { VkPhysicalDeviceTextureCompressionASTCHDRFeatures *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -33211,6 +33355,15 @@ static void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysicalDevi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + { + VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV); + const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *in_ext = (const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV; + out_ext->computeOccupancyPriority = in_ext->computeOccupancyPriority; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR: { VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR); @@ -34796,6 +34949,15 @@ static void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysicalDevi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + { + VkPhysicalDeviceShaderLongVectorFeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT); + const VkPhysicalDeviceShaderLongVectorFeaturesEXT *in_ext = (const VkPhysicalDeviceShaderLongVectorFeaturesEXT *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT; + out_ext->longVector = in_ext->longVector; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR); @@ -35004,6 +35166,15 @@ static void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysicalDevi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + { + VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT); + const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *in_ext = (const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT; + out_ext->textureCompressionASTC_3D = in_ext->textureCompressionASTC_3D; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { VkPhysicalDeviceTextureCompressionASTCHDRFeatures32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES); @@ -36986,6 +37157,15 @@ static void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conversion_ out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + { + VkPhysicalDeviceShaderLongVectorPropertiesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT; + out_ext->pNext = NULL; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: { VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -38276,6 +38456,15 @@ static void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhysicalDe out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + { + VkPhysicalDeviceShaderLongVectorPropertiesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT); + const VkPhysicalDeviceShaderLongVectorPropertiesEXT *in_ext = (const VkPhysicalDeviceShaderLongVectorPropertiesEXT *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT; + out_ext->maxVectorComponents = in_ext->maxVectorComponents; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: { VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT); @@ -38654,8 +38843,6 @@ static void convert_VkQueueFamilyDataGraphProcessingEnginePropertiesARM_win32_to out->sType = in->sType; out->pNext = NULL; - out->foreignSemaphoreHandleTypes = in->foreignSemaphoreHandleTypes; - out->foreignMemoryHandleTypes = in->foreignMemoryHandleTypes; if (in->pNext) FIXME("Unexpected pNext\n"); } @@ -38674,8 +38861,6 @@ static void convert_VkQueueFamilyDataGraphPropertiesARM_win32_to_host(const VkQu out->sType = in->sType; out->pNext = NULL; - out->engine = in->engine; - out->operation = in->operation; if (in->pNext) FIXME("Unexpected pNext\n"); } @@ -47662,6 +47847,28 @@ static void thunk32_vkCmdSetColorWriteMaskEXT(void *args) vulkan_command_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->p_vkCmdSetColorWriteMaskEXT(vulkan_command_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->host.command_buffer, params->firstAttachment, params->attachmentCount, (const VkColorComponentFlags *)UlongToPtr(params->pColorWriteMasks)); } +#ifdef _WIN64 +static void thunk64_vkCmdSetComputeOccupancyPriorityNV(void *args) +{ + struct vkCmdSetComputeOccupancyPriorityNV_params *params = args; + + vulkan_command_buffer_from_handle(params->commandBuffer)->device->p_vkCmdSetComputeOccupancyPriorityNV(vulkan_command_buffer_from_handle(params->commandBuffer)->host.command_buffer, params->pParameters); +} +#endif /* _WIN64 */ + +static void thunk32_vkCmdSetComputeOccupancyPriorityNV(void *args) +{ + struct + { + PTR32 commandBuffer; + PTR32 pParameters; + } *params = args; + VkComputeOccupancyPriorityParametersNV pParameters_host; + + convert_VkComputeOccupancyPriorityParametersNV_win32_to_host((const VkComputeOccupancyPriorityParametersNV32 *)UlongToPtr(params->pParameters), &pParameters_host); + vulkan_command_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->p_vkCmdSetComputeOccupancyPriorityNV(vulkan_command_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->host.command_buffer, &pParameters_host); +} + #ifdef _WIN64 static void thunk64_vkCmdSetConservativeRasterizationModeEXT(void *args) { @@ -62379,6 +62586,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = (void *)thunk64_vkCmdSetColorBlendEquationEXT, (void *)thunk64_vkCmdSetColorWriteEnableEXT, (void *)thunk64_vkCmdSetColorWriteMaskEXT, + (void *)thunk64_vkCmdSetComputeOccupancyPriorityNV, (void *)thunk64_vkCmdSetConservativeRasterizationModeEXT, (void *)thunk64_vkCmdSetCoverageModulationModeNV, (void *)thunk64_vkCmdSetCoverageModulationTableEnableNV, @@ -63064,6 +63272,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = (void *)thunk32_vkCmdSetColorBlendEquationEXT, (void *)thunk32_vkCmdSetColorWriteEnableEXT, (void *)thunk32_vkCmdSetColorWriteMaskEXT, + (void *)thunk32_vkCmdSetComputeOccupancyPriorityNV, (void *)thunk32_vkCmdSetConservativeRasterizationModeEXT, (void *)thunk32_vkCmdSetCoverageModulationModeNV, (void *)thunk32_vkCmdSetCoverageModulationTableEnableNV, diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h index cf07f953eff..730283818a2 100644 --- a/dlls/winevulkan/vulkan_thunks.h +++ b/dlls/winevulkan/vulkan_thunks.h @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2025 The Khronos Group Inc. + * Copyright 2015-2026 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2025 The Khronos Group Inc. + * Copyright 2021-2026 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ diff --git a/dlls/winevulkan/winevulkan.json b/dlls/winevulkan/winevulkan.json index 796b3a58b16..23c35331e5a 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.4.335" + "api_version": "1.4.339" } } diff --git a/dlls/winevulkan/winevulkan.spec b/dlls/winevulkan/winevulkan.spec index b60dbb70276..a565652509e 100644 --- a/dlls/winevulkan/winevulkan.spec +++ b/dlls/winevulkan/winevulkan.spec @@ -3,14 +3,14 @@ # This file is generated from Vulkan vk.xml file covered # by the following copyright and permission notice: # -# Copyright 2015-2025 The Khronos Group Inc. +# Copyright 2015-2026 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 OR MIT # # and from Vulkan video.xml file covered # by the following copyright and permission notice: # -# Copyright 2021-2025 The Khronos Group Inc. +# Copyright 2021-2026 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 OR MIT # diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index 2d3cd9ce526..4b6052ebe9f 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2025 The Khronos Group Inc. + * Copyright 2015-2026 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2025 The Khronos Group Inc. + * Copyright 2021-2026 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ @@ -78,6 +78,9 @@ typedef struct _XDisplay Display; #define VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_STRIDE_AMDX 128 #define VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM 128 #define VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM 3 +#define VK_COMPUTE_OCCUPANCY_PRIORITY_LOW_NV 0.25f +#define VK_COMPUTE_OCCUPANCY_PRIORITY_NORMAL_NV 0.50f +#define VK_COMPUTE_OCCUPANCY_PRIORITY_HIGH_NV 0.75f #define VK_KHR_SURFACE_SPEC_VERSION 25 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 @@ -501,6 +504,8 @@ typedef struct _XDisplay Display; #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" +#define VK_EXT_TEXTURE_COMPRESSION_ASTC_3D_SPEC_VERSION 1 +#define VK_EXT_TEXTURE_COMPRESSION_ASTC_3D_EXTENSION_NAME "VK_EXT_texture_compression_astc_3d" #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 @@ -854,10 +859,14 @@ typedef struct _XDisplay Display; #define VK_QCOM_DATA_GRAPH_MODEL_EXTENSION_NAME "VK_QCOM_data_graph_model" #define VK_KHR_MAINTENANCE_10_SPEC_VERSION 1 #define VK_KHR_MAINTENANCE_10_EXTENSION_NAME "VK_KHR_maintenance10" +#define VK_EXT_SHADER_LONG_VECTOR_SPEC_VERSION 1 +#define VK_EXT_SHADER_LONG_VECTOR_EXTENSION_NAME "VK_EXT_shader_long_vector" #define VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_SPEC_VERSION 1 #define VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_EXTENSION_NAME "VK_SEC_pipeline_cache_incremental_mode" #define VK_EXT_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_SPEC_VERSION 1 #define VK_EXT_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_EXTENSION_NAME "VK_EXT_shader_uniform_buffer_unsized_array" +#define VK_NV_COMPUTE_OCCUPANCY_PRIORITY_SPEC_VERSION 1 +#define VK_NV_COMPUTE_OCCUPANCY_PRIORITY_EXTENSION_NAME "VK_NV_compute_occupancy_priority" #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16 @@ -954,7 +963,7 @@ typedef struct _XDisplay Display; #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0) #define VK_API_VERSION_1_4 VK_MAKE_API_VERSION(0, 1, 4, 0) #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0) -#define VK_HEADER_VERSION 335 +#define VK_HEADER_VERSION 339 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; #define VK_USE_64_BIT_PTR_DEFINES 0 @@ -3356,6 +3365,36 @@ typedef enum VkFormat VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, + VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT = 1000288000, + VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT = 1000288001, + VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT = 1000288002, + VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT = 1000288003, + VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT = 1000288004, + VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT = 1000288005, + VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT = 1000288006, + VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT = 1000288007, + VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT = 1000288008, + VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT = 1000288009, + VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT = 1000288010, + VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT = 1000288011, + VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT = 1000288012, + VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT = 1000288013, + VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT = 1000288014, + VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT = 1000288015, + VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT = 1000288016, + VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT = 1000288017, + VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT = 1000288018, + VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT = 1000288019, + VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT = 1000288020, + VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT = 1000288021, + VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT = 1000288022, + VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT = 1000288023, + VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT = 1000288024, + VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT = 1000288025, + VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT = 1000288026, + VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT = 1000288027, + VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT = 1000288028, + VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT = 1000288029, VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, @@ -5881,6 +5920,7 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT = 1000288000, VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, @@ -6364,8 +6404,12 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR = 1000630001, VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR = 1000630002, VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR = 1000630004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT = 1000635000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT = 1000635001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC = 1000637000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT = 1000642000, + VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV = 1000645000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV = 1000645001, VK_STRUCTURE_TYPE_MAX_ENUM = 0x7fffffff, 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, @@ -7162,7 +7206,7 @@ typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( VkDebugUtils 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_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); @@ -11166,6 +11210,14 @@ typedef struct VkCommandPoolCreateInfo uint32_t queueFamilyIndex; } VkCommandPoolCreateInfo; +typedef struct VkComputeOccupancyPriorityParametersNV +{ + VkStructureType sType; + const void *pNext; + float occupancyPriority; + float occupancyThrottling; +} VkComputeOccupancyPriorityParametersNV; + typedef struct VkComputePipelineCreateInfo { VkStructureType sType; @@ -11601,7 +11653,7 @@ typedef struct VkDataGraphPipelineInfoARM typedef struct VkDataGraphPipelinePropertyQueryResultARM { VkStructureType sType; - const void *pNext; + void *pNext; VkDataGraphPipelinePropertyARM property; VkBool32 isText; size_t dataSize; @@ -11611,7 +11663,7 @@ typedef struct VkDataGraphPipelinePropertyQueryResultARM typedef struct VkDataGraphPipelineSessionBindPointRequirementARM { VkStructureType sType; - const void *pNext; + void *pNext; VkDataGraphPipelineSessionBindPointARM bindPoint; VkDataGraphPipelineSessionBindPointTypeARM bindPointType; uint32_t numObjects; @@ -13726,6 +13778,13 @@ typedef struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV VkBool32 commandBufferInheritance; } VkPhysicalDeviceCommandBufferInheritanceFeaturesNV; +typedef struct VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV +{ + VkStructureType sType; + void *pNext; + VkBool32 computeOccupancyPriority; +} VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV; + typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR { VkStructureType sType; @@ -16055,6 +16114,20 @@ typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL VkBool32 shaderIntegerFunctions2; } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; +typedef struct VkPhysicalDeviceShaderLongVectorFeaturesEXT +{ + VkStructureType sType; + void *pNext; + VkBool32 longVector; +} VkPhysicalDeviceShaderLongVectorFeaturesEXT; + +typedef struct VkPhysicalDeviceShaderLongVectorPropertiesEXT +{ + VkStructureType sType; + void *pNext; + uint32_t maxVectorComponents; +} VkPhysicalDeviceShaderLongVectorPropertiesEXT; + typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { VkStructureType sType; @@ -16343,6 +16416,13 @@ typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties } VkPhysicalDeviceTexelBufferAlignmentProperties; typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; +typedef struct VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT +{ + VkStructureType sType; + void *pNext; + VkBool32 textureCompressionASTC_3D; +} VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT; + typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { VkStructureType sType; @@ -17470,7 +17550,7 @@ typedef struct VkQueueFamilyCheckpointPropertiesNV typedef struct VkQueueFamilyDataGraphProcessingEnginePropertiesARM { VkStructureType sType; - const void *pNext; + void *pNext; VkExternalSemaphoreHandleTypeFlags foreignSemaphoreHandleTypes; VkExternalMemoryHandleTypeFlags foreignMemoryHandleTypes; } VkQueueFamilyDataGraphProcessingEnginePropertiesARM; @@ -17478,7 +17558,7 @@ typedef struct VkQueueFamilyDataGraphProcessingEnginePropertiesARM typedef struct VkQueueFamilyDataGraphPropertiesARM { VkStructureType sType; - const void *pNext; + void *pNext; VkPhysicalDeviceDataGraphProcessingEngineARM engine; VkPhysicalDeviceDataGraphOperationSupportARM operation; } VkQueueFamilyDataGraphPropertiesARM; @@ -19467,6 +19547,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer comman typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT *pColorBlendEquations); typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 *pColorWriteEnables); typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags *pColorWriteMasks); +typedef void (VKAPI_PTR *PFN_vkCmdSetComputeOccupancyPriorityNV)(VkCommandBuffer commandBuffer, const VkComputeOccupancyPriorityParametersNV *pParameters); typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); @@ -20159,6 +20240,7 @@ void VKAPI_CALL vkCmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer, uint3 void VKAPI_CALL vkCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT *pColorBlendEquations); void VKAPI_CALL vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 *pColorWriteEnables); void VKAPI_CALL vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags *pColorWriteMasks); +void VKAPI_CALL vkCmdSetComputeOccupancyPriorityNV(VkCommandBuffer commandBuffer, const VkComputeOccupancyPriorityParametersNV *pParameters); void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); void VKAPI_CALL vkCmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); @@ -20852,6 +20934,7 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_FUNC(vkCmdSetColorBlendEquationEXT) \ USE_VK_FUNC(vkCmdSetColorWriteEnableEXT) \ USE_VK_FUNC(vkCmdSetColorWriteMaskEXT) \ + USE_VK_FUNC(vkCmdSetComputeOccupancyPriorityNV) \ USE_VK_FUNC(vkCmdSetConservativeRasterizationModeEXT) \ USE_VK_FUNC(vkCmdSetCoverageModulationModeNV) \ USE_VK_FUNC(vkCmdSetCoverageModulationTableEnableNV) \ @@ -21400,6 +21483,7 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_EXT(VK_EXT_shader_demote_to_helper_invocation) \ USE_VK_EXT(VK_EXT_shader_float8) \ USE_VK_EXT(VK_EXT_shader_image_atomic_int64) \ + USE_VK_EXT(VK_EXT_shader_long_vector) \ USE_VK_EXT(VK_EXT_shader_module_identifier) \ USE_VK_EXT(VK_EXT_shader_object) \ USE_VK_EXT(VK_EXT_shader_replicated_composites) \ @@ -21413,6 +21497,7 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_EXT(VK_EXT_subpass_merge_feedback) \ USE_VK_EXT(VK_EXT_swapchain_maintenance1) \ USE_VK_EXT(VK_EXT_texel_buffer_alignment) \ + USE_VK_EXT(VK_EXT_texture_compression_astc_3d) \ USE_VK_EXT(VK_EXT_texture_compression_astc_hdr) \ USE_VK_EXT(VK_EXT_tooling_info) \ USE_VK_EXT(VK_EXT_transform_feedback) \ @@ -21556,6 +21641,7 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_EXT(VK_NV_clip_space_w_scaling) \ USE_VK_EXT(VK_NV_cluster_acceleration_structure) \ USE_VK_EXT(VK_NV_command_buffer_inheritance) \ + USE_VK_EXT(VK_NV_compute_occupancy_priority) \ USE_VK_EXT(VK_NV_compute_shader_derivatives) \ USE_VK_EXT(VK_NV_cooperative_matrix) \ USE_VK_EXT(VK_NV_cooperative_matrix2) \ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9954