From fc893489fe89c9fbd22f0cbe1c4327c64f05e0dc Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Thu, 29 Oct 2020 23:48:42 +0100 Subject: [PATCH] winevulkan: Implement VK_EXT_debug_marker. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49813 Signed-off-by: Georg Lehmann Signed-off-by: Liam Middlebrook Signed-off-by: Alexandre Julliard --- dlls/winevulkan/make_vulkan | 5 ++- dlls/winevulkan/vulkan.c | 24 +++++++++++ dlls/winevulkan/vulkan_thunks.c | 76 +++++++++++++++++++++++++++++++++ dlls/winevulkan/vulkan_thunks.h | 44 +++++++++++++++++++ include/wine/vulkan.h | 43 +++++++++++++++++++ 5 files changed, 191 insertions(+), 1 deletion(-) diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index edd56526d58..72b0adf0c97 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -86,7 +86,6 @@ EXT_BLOCK_SIZE = 1000 UNSUPPORTED_EXTENSIONS = [ # Instance extensions - "VK_EXT_debug_marker", # Needs handle unwrapping "VK_EXT_validation_features", "VK_EXT_validation_flags", "VK_KHR_display", # Needs WSI work. @@ -234,6 +233,10 @@ FUNCTION_OVERRIDES = { "vkCreateDebugReportCallbackEXT" : {"dispatch": True, "driver" : False, "thunk" : False}, "vkDestroyDebugReportCallbackEXT" : {"dispatch": True, "driver" : False, "thunk" : False}, "vkDebugReportMessageEXT" : {"dispatch": True, "driver" : False, "thunk" : False}, + + # VK_EXT_debug_marker + "vkDebugMarkerSetObjectNameEXT" : {"dispatch": True, "driver" : False, "thunk" : True, "private_thunk" : True}, + "vkDebugMarkerSetObjectTagEXT" : {"dispatch": True, "driver" : False, "thunk" : True, "private_thunk" : True}, } STRUCT_CHAIN_CONVERSIONS = [ diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c index d486f43e66c..8e369d95f47 100644 --- a/dlls/winevulkan/vulkan.c +++ b/dlls/winevulkan/vulkan.c @@ -1983,6 +1983,30 @@ void WINAPI wine_vkDebugReportMessageEXT(VkInstance instance, VkDebugReportFlags instance->instance, flags, object_type, object, location, code, layer_prefix, message); } +VkResult WINAPI wine_vkDebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *tag_info) +{ + VkDebugMarkerObjectTagInfoEXT wine_tag_info; + + TRACE("%p, %p\n", device, tag_info); + + wine_tag_info = *tag_info; + wine_tag_info.object = wine_vk_unwrap_handle(tag_info->objectType, tag_info->object); + + return thunk_vkDebugMarkerSetObjectTagEXT(device, &wine_tag_info); +} + +VkResult WINAPI wine_vkDebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *name_info) +{ + VkDebugMarkerObjectNameInfoEXT wine_name_info; + + TRACE("%p, %p\n", device, name_info); + + wine_name_info = *name_info; + wine_name_info.object = wine_vk_unwrap_handle(name_info->objectType, name_info->object); + + return thunk_vkDebugMarkerSetObjectNameEXT(device, &wine_name_info); +} + BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, void *reserved) { TRACE("%p, %u, %p\n", hinst, reason, reserved); diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index 71016613bb8..b5a24b1d1a1 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -1044,6 +1044,30 @@ static inline void convert_VkSwapchainCreateInfoKHR_win_to_host(const VkSwapchai out->oldSwapchain = in->oldSwapchain; } +static inline void convert_VkDebugMarkerObjectNameInfoEXT_win_to_host(const VkDebugMarkerObjectNameInfoEXT *in, VkDebugMarkerObjectNameInfoEXT_host *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = in->pNext; + out->objectType = in->objectType; + out->object = in->object; + out->pObjectName = in->pObjectName; +} + +static inline void convert_VkDebugMarkerObjectTagInfoEXT_win_to_host(const VkDebugMarkerObjectTagInfoEXT *in, VkDebugMarkerObjectTagInfoEXT_host *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = in->pNext; + out->objectType = in->objectType; + out->object = in->object; + out->tagName = in->tagName; + out->tagSize = in->tagSize; + out->pTag = in->pTag; +} + static inline VkMappedMemoryRange_host *convert_VkMappedMemoryRange_array_win_to_host(const VkMappedMemoryRange *in, uint32_t count) { VkMappedMemoryRange_host *out; @@ -3706,6 +3730,24 @@ void WINAPI wine_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQuer commandBuffer->device->funcs.p_vkCmdCopyQueryPoolResults(commandBuffer->command_buffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags); } +static void WINAPI wine_vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo) +{ + TRACE("%p, %p\n", commandBuffer, pMarkerInfo); + commandBuffer->device->funcs.p_vkCmdDebugMarkerBeginEXT(commandBuffer->command_buffer, pMarkerInfo); +} + +static void WINAPI wine_vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) +{ + TRACE("%p\n", commandBuffer); + commandBuffer->device->funcs.p_vkCmdDebugMarkerEndEXT(commandBuffer->command_buffer); +} + +static void WINAPI wine_vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo) +{ + TRACE("%p, %p\n", commandBuffer, pMarkerInfo); + commandBuffer->device->funcs.p_vkCmdDebugMarkerInsertEXT(commandBuffer->command_buffer, pMarkerInfo); +} + void WINAPI wine_vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) { TRACE("%p, %u, %u, %u\n", commandBuffer, groupCountX, groupCountY, groupCountZ); @@ -4619,6 +4661,34 @@ VkResult WINAPI wine_vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32S return instance->funcs.p_vkCreateWin32SurfaceKHR(instance->instance, pCreateInfo, NULL, pSurface); } +VkResult thunk_vkDebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo) +{ +#if defined(USE_STRUCT_CONVERSION) + VkResult result; + VkDebugMarkerObjectNameInfoEXT_host pNameInfo_host; + convert_VkDebugMarkerObjectNameInfoEXT_win_to_host(pNameInfo, &pNameInfo_host); + result = device->funcs.p_vkDebugMarkerSetObjectNameEXT(device->device, &pNameInfo_host); + + return result; +#else + return device->funcs.p_vkDebugMarkerSetObjectNameEXT(device->device, pNameInfo); +#endif +} + +VkResult thunk_vkDebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo) +{ +#if defined(USE_STRUCT_CONVERSION) + VkResult result; + VkDebugMarkerObjectTagInfoEXT_host pTagInfo_host; + convert_VkDebugMarkerObjectTagInfoEXT_win_to_host(pTagInfo, &pTagInfo_host); + result = device->funcs.p_vkDebugMarkerSetObjectTagEXT(device->device, &pTagInfo_host); + + return result; +#else + return device->funcs.p_vkDebugMarkerSetObjectTagEXT(device->device, pTagInfo); +#endif +} + static void WINAPI wine_vkDestroyAccelerationStructureNV(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks *pAllocator) { TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(accelerationStructure), pAllocator); @@ -5988,6 +6058,9 @@ static const struct vulkan_func vk_device_dispatch_table[] = {"vkCmdCopyImageToBuffer", &wine_vkCmdCopyImageToBuffer}, {"vkCmdCopyImageToBuffer2KHR", &wine_vkCmdCopyImageToBuffer2KHR}, {"vkCmdCopyQueryPoolResults", &wine_vkCmdCopyQueryPoolResults}, + {"vkCmdDebugMarkerBeginEXT", &wine_vkCmdDebugMarkerBeginEXT}, + {"vkCmdDebugMarkerEndEXT", &wine_vkCmdDebugMarkerEndEXT}, + {"vkCmdDebugMarkerInsertEXT", &wine_vkCmdDebugMarkerInsertEXT}, {"vkCmdDispatch", &wine_vkCmdDispatch}, {"vkCmdDispatchBase", &wine_vkCmdDispatchBase}, {"vkCmdDispatchBaseKHR", &wine_vkCmdDispatchBaseKHR}, @@ -6103,6 +6176,8 @@ static const struct vulkan_func vk_device_dispatch_table[] = {"vkCreateShaderModule", &wine_vkCreateShaderModule}, {"vkCreateSwapchainKHR", &wine_vkCreateSwapchainKHR}, {"vkCreateValidationCacheEXT", &wine_vkCreateValidationCacheEXT}, + {"vkDebugMarkerSetObjectNameEXT", &wine_vkDebugMarkerSetObjectNameEXT}, + {"vkDebugMarkerSetObjectTagEXT", &wine_vkDebugMarkerSetObjectTagEXT}, {"vkDestroyAccelerationStructureNV", &wine_vkDestroyAccelerationStructureNV}, {"vkDestroyBuffer", &wine_vkDestroyBuffer}, {"vkDestroyBufferView", &wine_vkDestroyBufferView}, @@ -6347,6 +6422,7 @@ static const char * const vk_device_extensions[] = "VK_EXT_conditional_rendering", "VK_EXT_conservative_rasterization", "VK_EXT_custom_border_color", + "VK_EXT_debug_marker", "VK_EXT_depth_clip_enable", "VK_EXT_depth_range_unrestricted", "VK_EXT_descriptor_indexing", diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h index 04c174ec5bf..c305a7327d1 100644 --- a/dlls/winevulkan/vulkan_thunks.h +++ b/dlls/winevulkan/vulkan_thunks.h @@ -21,6 +21,8 @@ VkResult WINAPI wine_vkCreateCommandPool(VkDevice device, const VkCommandPoolCre VkResult WINAPI wine_vkCreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugReportCallbackEXT *pCallback) DECLSPEC_HIDDEN; VkResult WINAPI wine_vkCreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pMessenger) DECLSPEC_HIDDEN; VkResult WINAPI wine_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice); +VkResult WINAPI wine_vkDebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo) DECLSPEC_HIDDEN; +VkResult WINAPI wine_vkDebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo) DECLSPEC_HIDDEN; void WINAPI wine_vkDebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char *pLayerPrefix, const char *pMessage) DECLSPEC_HIDDEN; void WINAPI wine_vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator); void WINAPI wine_vkDestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks *pAllocator) DECLSPEC_HIDDEN; @@ -57,6 +59,8 @@ VkResult WINAPI wine_vkSetPrivateDataEXT(VkDevice device, VkObjectType objectTyp void WINAPI wine_vkSubmitDebugUtilsMessageEXT(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData) DECLSPEC_HIDDEN; /* Private thunks */ +VkResult thunk_vkDebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo) DECLSPEC_HIDDEN; +VkResult thunk_vkDebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo) DECLSPEC_HIDDEN; VkResult thunk_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties) DECLSPEC_HIDDEN; VkResult thunk_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties) DECLSPEC_HIDDEN; void thunk_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties) DECLSPEC_HIDDEN; @@ -673,6 +677,28 @@ typedef struct VkSwapchainCreateInfoKHR_host } VkSwapchainCreateInfoKHR_host; +typedef struct VkDebugMarkerObjectNameInfoEXT_host +{ + VkStructureType sType; + const void *pNext; + VkDebugReportObjectTypeEXT objectType; + uint64_t object; + const char *pObjectName; +} VkDebugMarkerObjectNameInfoEXT_host; + + +typedef struct VkDebugMarkerObjectTagInfoEXT_host +{ + VkStructureType sType; + const void *pNext; + VkDebugReportObjectTypeEXT objectType; + uint64_t object; + uint64_t tagName; + size_t tagSize; + const void *pTag; +} VkDebugMarkerObjectTagInfoEXT_host; + + typedef struct VkMappedMemoryRange_host { VkStructureType sType; @@ -1264,6 +1290,9 @@ struct vulkan_device_funcs void (*p_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer, const VkCopyImageToBufferInfo2KHR *); #endif void (*p_vkCmdCopyQueryPoolResults)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t, VkBuffer, VkDeviceSize, VkDeviceSize, VkQueryResultFlags); + void (*p_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer, const VkDebugMarkerMarkerInfoEXT *); + void (*p_vkCmdDebugMarkerEndEXT)(VkCommandBuffer); + void (*p_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer, const VkDebugMarkerMarkerInfoEXT *); void (*p_vkCmdDispatch)(VkCommandBuffer, uint32_t, uint32_t, uint32_t); void (*p_vkCmdDispatchBase)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); void (*p_vkCmdDispatchBaseKHR)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); @@ -1459,6 +1488,16 @@ struct vulkan_device_funcs VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *); #endif VkResult (*p_vkCreateValidationCacheEXT)(VkDevice, const VkValidationCacheCreateInfoEXT *, const VkAllocationCallbacks *, VkValidationCacheEXT *); +#if defined(USE_STRUCT_CONVERSION) + VkResult (*p_vkDebugMarkerSetObjectNameEXT)(VkDevice, const VkDebugMarkerObjectNameInfoEXT_host *); +#else + VkResult (*p_vkDebugMarkerSetObjectNameEXT)(VkDevice, const VkDebugMarkerObjectNameInfoEXT *); +#endif +#if defined(USE_STRUCT_CONVERSION) + VkResult (*p_vkDebugMarkerSetObjectTagEXT)(VkDevice, const VkDebugMarkerObjectTagInfoEXT_host *); +#else + VkResult (*p_vkDebugMarkerSetObjectTagEXT)(VkDevice, const VkDebugMarkerObjectTagInfoEXT *); +#endif void (*p_vkDestroyAccelerationStructureNV)(VkDevice, VkAccelerationStructureKHR, const VkAllocationCallbacks *); void (*p_vkDestroyBuffer)(VkDevice, VkBuffer, const VkAllocationCallbacks *); void (*p_vkDestroyBufferView)(VkDevice, VkBufferView, const VkAllocationCallbacks *); @@ -1850,6 +1889,9 @@ struct vulkan_instance_funcs USE_VK_FUNC(vkCmdCopyImageToBuffer) \ USE_VK_FUNC(vkCmdCopyImageToBuffer2KHR) \ USE_VK_FUNC(vkCmdCopyQueryPoolResults) \ + USE_VK_FUNC(vkCmdDebugMarkerBeginEXT) \ + USE_VK_FUNC(vkCmdDebugMarkerEndEXT) \ + USE_VK_FUNC(vkCmdDebugMarkerInsertEXT) \ USE_VK_FUNC(vkCmdDispatch) \ USE_VK_FUNC(vkCmdDispatchBase) \ USE_VK_FUNC(vkCmdDispatchBaseKHR) \ @@ -1965,6 +2007,8 @@ struct vulkan_instance_funcs USE_VK_FUNC(vkCreateShaderModule) \ USE_VK_FUNC(vkCreateSwapchainKHR) \ USE_VK_FUNC(vkCreateValidationCacheEXT) \ + USE_VK_FUNC(vkDebugMarkerSetObjectNameEXT) \ + USE_VK_FUNC(vkDebugMarkerSetObjectTagEXT) \ USE_VK_FUNC(vkDestroyAccelerationStructureNV) \ USE_VK_FUNC(vkDestroyBuffer) \ USE_VK_FUNC(vkDestroyBufferView) \ diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index 880c010915e..c6de4e07ffd 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -83,6 +83,8 @@ #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" +#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 +#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 @@ -2714,6 +2716,9 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, + VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, + VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, + VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, @@ -3543,6 +3548,25 @@ typedef struct VkCopyDescriptorSet uint32_t descriptorCount; } VkCopyDescriptorSet; +typedef struct VkDebugMarkerMarkerInfoEXT +{ + VkStructureType sType; + const void *pNext; + const char *pMarkerName; + float color[4]; +} VkDebugMarkerMarkerInfoEXT; + +typedef struct VkDebugMarkerObjectTagInfoEXT +{ + VkStructureType sType; + const void *pNext; + VkDebugReportObjectTypeEXT objectType; + uint64_t WINE_VK_ALIGN(8) object; + uint64_t WINE_VK_ALIGN(8) tagName; + size_t tagSize; + const void *pTag; +} VkDebugMarkerObjectTagInfoEXT; + typedef struct VkDebugUtilsLabelEXT { VkStructureType sType; @@ -6208,6 +6232,15 @@ typedef struct VkCooperativeMatrixPropertiesNV VkScopeNV scope; } VkCooperativeMatrixPropertiesNV; +typedef struct VkDebugMarkerObjectNameInfoEXT +{ + VkStructureType sType; + const void *pNext; + VkDebugReportObjectTypeEXT objectType; + uint64_t WINE_VK_ALIGN(8) object; + const char *pObjectName; +} VkDebugMarkerObjectNameInfoEXT; + typedef struct VkDedicatedAllocationBufferCreateInfoNV { VkStructureType sType; @@ -7831,6 +7864,9 @@ typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer, const VkCopyIm typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer, VkImage, VkImageLayout, VkBuffer, uint32_t, const VkBufferImageCopy *); typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer, const VkCopyImageToBufferInfo2KHR *); typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t, VkBuffer, VkDeviceSize, VkDeviceSize, VkQueryResultFlags); +typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer, const VkDebugMarkerMarkerInfoEXT *); +typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer); +typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer, const VkDebugMarkerMarkerInfoEXT *); typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer, uint32_t, uint32_t, uint32_t); typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); @@ -7952,6 +7988,8 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice, const VkShaderM typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *); typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice, const VkValidationCacheCreateInfoEXT *, const VkAllocationCallbacks *, VkValidationCacheEXT *); typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *); +typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice, const VkDebugMarkerObjectNameInfoEXT *); +typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice, const VkDebugMarkerObjectTagInfoEXT *); typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance, VkDebugReportFlagsEXT, VkDebugReportObjectTypeEXT, uint64_t, size_t, int32_t, const char *, const char *); typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice, VkAccelerationStructureKHR, const VkAllocationCallbacks *); typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice, VkBuffer, const VkAllocationCallbacks *); @@ -8180,6 +8218,9 @@ void VKAPI_CALL vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyIm void VKAPI_CALL vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy *pRegions); void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR *pCopyImageToBufferInfo); void VKAPI_CALL vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); +void VKAPI_CALL vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo); +void VKAPI_CALL vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer); +void VKAPI_CALL vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT *pMarkerInfo); void VKAPI_CALL vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); void VKAPI_CALL vkCmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); void VKAPI_CALL vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); @@ -8301,6 +8342,8 @@ VkResult VKAPI_CALL vkCreateShaderModule(VkDevice device, const VkShaderModuleCr VkResult VKAPI_CALL vkCreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchain); VkResult VKAPI_CALL vkCreateValidationCacheEXT(VkDevice device, const VkValidationCacheCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkValidationCacheEXT *pValidationCache); VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface); +VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo); +VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo); void VKAPI_CALL vkDebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char *pLayerPrefix, const char *pMessage); void VKAPI_CALL vkDestroyAccelerationStructureNV(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks *pAllocator); void VKAPI_CALL vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator);