[PATCH v2 2/2] winevulkan: Update to VK spec version 1.3.213.
Georg Lehmann
wine at gitlab.winehq.org
Wed May 11 16:09:37 CDT 2022
From: Georg Lehmann <dadschoorse at gmail.com>
Signed-off-by: Georg Lehmann <dadschoorse at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winevulkan/loader_thunks.c | 19 ++++++
dlls/winevulkan/loader_thunks.h | 15 ++++
dlls/winevulkan/make_vulkan | 6 +-
dlls/winevulkan/vulkan_thunks.c | 91 +++++++++++++++++++++++++
dlls/winevulkan/vulkan_thunks.h | 16 +++++
dlls/winevulkan/winevulkan.json | 2 +-
include/wine/vulkan.h | 117 +++++++++++++++++++++++++++++++-
7 files changed, 263 insertions(+), 3 deletions(-)
diff --git a/dlls/winevulkan/loader_thunks.c b/dlls/winevulkan/loader_thunks.c
index fdcdb3b964f..055759518c0 100644
--- a/dlls/winevulkan/loader_thunks.c
+++ b/dlls/winevulkan/loader_thunks.c
@@ -1710,6 +1710,14 @@ void WINAPI vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer)
unix_funcs->p_vk_call(unix_vkCmdSubpassShadingHUAWEI, ¶ms);
}
+void WINAPI vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress)
+{
+ struct vkCmdTraceRaysIndirect2KHR_params params;
+ params.commandBuffer = commandBuffer;
+ params.indirectDeviceAddress = indirectDeviceAddress;
+ unix_funcs->p_vk_call(unix_vkCmdTraceRaysIndirect2KHR, ¶ms);
+}
+
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, ¶ms);
}
+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, ¶ms);
+}
+
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},
diff --git a/dlls/winevulkan/loader_thunks.h b/dlls/winevulkan/loader_thunks.h
index 36f9d70521d..e0641b0be3d 100644
--- a/dlls/winevulkan/loader_thunks.h
+++ b/dlls/winevulkan/loader_thunks.h
@@ -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;
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index 4348201810b..2d49eceb93b 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.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",
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index ab9ee691986..20074e94887 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -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,
diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h
index d8387fa54f5..f3886d8582e 100644
--- a/dlls/winevulkan/vulkan_thunks.h
+++ b/dlls/winevulkan/vulkan_thunks.h
@@ -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) \
diff --git a/dlls/winevulkan/winevulkan.json b/dlls/winevulkan/winevulkan.json
index 2345547ff1d..987249a6f08 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.211"
+ "api_version": "1.3.213"
}
}
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index 2a7a02db636..a1b9040715d 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -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);
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/57
More information about the wine-devel
mailing list