winevulkan: Update to VK spec version 1.3.213.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Georg Lehmann 2022-05-10 19:55:24 +02:00 committed by Alexandre Julliard
parent 3d824d11db
commit d20d5d0737
7 changed files with 263 additions and 3 deletions

View File

@ -1710,6 +1710,14 @@ void WINAPI vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer)
unix_funcs->p_vk_call(unix_vkCmdSubpassShadingHUAWEI, &params);
}
void WINAPI vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress)
{
struct vkCmdTraceRaysIndirect2KHR_params params;
params.commandBuffer = commandBuffer;
params.indirectDeviceAddress = indirectDeviceAddress;
unix_funcs->p_vk_call(unix_vkCmdTraceRaysIndirect2KHR, &params);
}
void WINAPI vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR *pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress)
{
struct vkCmdTraceRaysIndirectKHR_params params;
@ -3691,6 +3699,15 @@ VkResult WINAPI vkGetPipelineExecutableStatisticsKHR(VkDevice device, const VkPi
return vk_unix_call(unix_vkGetPipelineExecutableStatisticsKHR, &params);
}
VkResult WINAPI vkGetPipelinePropertiesEXT(VkDevice device, const VkPipelineInfoEXT *pPipelineInfo, VkBaseOutStructure *pPipelineProperties)
{
struct vkGetPipelinePropertiesEXT_params params;
params.device = device;
params.pPipelineInfo = pPipelineInfo;
params.pPipelineProperties = pPipelineProperties;
return vk_unix_call(unix_vkGetPipelinePropertiesEXT, &params);
}
void WINAPI vkGetPrivateData(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t *pData)
{
struct vkGetPrivateData_params params;
@ -4440,6 +4457,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkCmdSetViewportWithCount", vkCmdSetViewportWithCount},
{"vkCmdSetViewportWithCountEXT", vkCmdSetViewportWithCountEXT},
{"vkCmdSubpassShadingHUAWEI", vkCmdSubpassShadingHUAWEI},
{"vkCmdTraceRaysIndirect2KHR", vkCmdTraceRaysIndirect2KHR},
{"vkCmdTraceRaysIndirectKHR", vkCmdTraceRaysIndirectKHR},
{"vkCmdTraceRaysKHR", vkCmdTraceRaysKHR},
{"vkCmdTraceRaysNV", vkCmdTraceRaysNV},
@ -4592,6 +4610,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkGetPipelineExecutableInternalRepresentationsKHR", vkGetPipelineExecutableInternalRepresentationsKHR},
{"vkGetPipelineExecutablePropertiesKHR", vkGetPipelineExecutablePropertiesKHR},
{"vkGetPipelineExecutableStatisticsKHR", vkGetPipelineExecutableStatisticsKHR},
{"vkGetPipelinePropertiesEXT", vkGetPipelinePropertiesEXT},
{"vkGetPrivateData", vkGetPrivateData},
{"vkGetPrivateDataEXT", vkGetPrivateDataEXT},
{"vkGetQueryPoolResults", vkGetQueryPoolResults},

View File

@ -193,6 +193,7 @@ enum unix_call
unix_vkCmdSetViewportWithCount,
unix_vkCmdSetViewportWithCountEXT,
unix_vkCmdSubpassShadingHUAWEI,
unix_vkCmdTraceRaysIndirect2KHR,
unix_vkCmdTraceRaysIndirectKHR,
unix_vkCmdTraceRaysKHR,
unix_vkCmdTraceRaysNV,
@ -405,6 +406,7 @@ enum unix_call
unix_vkGetPipelineExecutableInternalRepresentationsKHR,
unix_vkGetPipelineExecutablePropertiesKHR,
unix_vkGetPipelineExecutableStatisticsKHR,
unix_vkGetPipelinePropertiesEXT,
unix_vkGetPrivateData,
unix_vkGetPrivateDataEXT,
unix_vkGetQueryPoolResults,
@ -1811,6 +1813,12 @@ struct vkCmdSubpassShadingHUAWEI_params
VkCommandBuffer commandBuffer;
};
struct vkCmdTraceRaysIndirect2KHR_params
{
VkCommandBuffer commandBuffer;
VkDeviceAddress indirectDeviceAddress;
};
struct vkCmdTraceRaysIndirectKHR_params
{
VkCommandBuffer commandBuffer;
@ -3409,6 +3417,13 @@ struct vkGetPipelineExecutableStatisticsKHR_params
VkPipelineExecutableStatisticKHR *pStatistics;
};
struct vkGetPipelinePropertiesEXT_params
{
VkDevice device;
const VkPipelineInfoEXT *pPipelineInfo;
VkBaseOutStructure *pPipelineProperties;
};
struct vkGetPrivateData_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.211"
VK_XML_VERSION = "1.3.213"
WINE_VK_VERSION = (1, 3)
# Filenames to create.
@ -116,6 +116,10 @@ UNSUPPORTED_EXTENSIONS = [
# Extensions which require callback handling
"VK_EXT_device_memory_report",
# Needs https://github.com/KhronosGroup/Vulkan-Docs/pull/1848
# or a rework of how we detect returned structs.
"VK_EXT_image_compression_control",
# Deprecated extensions
"VK_NV_external_memory_capabilities",
"VK_NV_external_memory_win32",

View File

@ -2247,6 +2247,17 @@ static inline void convert_VkPipelineInfoKHR_win_to_host(const VkPipelineInfoKHR
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void convert_VkPipelineInfoEXT_win_to_host(const VkPipelineInfoEXT *in, VkPipelineInfoEXT_host *out)
{
if (!in) return;
out->sType = in->sType;
out->pNext = in->pNext;
out->pipeline = in->pipeline;
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline VkSparseMemoryBind_host *convert_VkSparseMemoryBind_array_win_to_host(const VkSparseMemoryBind *in, uint32_t count)
{
@ -3594,6 +3605,23 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR:
{
const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *in = (const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *)in_header;
VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->rayTracingMaintenance1 = in->rayTracingMaintenance1;
out->rayTracingPipelineTraceRaysIndirect2 = in->rayTracingPipelineTraceRaysIndirect2;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD:
{
const VkDeviceMemoryOverallocationCreateInfoAMD *in = (const VkDeviceMemoryOverallocationCreateInfoAMD *)in_header;
@ -4825,6 +4853,38 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT:
{
const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT *in = (const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT *)in_header;
VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->subpassMergeFeedback = in->subpassMergeFeedback;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT:
{
const VkPhysicalDevicePipelinePropertiesFeaturesEXT *in = (const VkPhysicalDevicePipelinePropertiesFeaturesEXT *)in_header;
VkPhysicalDevicePipelinePropertiesFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->pipelinePropertiesIdentifier = in->pipelinePropertiesIdentifier;
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);
}
@ -6921,6 +6981,14 @@ static NTSTATUS wine_vkCmdSubpassShadingHUAWEI(void *args)
return STATUS_SUCCESS;
}
static NTSTATUS wine_vkCmdTraceRaysIndirect2KHR(void *args)
{
struct vkCmdTraceRaysIndirect2KHR_params *params = args;
TRACE("%p, 0x%s\n", params->commandBuffer, wine_dbgstr_longlong(params->indirectDeviceAddress));
params->commandBuffer->device->funcs.p_vkCmdTraceRaysIndirect2KHR(params->commandBuffer->command_buffer, params->indirectDeviceAddress);
return STATUS_SUCCESS;
}
static NTSTATUS wine_vkCmdTraceRaysIndirectKHR(void *args)
{
struct vkCmdTraceRaysIndirectKHR_params *params = args;
@ -9058,6 +9126,24 @@ static NTSTATUS wine_vkGetPipelineExecutableStatisticsKHR(void *args)
#endif
}
static NTSTATUS wine_vkGetPipelinePropertiesEXT(void *args)
{
struct vkGetPipelinePropertiesEXT_params *params = args;
#if defined(USE_STRUCT_CONVERSION)
VkResult result;
VkPipelineInfoEXT_host pPipelineInfo_host;
TRACE("%p, %p, %p\n", params->device, params->pPipelineInfo, params->pPipelineProperties);
convert_VkPipelineInfoEXT_win_to_host(params->pPipelineInfo, &pPipelineInfo_host);
result = params->device->funcs.p_vkGetPipelinePropertiesEXT(params->device->device, &pPipelineInfo_host, params->pPipelineProperties);
return result;
#else
TRACE("%p, %p, %p\n", params->device, params->pPipelineInfo, params->pPipelineProperties);
return params->device->funcs.p_vkGetPipelinePropertiesEXT(params->device->device, params->pPipelineInfo, params->pPipelineProperties);
#endif
}
static NTSTATUS wine_vkGetPrivateData(void *args)
{
struct vkGetPrivateData_params *params = args;
@ -9717,6 +9803,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_pci_bus_info",
"VK_EXT_pipeline_creation_cache_control",
"VK_EXT_pipeline_creation_feedback",
"VK_EXT_pipeline_properties",
"VK_EXT_post_depth_coverage",
"VK_EXT_primitive_topology_list_restart",
"VK_EXT_primitives_generated_query",
@ -9738,6 +9825,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_shader_subgroup_vote",
"VK_EXT_shader_viewport_index_layer",
"VK_EXT_subgroup_size_control",
"VK_EXT_subpass_merge_feedback",
"VK_EXT_texel_buffer_alignment",
"VK_EXT_texture_compression_astc_hdr",
"VK_EXT_tooling_info",
@ -9793,6 +9881,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_present_wait",
"VK_KHR_push_descriptor",
"VK_KHR_ray_query",
"VK_KHR_ray_tracing_maintenance1",
"VK_KHR_ray_tracing_pipeline",
"VK_KHR_relaxed_block_layout",
"VK_KHR_sampler_mirror_clamp_to_edge",
@ -10123,6 +10212,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
wine_vkCmdSetViewportWithCount,
wine_vkCmdSetViewportWithCountEXT,
wine_vkCmdSubpassShadingHUAWEI,
wine_vkCmdTraceRaysIndirect2KHR,
wine_vkCmdTraceRaysIndirectKHR,
wine_vkCmdTraceRaysKHR,
wine_vkCmdTraceRaysNV,
@ -10335,6 +10425,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
wine_vkGetPipelineExecutableInternalRepresentationsKHR,
wine_vkGetPipelineExecutablePropertiesKHR,
wine_vkGetPipelineExecutableStatisticsKHR,
wine_vkGetPipelinePropertiesEXT,
wine_vkGetPrivateData,
wine_vkGetPrivateDataEXT,
wine_vkGetQueryPoolResults,

View File

@ -1572,10 +1572,22 @@ typedef struct VkPipelineInfoKHR_host
const void *pNext;
VkPipeline pipeline;
} VkPipelineInfoKHR_host;
typedef VkPipelineInfoKHR VkPipelineInfoEXT;
#else
typedef VkPipelineInfoKHR VkPipelineInfoKHR_host;
#endif
#if defined(USE_STRUCT_CONVERSION)
typedef struct VkPipelineInfoEXT_host
{
VkStructureType sType;
const void *pNext;
VkPipeline pipeline;
} VkPipelineInfoEXT_host;
#else
typedef VkPipelineInfoEXT VkPipelineInfoEXT_host;
#endif
#if defined(USE_STRUCT_CONVERSION)
typedef struct VkSparseMemoryBind_host
{
@ -1984,6 +1996,7 @@ struct vulkan_device_funcs
void (*p_vkCmdSetViewportWithCount)(VkCommandBuffer, uint32_t, const VkViewport *);
void (*p_vkCmdSetViewportWithCountEXT)(VkCommandBuffer, uint32_t, const VkViewport *);
void (*p_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer);
void (*p_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer, VkDeviceAddress);
void (*p_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer, const VkStridedDeviceAddressRegionKHR_host *, const VkStridedDeviceAddressRegionKHR_host *, const VkStridedDeviceAddressRegionKHR_host *, const VkStridedDeviceAddressRegionKHR_host *, VkDeviceAddress);
void (*p_vkCmdTraceRaysKHR)(VkCommandBuffer, const VkStridedDeviceAddressRegionKHR_host *, const VkStridedDeviceAddressRegionKHR_host *, const VkStridedDeviceAddressRegionKHR_host *, const VkStridedDeviceAddressRegionKHR_host *, uint32_t, uint32_t, uint32_t);
void (*p_vkCmdTraceRaysNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t, uint32_t, uint32_t);
@ -2137,6 +2150,7 @@ struct vulkan_device_funcs
VkResult (*p_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice, const VkPipelineExecutableInfoKHR_host *, uint32_t *, VkPipelineExecutableInternalRepresentationKHR *);
VkResult (*p_vkGetPipelineExecutablePropertiesKHR)(VkDevice, const VkPipelineInfoKHR_host *, uint32_t *, VkPipelineExecutablePropertiesKHR *);
VkResult (*p_vkGetPipelineExecutableStatisticsKHR)(VkDevice, const VkPipelineExecutableInfoKHR_host *, uint32_t *, VkPipelineExecutableStatisticKHR *);
VkResult (*p_vkGetPipelinePropertiesEXT)(VkDevice, const VkPipelineInfoEXT_host *, VkBaseOutStructure *);
void (*p_vkGetPrivateData)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlot, uint64_t *);
void (*p_vkGetPrivateDataEXT)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlot, uint64_t *);
VkResult (*p_vkGetQueryPoolResults)(VkDevice, VkQueryPool, uint32_t, uint32_t, size_t, void *, VkDeviceSize, VkQueryResultFlags);
@ -2434,6 +2448,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkCmdSetViewportWithCount) \
USE_VK_FUNC(vkCmdSetViewportWithCountEXT) \
USE_VK_FUNC(vkCmdSubpassShadingHUAWEI) \
USE_VK_FUNC(vkCmdTraceRaysIndirect2KHR) \
USE_VK_FUNC(vkCmdTraceRaysIndirectKHR) \
USE_VK_FUNC(vkCmdTraceRaysKHR) \
USE_VK_FUNC(vkCmdTraceRaysNV) \
@ -2587,6 +2602,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetPipelineExecutableInternalRepresentationsKHR) \
USE_VK_FUNC(vkGetPipelineExecutablePropertiesKHR) \
USE_VK_FUNC(vkGetPipelineExecutableStatisticsKHR) \
USE_VK_FUNC(vkGetPipelinePropertiesEXT) \
USE_VK_FUNC(vkGetPrivateData) \
USE_VK_FUNC(vkGetPrivateDataEXT) \
USE_VK_FUNC(vkGetQueryPoolResults) \

View File

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

View File

@ -475,12 +475,16 @@
#define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
#define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
#define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
#define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
#define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
#define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
#define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
#define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
@ -505,6 +509,8 @@
#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_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1
#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"
#define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
@ -527,7 +533,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 211
#define VK_HEADER_VERSION 213
#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
@ -685,6 +691,8 @@ typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
typedef VkFlags VkImageAspectFlags;
typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
typedef VkFlags VkImageCompressionFlagsEXT;
typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA;
typedef VkFlags VkImageCreateFlags;
typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA;
@ -947,6 +955,7 @@ static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x20000
static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ull;
static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ull;
static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ull;
static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ull;
typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
typedef enum VkAcquireProfilingLockFlagBitsKHR
@ -2820,6 +2829,7 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCE
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ull;
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ull;
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ull;
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ull;
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ull;
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ull;
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ull;
@ -2938,6 +2948,8 @@ typedef enum VkQueryType
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
VK_QUERY_TYPE_MAX_ENUM = 0x7fffffff,
} VkQueryType;
@ -3758,10 +3770,13 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
@ -3783,6 +3798,10 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
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_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,
@ -3944,6 +3963,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
@ -3992,6 +4012,25 @@ typedef enum VkSubpassDescriptionFlagBits
VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkSubpassDescriptionFlagBits;
typedef enum VkSubpassMergeStatusEXT
{
VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
VK_SUBPASS_MERGE_STATUS_EXT_MAX_ENUM = 0x7fffffff,
} VkSubpassMergeStatusEXT;
typedef enum VkSurfaceTransformFlagBitsKHR
{
VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
@ -6963,6 +7002,13 @@ typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
VkBool32 pipelineExecutableInfo;
} VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT
{
VkStructureType sType;
void *pNext;
VkBool32 pipelinePropertiesIdentifier;
} VkPhysicalDevicePipelinePropertiesFeaturesEXT;
typedef struct VkPhysicalDevicePointClippingProperties
{
VkStructureType sType;
@ -7070,6 +7116,14 @@ typedef struct VkPhysicalDeviceRayQueryFeaturesKHR
VkBool32 rayQuery;
} VkPhysicalDeviceRayQueryFeaturesKHR;
typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
{
VkStructureType sType;
void *pNext;
VkBool32 rayTracingMaintenance1;
VkBool32 rayTracingPipelineTraceRaysIndirect2;
} VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
{
VkStructureType sType;
@ -7466,6 +7520,13 @@ typedef struct VkPhysicalDeviceSubgroupSizeControlProperties
} VkPhysicalDeviceSubgroupSizeControlProperties;
typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
{
VkStructureType sType;
void *pNext;
VkBool32 subpassMergeFeedback;
} VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
{
VkStructureType sType;
@ -8053,12 +8114,14 @@ typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR
VkFragmentShadingRateCombinerOpKHR combinerOps[2];
} VkPipelineFragmentShadingRateStateCreateInfoKHR;
typedef struct VkPipelineInfoKHR
{
VkStructureType sType;
const void *pNext;
VkPipeline WINE_VK_ALIGN(8) pipeline;
} VkPipelineInfoKHR;
typedef VkPipelineInfoKHR VkPipelineInfoEXT;
typedef struct VkPipelineInputAssemblyStateCreateInfo
{
@ -8090,6 +8153,13 @@ typedef struct VkPipelineMultisampleStateCreateInfo
VkBool32 alphaToOneEnable;
} VkPipelineMultisampleStateCreateInfo;
typedef struct VkPipelinePropertiesIdentifierEXT
{
VkStructureType sType;
void *pNext;
uint8_t pipelineIdentifier[VK_UUID_SIZE];
} VkPipelinePropertiesIdentifierEXT;
typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT
{
VkStructureType sType;
@ -8387,6 +8457,20 @@ typedef struct VkRenderPassBeginInfo
const VkClearValue *pClearValues;
} VkRenderPassBeginInfo;
typedef struct VkRenderPassCreationControlEXT
{
VkStructureType sType;
const void *pNext;
VkBool32 disallowMerging;
} VkRenderPassCreationControlEXT;
typedef struct VkRenderPassCreationFeedbackInfoEXT
{
VkStructureType sType;
const void *pNext;
uint32_t postMergeSubpassCount;
} VkRenderPassCreationFeedbackInfoEXT;
typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT
{
VkStructureType sType;
@ -8416,6 +8500,15 @@ typedef struct VkRenderPassMultiviewCreateInfo
} VkRenderPassMultiviewCreateInfo;
typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
typedef struct VkRenderPassSubpassFeedbackInfoEXT
{
VkStructureType sType;
const void *pNext;
VkSubpassMergeStatusEXT subpassMergeStatus;
char description[VK_MAX_DESCRIPTION_SIZE];
uint32_t postMergeIndex;
} VkRenderPassSubpassFeedbackInfoEXT;
typedef struct VkRenderPassTransformBeginInfoQCOM
{
VkStructureType sType;
@ -8961,6 +9054,24 @@ typedef struct VkTimelineSemaphoreSubmitInfo
} VkTimelineSemaphoreSubmitInfo;
typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
typedef struct VkTraceRaysIndirectCommand2KHR
{
VkDeviceAddress raygenShaderRecordAddress;
VkDeviceSize WINE_VK_ALIGN(8) raygenShaderRecordSize;
VkDeviceAddress missShaderBindingTableAddress;
VkDeviceSize WINE_VK_ALIGN(8) missShaderBindingTableSize;
VkDeviceSize WINE_VK_ALIGN(8) missShaderBindingTableStride;
VkDeviceAddress hitShaderBindingTableAddress;
VkDeviceSize WINE_VK_ALIGN(8) hitShaderBindingTableSize;
VkDeviceSize WINE_VK_ALIGN(8) hitShaderBindingTableStride;
VkDeviceAddress callableShaderBindingTableAddress;
VkDeviceSize WINE_VK_ALIGN(8) callableShaderBindingTableSize;
VkDeviceSize WINE_VK_ALIGN(8) callableShaderBindingTableStride;
uint32_t width;
uint32_t height;
uint32_t depth;
} VkTraceRaysIndirectCommand2KHR;
typedef struct VkTraceRaysIndirectCommandKHR
{
uint32_t width;
@ -10180,6 +10291,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer, uint32
typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer, uint32_t, const VkViewport *);
typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer, uint32_t, const VkViewport *);
typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer);
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer, VkDeviceAddress);
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, VkDeviceAddress);
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, const VkStridedDeviceAddressRegionKHR *, uint32_t, uint32_t, uint32_t);
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t, uint32_t, uint32_t);
@ -10397,6 +10509,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice, VkPipelineCac
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice, const VkPipelineExecutableInfoKHR *, uint32_t *, VkPipelineExecutableInternalRepresentationKHR *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice, const VkPipelineInfoKHR *, uint32_t *, VkPipelineExecutablePropertiesKHR *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice, const VkPipelineExecutableInfoKHR *, uint32_t *, VkPipelineExecutableStatisticKHR *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice, const VkPipelineInfoEXT *, VkBaseOutStructure *);
typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlot, uint64_t *);
typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlot, uint64_t *);
typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice, VkQueryPool, uint32_t, uint32_t, size_t, void *, VkDeviceSize, VkQueryResultFlags);
@ -10637,6 +10750,7 @@ void VKAPI_CALL vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer, uint32
void VKAPI_CALL vkCmdSetViewportWithCount(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport *pViewports);
void VKAPI_CALL vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport *pViewports);
void VKAPI_CALL vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer);
void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
void VKAPI_CALL vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR *pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
void VKAPI_CALL vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR *pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR *pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth);
void VKAPI_CALL vkCmdTraceRaysNV(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth);
@ -10854,6 +10968,7 @@ VkResult VKAPI_CALL vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipe
VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device, const VkPipelineExecutableInfoKHR *pExecutableInfo, uint32_t *pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR *pInternalRepresentations);
VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(VkDevice device, const VkPipelineInfoKHR *pPipelineInfo, uint32_t *pExecutableCount, VkPipelineExecutablePropertiesKHR *pProperties);
VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(VkDevice device, const VkPipelineExecutableInfoKHR *pExecutableInfo, uint32_t *pStatisticCount, VkPipelineExecutableStatisticKHR *pStatistics);
VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(VkDevice device, const VkPipelineInfoEXT *pPipelineInfo, VkBaseOutStructure *pPipelineProperties);
void VKAPI_CALL vkGetPrivateData(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t *pData);
void VKAPI_CALL vkGetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t *pData);
VkResult VKAPI_CALL vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void *pData, VkDeviceSize stride, VkQueryResultFlags flags);