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 *