From: Georg Lehmann dadschoorse@gmail.com
Signed-off-by: Georg Lehmann dadschoorse@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org --- dlls/winevulkan/make_vulkan | 3 ++- dlls/winevulkan/vulkan_thunks.c | 17 +++++++++++++ dlls/winevulkan/winevulkan.json | 2 +- include/wine/vulkan.h | 44 +++++++++++++++++++++++++++------ 4 files changed, 56 insertions(+), 10 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index b031492fbfd..69e2f0cd256 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.3.215" +VK_XML_VERSION = "1.3.217" WINE_VK_VERSION = (1, 3)
# Filenames to create. @@ -107,6 +107,7 @@ UNSUPPORTED_EXTENSIONS = [ # Extensions for other platforms "VK_EXT_external_memory_dma_buf", "VK_EXT_image_drm_format_modifier", + "VK_EXT_metal_objects", "VK_EXT_physical_device_drm", "VK_GOOGLE_surfaceless_query", "VK_KHR_external_fence_fd", diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index 68fd1aa0449..c3df8357431 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -4954,6 +4954,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea break; }
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: + { + const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *in = (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)in_header; + VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *out; + + if (!(out = malloc(sizeof(*out)))) goto out_of_memory; + + out->sType = in->sType; + out->pNext = NULL; + out->nonSeamlessCubeMap = in->nonSeamlessCubeMap; + + out_header->pNext = (VkBaseOutStructure *)out; + out_header = out_header->pNext; + break; + } + default: FIXME("Application requested a linked structure of type %u.\n", in_header->sType); } @@ -9890,6 +9906,7 @@ static const char * const vk_device_extensions[] = "VK_EXT_memory_budget", "VK_EXT_memory_priority", "VK_EXT_multi_draw", + "VK_EXT_non_seamless_cube_map", "VK_EXT_pageable_device_local_memory", "VK_EXT_pci_bus_info", "VK_EXT_pipeline_creation_cache_control", diff --git a/dlls/winevulkan/winevulkan.json b/dlls/winevulkan/winevulkan.json index b0e825c6e3e..9165c08b55e 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.215" + "api_version": "1.3.217" } } diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index 2edcf9d03cf..bf6fead4b8c 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -511,13 +511,15 @@ #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" #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_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 +#define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" -#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1 +#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" @@ -541,7 +543,7 @@ #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 215 +#define VK_HEADER_VERSION 217 #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 @@ -615,6 +617,12 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) struct AHardwareBuffer; struct ANativeWindow; struct CAMetalLayer; +struct IOSurfaceRef; +struct MTLBuffer_id; +struct MTLCommandQueue_id; +struct MTLDevice_id; +struct MTLSharedEvent_id; +struct MTLTexture_id; typedef uint32_t VkBool32; typedef uint64_t VkDeviceAddress; typedef uint64_t VkDeviceSize; @@ -670,6 +678,7 @@ typedef VkFlags VkDisplayModeCreateFlagsKHR; typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; typedef VkFlags VkEventCreateFlags; +typedef VkFlags VkExportMetalObjectTypeFlagsEXT; typedef VkFlags VkExternalFenceFeatureFlags; typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; typedef VkFlags VkExternalFenceHandleTypeFlags; @@ -3154,6 +3163,7 @@ typedef enum VkSamplerCreateFlagBits { VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, + VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff, } VkSamplerCreateFlagBits;
@@ -3850,6 +3860,7 @@ typedef enum VkStructureType 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, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, @@ -3857,8 +3868,8 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, - VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT = 1000458002, - VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT = 1000458003, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, + VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 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, @@ -7059,6 +7070,13 @@ typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE VkBool32 mutableDescriptorType; } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
+typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT +{ + VkStructureType sType; + void *pNext; + VkBool32 nonSeamlessCubeMap; +} VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; + typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { VkStructureType sType; @@ -8577,8 +8595,6 @@ typedef struct VkRenderPassCreationControlEXT
typedef struct VkRenderPassCreationFeedbackInfoEXT { - VkStructureType sType; - const void *pNext; uint32_t postMergeSubpassCount; } VkRenderPassCreationFeedbackInfoEXT;
@@ -8613,8 +8629,6 @@ typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
typedef struct VkRenderPassSubpassFeedbackInfoEXT { - VkStructureType sType; - const void *pNext; VkSubpassMergeStatusEXT subpassMergeStatus; char description[VK_MAX_DESCRIPTION_SIZE]; uint32_t postMergeIndex; @@ -9953,6 +9967,13 @@ typedef struct VkRenderPassCreateInfo2 } VkRenderPassCreateInfo2; typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
+typedef struct VkRenderPassCreationFeedbackCreateInfoEXT +{ + VkStructureType sType; + const void *pNext; + VkRenderPassCreationFeedbackInfoEXT *pRenderPassFeedback; +} VkRenderPassCreationFeedbackCreateInfoEXT; + typedef struct VkRenderPassSampleLocationsBeginInfoEXT { VkStructureType sType; @@ -9963,6 +9984,13 @@ typedef struct VkRenderPassSampleLocationsBeginInfoEXT const VkSubpassSampleLocationsEXT *pPostSubpassSampleLocations; } VkRenderPassSampleLocationsBeginInfoEXT;
+typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT +{ + VkStructureType sType; + const void *pNext; + VkRenderPassSubpassFeedbackInfoEXT *pSubpassFeedback; +} VkRenderPassSubpassFeedbackCreateInfoEXT; + typedef struct VkResolveImageInfo2 { VkStructureType sType;