winevulkan: Update to VK spec version 1.3.207.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Georg Lehmann 2022-03-08 14:44:51 +01:00 committed by Alexandre Julliard
parent d08d3c184e
commit ddd9a4239a
7 changed files with 150 additions and 11 deletions

View file

@ -2951,6 +2951,24 @@ VkResult WINAPI vkGetDeferredOperationResultKHR(VkDevice device, VkDeferredOpera
return vk_unix_call(unix_vkGetDeferredOperationResultKHR, &params);
}
void WINAPI vkGetDescriptorSetHostMappingVALVE(VkDevice device, VkDescriptorSet descriptorSet, void **ppData)
{
struct vkGetDescriptorSetHostMappingVALVE_params params;
params.device = device;
params.descriptorSet = descriptorSet;
params.ppData = ppData;
vk_unix_call(unix_vkGetDescriptorSetHostMappingVALVE, &params);
}
void WINAPI vkGetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice device, const VkDescriptorSetBindingReferenceVALVE *pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE *pHostMapping)
{
struct vkGetDescriptorSetLayoutHostMappingInfoVALVE_params params;
params.device = device;
params.pBindingReference = pBindingReference;
params.pHostMapping = pHostMapping;
vk_unix_call(unix_vkGetDescriptorSetLayoutHostMappingInfoVALVE, &params);
}
void WINAPI vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport)
{
struct vkGetDescriptorSetLayoutSupport_params params;
@ -4534,6 +4552,8 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkGetCalibratedTimestampsEXT", vkGetCalibratedTimestampsEXT},
{"vkGetDeferredOperationMaxConcurrencyKHR", vkGetDeferredOperationMaxConcurrencyKHR},
{"vkGetDeferredOperationResultKHR", vkGetDeferredOperationResultKHR},
{"vkGetDescriptorSetHostMappingVALVE", vkGetDescriptorSetHostMappingVALVE},
{"vkGetDescriptorSetLayoutHostMappingInfoVALVE", vkGetDescriptorSetLayoutHostMappingInfoVALVE},
{"vkGetDescriptorSetLayoutSupport", vkGetDescriptorSetLayoutSupport},
{"vkGetDescriptorSetLayoutSupportKHR", vkGetDescriptorSetLayoutSupportKHR},
{"vkGetDeviceAccelerationStructureCompatibilityKHR", vkGetDeviceAccelerationStructureCompatibilityKHR},

View file

@ -323,6 +323,8 @@ enum unix_call
unix_vkGetCalibratedTimestampsEXT,
unix_vkGetDeferredOperationMaxConcurrencyKHR,
unix_vkGetDeferredOperationResultKHR,
unix_vkGetDescriptorSetHostMappingVALVE,
unix_vkGetDescriptorSetLayoutHostMappingInfoVALVE,
unix_vkGetDescriptorSetLayoutSupport,
unix_vkGetDescriptorSetLayoutSupportKHR,
unix_vkGetDeviceAccelerationStructureCompatibilityKHR,
@ -2815,6 +2817,20 @@ struct vkGetDeferredOperationResultKHR_params
VkDeferredOperationKHR operation;
};
struct vkGetDescriptorSetHostMappingVALVE_params
{
VkDevice device;
VkDescriptorSet descriptorSet;
void **ppData;
};
struct vkGetDescriptorSetLayoutHostMappingInfoVALVE_params
{
VkDevice device;
const VkDescriptorSetBindingReferenceVALVE *pBindingReference;
VkDescriptorSetLayoutHostMappingInfoVALVE *pHostMapping;
};
struct vkGetDescriptorSetLayoutSupport_params
{
VkDevice device;

View file

@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.3.204"
VK_XML_VERSION = "1.3.207"
WINE_VK_VERSION = (1, 3)
# Filenames to create.

View file

@ -1806,6 +1806,18 @@ static inline void convert_VkMemoryRequirements2_host_to_win(const VkMemoryRequi
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void convert_VkDescriptorSetBindingReferenceVALVE_win_to_host(const VkDescriptorSetBindingReferenceVALVE *in, VkDescriptorSetBindingReferenceVALVE_host *out)
{
if (!in) return;
out->sType = in->sType;
out->pNext = in->pNext;
out->descriptorSetLayout = in->descriptorSetLayout;
out->binding = in->binding;
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline VkBufferCreateInfo_host *convert_VkBufferCreateInfo_array_win_to_host(const VkBufferCreateInfo *in, uint32_t count)
{
@ -4746,6 +4758,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE:
{
const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE *in = (const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE *)in_header;
VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->descriptorSetHostMapping = in->descriptorSetHostMapping;
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);
}
@ -8091,6 +8119,32 @@ static NTSTATUS wine_vkGetDeferredOperationResultKHR(void *args)
return params->device->funcs.p_vkGetDeferredOperationResultKHR(params->device->device, params->operation);
}
static NTSTATUS wine_vkGetDescriptorSetHostMappingVALVE(void *args)
{
struct vkGetDescriptorSetHostMappingVALVE_params *params = args;
TRACE("%p, 0x%s, %p\n", params->device, wine_dbgstr_longlong(params->descriptorSet), params->ppData);
params->device->funcs.p_vkGetDescriptorSetHostMappingVALVE(params->device->device, params->descriptorSet, params->ppData);
return STATUS_SUCCESS;
}
static NTSTATUS wine_vkGetDescriptorSetLayoutHostMappingInfoVALVE(void *args)
{
struct vkGetDescriptorSetLayoutHostMappingInfoVALVE_params *params = args;
#if defined(USE_STRUCT_CONVERSION)
VkDescriptorSetBindingReferenceVALVE_host pBindingReference_host;
TRACE("%p, %p, %p\n", params->device, params->pBindingReference, params->pHostMapping);
convert_VkDescriptorSetBindingReferenceVALVE_win_to_host(params->pBindingReference, &pBindingReference_host);
params->device->funcs.p_vkGetDescriptorSetLayoutHostMappingInfoVALVE(params->device->device, &pBindingReference_host, params->pHostMapping);
return STATUS_SUCCESS;
#else
TRACE("%p, %p, %p\n", params->device, params->pBindingReference, params->pHostMapping);
params->device->funcs.p_vkGetDescriptorSetLayoutHostMappingInfoVALVE(params->device->device, params->pBindingReference, params->pHostMapping);
return STATUS_SUCCESS;
#endif
}
static NTSTATUS wine_vkGetDescriptorSetLayoutSupport(void *args)
{
struct vkGetDescriptorSetLayoutSupport_params *params = args;
@ -9749,6 +9803,7 @@ static const char * const vk_device_extensions[] =
"VK_QCOM_render_pass_store_ops",
"VK_QCOM_render_pass_transform",
"VK_QCOM_rotated_copy_commands",
"VK_VALVE_descriptor_set_host_mapping",
"VK_VALVE_mutable_descriptor_type",
};
@ -10143,6 +10198,8 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
wine_vkGetCalibratedTimestampsEXT,
wine_vkGetDeferredOperationMaxConcurrencyKHR,
wine_vkGetDeferredOperationResultKHR,
wine_vkGetDescriptorSetHostMappingVALVE,
wine_vkGetDescriptorSetLayoutHostMappingInfoVALVE,
wine_vkGetDescriptorSetLayoutSupport,
wine_vkGetDescriptorSetLayoutSupportKHR,
wine_vkGetDeviceAccelerationStructureCompatibilityKHR,

View file

@ -1216,6 +1216,18 @@ typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
typedef VkMemoryRequirements2 VkMemoryRequirements2_host;
#endif
#if defined(USE_STRUCT_CONVERSION)
typedef struct VkDescriptorSetBindingReferenceVALVE_host
{
VkStructureType sType;
const void *pNext;
VkDescriptorSetLayout descriptorSetLayout;
uint32_t binding;
} VkDescriptorSetBindingReferenceVALVE_host;
#else
typedef VkDescriptorSetBindingReferenceVALVE VkDescriptorSetBindingReferenceVALVE_host;
#endif
#if defined(USE_STRUCT_CONVERSION)
typedef struct VkDeviceBufferMemoryRequirements_host
{
@ -2084,6 +2096,8 @@ struct vulkan_device_funcs
VkResult (*p_vkGetCalibratedTimestampsEXT)(VkDevice, uint32_t, const VkCalibratedTimestampInfoEXT *, uint64_t *, uint64_t *);
uint32_t (*p_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice, VkDeferredOperationKHR);
VkResult (*p_vkGetDeferredOperationResultKHR)(VkDevice, VkDeferredOperationKHR);
void (*p_vkGetDescriptorSetHostMappingVALVE)(VkDevice, VkDescriptorSet, void **);
void (*p_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice, const VkDescriptorSetBindingReferenceVALVE_host *, VkDescriptorSetLayoutHostMappingInfoVALVE *);
void (*p_vkGetDescriptorSetLayoutSupport)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
void (*p_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
void (*p_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice, const VkAccelerationStructureVersionInfoKHR *, VkAccelerationStructureCompatibilityKHR *);
@ -2532,6 +2546,8 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetCalibratedTimestampsEXT) \
USE_VK_FUNC(vkGetDeferredOperationMaxConcurrencyKHR) \
USE_VK_FUNC(vkGetDeferredOperationResultKHR) \
USE_VK_FUNC(vkGetDescriptorSetHostMappingVALVE) \
USE_VK_FUNC(vkGetDescriptorSetLayoutHostMappingInfoVALVE) \
USE_VK_FUNC(vkGetDescriptorSetLayoutSupport) \
USE_VK_FUNC(vkGetDescriptorSetLayoutSupportKHR) \
USE_VK_FUNC(vkGetDeviceAccelerationStructureCompatibilityKHR) \

View file

@ -2,6 +2,6 @@
"file_format_version": "1.0.0",
"ICD": {
"library_path": ".\\winevulkan.dll",
"api_version": "1.3.204"
"api_version": "1.3.207"
}
}

View file

@ -491,6 +491,8 @@
#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_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_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
@ -517,7 +519,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 204
#define VK_HEADER_VERSION 207
#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
@ -766,10 +768,12 @@ typedef VkFlags VkVideoCodecOperationFlagsKHR;
typedef VkFlags VkVideoCodingControlFlagsKHR;
typedef VkFlags VkVideoCodingQualityPresetFlagsKHR;
typedef VkFlags VkVideoComponentBitDepthFlagsKHR;
typedef VkFlags VkVideoDecodeCapabilityFlagsKHR;
typedef VkFlags VkVideoDecodeFlagsKHR;
typedef VkFlags VkVideoDecodeH264CreateFlagsEXT;
typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT;
typedef VkFlags VkVideoDecodeH265CreateFlagsEXT;
typedef VkFlags VkVideoEncodeCapabilityFlagsKHR;
typedef VkFlags VkVideoEncodeFlagsKHR;
typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT;
typedef VkFlags VkVideoEncodeH264CreateFlagsEXT;
@ -782,6 +786,7 @@ typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT;
typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT;
typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT;
typedef VkFlags VkVideoEncodeH265RateControlStructureFlagsEXT;
typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT;
typedef VkFlags VkVideoEncodeRateControlFlagsKHR;
typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR;
typedef VkFlags VkVideoEndCodingFlagsKHR;
@ -2202,7 +2207,7 @@ typedef VkGeometryTypeKHR VkGeometryTypeNV;
typedef enum VkImageAspectFlagBits
{
VK_IMAGE_ASPECT_NONE_KHR = 0,
VK_IMAGE_ASPECT_NONE = 0,
VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
@ -2213,6 +2218,7 @@ typedef enum VkImageAspectFlagBits
VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkImageAspectFlagBits;
@ -2847,12 +2853,6 @@ typedef enum VkPrimitiveTopology
VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7fffffff,
} VkPrimitiveTopology;
typedef enum VkPrivateDataSlotCreateFlagBits
{
VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkPrivateDataSlotCreateFlagBits;
typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT;
typedef enum VkProvokingVertexModeEXT
{
VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
@ -3741,6 +3741,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_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_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,
@ -4867,6 +4870,14 @@ typedef struct VkDescriptorSetAllocateInfo
const VkDescriptorSetLayout *pSetLayouts;
} VkDescriptorSetAllocateInfo;
typedef struct VkDescriptorSetBindingReferenceVALVE
{
VkStructureType sType;
const void *pNext;
VkDescriptorSetLayout WINE_VK_ALIGN(8) descriptorSetLayout;
uint32_t binding;
} VkDescriptorSetBindingReferenceVALVE;
typedef struct VkDescriptorSetLayoutBinding
{
uint32_t binding;
@ -4894,6 +4905,14 @@ typedef struct VkDescriptorSetLayoutCreateInfo
const VkDescriptorSetLayoutBinding *pBindings;
} VkDescriptorSetLayoutCreateInfo;
typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE
{
VkStructureType sType;
void *pNext;
size_t descriptorOffset;
uint32_t descriptorSize;
} VkDescriptorSetLayoutHostMappingInfoVALVE;
typedef struct VkDescriptorSetLayoutSupport
{
VkStructureType sType;
@ -6113,6 +6132,13 @@ typedef struct VkPhysicalDeviceDescriptorIndexingProperties
} VkPhysicalDeviceDescriptorIndexingProperties;
typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
{
VkStructureType sType;
void *pNext;
VkBool32 descriptorSetHostMapping;
} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
{
VkStructureType sType;
@ -6957,7 +6983,7 @@ typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
{
VkStructureType sType;
const void *pNext;
void *pNext;
VkBool32 rasterizationOrderColorAttachmentAccess;
VkBool32 rasterizationOrderDepthAttachmentAccess;
VkBool32 rasterizationOrderStencilAttachmentAccess;
@ -10211,6 +10237,8 @@ typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice, c
typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice, uint32_t, const VkCalibratedTimestampInfoEXT *, uint64_t *, uint64_t *);
typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice, VkDeferredOperationKHR);
typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice, VkDeferredOperationKHR);
typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice, VkDescriptorSet, void **);
typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice, const VkDescriptorSetBindingReferenceVALVE *, VkDescriptorSetLayoutHostMappingInfoVALVE *);
typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice, const VkAccelerationStructureVersionInfoKHR *, VkAccelerationStructureCompatibilityKHR *);
@ -10666,6 +10694,8 @@ uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(VkDevice device, const Vk
VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT *pTimestampInfos, uint64_t *pTimestamps, uint64_t *pMaxDeviation);
uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device, VkDeferredOperationKHR operation);
VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(VkDevice device, VkDeferredOperationKHR operation);
void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(VkDevice device, VkDescriptorSet descriptorSet, void **ppData);
void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice device, const VkDescriptorSetBindingReferenceVALVE *pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE *pHostMapping);
void VKAPI_CALL vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport);
void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, VkDescriptorSetLayoutSupport *pSupport);
void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device, const VkAccelerationStructureVersionInfoKHR *pVersionInfo, VkAccelerationStructureCompatibilityKHR *pCompatibility);