From 119b6fc028a154ca28691f1d40992d499403e67a Mon Sep 17 00:00:00 2001 From: Robert Konrad Date: Tue, 4 Feb 2025 01:17:21 +0100 Subject: [PATCH] Name Vulkan buffers --- .../Vulkan/Sources/kope/vulkan/buffer.c | 12 ++++++++++- .../Vulkan/Sources/kope/vulkan/device.c | 20 +++++-------------- .../Vulkan/Sources/kope/vulkan/vulkanunit.c | 20 +++++++++++++++++++ 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/Backends/Graphics5/Vulkan/Sources/kope/vulkan/buffer.c b/Backends/Graphics5/Vulkan/Sources/kope/vulkan/buffer.c index 05102aa03..0dfe73943 100644 --- a/Backends/Graphics5/Vulkan/Sources/kope/vulkan/buffer.c +++ b/Backends/Graphics5/Vulkan/Sources/kope/vulkan/buffer.c @@ -2,7 +2,17 @@ #include -void kope_vulkan_buffer_set_name(kope_g5_buffer *buffer, const char *name) {} +void kope_vulkan_buffer_set_name(kope_g5_buffer *buffer, const char *name) { + const VkDebugMarkerObjectNameInfoEXT name_info = { + .sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT, + .pNext = NULL, + .objectType = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, + .object = (uint64_t)buffer->vulkan.buffer, + .pObjectName = name, + }; + + vulkan_DebugMarkerSetObjectNameEXT(buffer->vulkan.device, &name_info); +} void kope_vulkan_buffer_destroy(kope_g5_buffer *buffer) { vkFreeMemory(buffer->vulkan.device, buffer->vulkan.memory, NULL); diff --git a/Backends/Graphics5/Vulkan/Sources/kope/vulkan/device.c b/Backends/Graphics5/Vulkan/Sources/kope/vulkan/device.c index 483919907..b73da90a1 100644 --- a/Backends/Graphics5/Vulkan/Sources/kope/vulkan/device.c +++ b/Backends/Graphics5/Vulkan/Sources/kope/vulkan/device.c @@ -23,21 +23,6 @@ static VkDebugUtilsMessengerEXT debug_utils_messenger; static const bool validation = false; #endif -static PFN_vkGetPhysicalDeviceSurfaceSupportKHR vulkan_GetPhysicalDeviceSurfaceSupportKHR = NULL; -static PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vulkan_GetPhysicalDeviceSurfaceCapabilitiesKHR = NULL; -static PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vulkan_GetPhysicalDeviceSurfaceFormatsKHR = NULL; -static PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vulkan_GetPhysicalDeviceSurfacePresentModesKHR = NULL; -static PFN_vkCreateSwapchainKHR vulkan_CreateSwapchainKHR = NULL; -static PFN_vkDestroySwapchainKHR vulkan_DestroySwapchainKHR = NULL; -static PFN_vkGetSwapchainImagesKHR vulkan_GetSwapchainImagesKHR = NULL; -static PFN_vkDestroySurfaceKHR vulkan_DestroySurfaceKHR = NULL; - -static PFN_vkCreateDebugUtilsMessengerEXT vulkan_CreateDebugUtilsMessengerEXT = NULL; -static PFN_vkDestroyDebugUtilsMessengerEXT vulkan_DestroyDebugUtilsMessengerEXT = NULL; - -static PFN_vkAcquireNextImageKHR vulkan_AcquireNextImageKHR = NULL; -static PFN_vkQueuePresentKHR vulkan_QueuePresentKHR = NULL; - static VkBool32 debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT message_severity, VkDebugUtilsMessageTypeFlagsEXT message_types, const VkDebugUtilsMessengerCallbackDataEXT *callback_data, void *user_data) { if (message_severity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) { @@ -188,6 +173,10 @@ static void load_extension_functions(void) { GET_VULKAN_FUNCTION(GetSwapchainImagesKHR); GET_VULKAN_FUNCTION(AcquireNextImageKHR); GET_VULKAN_FUNCTION(QueuePresentKHR); + GET_VULKAN_FUNCTION(DebugMarkerSetObjectNameEXT); + GET_VULKAN_FUNCTION(CmdDebugMarkerBeginEXT); + GET_VULKAN_FUNCTION(CmdDebugMarkerEndEXT); + GET_VULKAN_FUNCTION(CmdDebugMarkerInsertEXT); #undef GET_VULKAN_FUNCTION } @@ -378,6 +367,7 @@ void kope_vulkan_device_create(kope_g5_device *device, const kope_g5_device_wish const char *device_extensions[64]; int device_extension_count = 0; + device_extensions[device_extension_count++] = VK_EXT_DEBUG_MARKER_EXTENSION_NAME; device_extensions[device_extension_count++] = VK_KHR_SWAPCHAIN_EXTENSION_NAME; // Allows negative viewport height to flip viewport device_extensions[device_extension_count++] = VK_KHR_MAINTENANCE1_EXTENSION_NAME; diff --git a/Backends/Graphics5/Vulkan/Sources/kope/vulkan/vulkanunit.c b/Backends/Graphics5/Vulkan/Sources/kope/vulkan/vulkanunit.c index d62c6e1d1..547b33fb6 100644 --- a/Backends/Graphics5/Vulkan/Sources/kope/vulkan/vulkanunit.c +++ b/Backends/Graphics5/Vulkan/Sources/kope/vulkan/vulkanunit.c @@ -60,6 +60,26 @@ #include +static PFN_vkGetPhysicalDeviceSurfaceSupportKHR vulkan_GetPhysicalDeviceSurfaceSupportKHR = NULL; +static PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vulkan_GetPhysicalDeviceSurfaceCapabilitiesKHR = NULL; +static PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vulkan_GetPhysicalDeviceSurfaceFormatsKHR = NULL; +static PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vulkan_GetPhysicalDeviceSurfacePresentModesKHR = NULL; +static PFN_vkCreateSwapchainKHR vulkan_CreateSwapchainKHR = NULL; +static PFN_vkDestroySwapchainKHR vulkan_DestroySwapchainKHR = NULL; +static PFN_vkGetSwapchainImagesKHR vulkan_GetSwapchainImagesKHR = NULL; +static PFN_vkDestroySurfaceKHR vulkan_DestroySurfaceKHR = NULL; + +static PFN_vkCreateDebugUtilsMessengerEXT vulkan_CreateDebugUtilsMessengerEXT = NULL; +static PFN_vkDestroyDebugUtilsMessengerEXT vulkan_DestroyDebugUtilsMessengerEXT = NULL; + +static PFN_vkAcquireNextImageKHR vulkan_AcquireNextImageKHR = NULL; +static PFN_vkQueuePresentKHR vulkan_QueuePresentKHR = NULL; + +static PFN_vkDebugMarkerSetObjectNameEXT vulkan_DebugMarkerSetObjectNameEXT = NULL; +static PFN_vkCmdDebugMarkerBeginEXT vulkan_CmdDebugMarkerBeginEXT = NULL; +static PFN_vkCmdDebugMarkerEndEXT vulkan_CmdDebugMarkerEndEXT = NULL; +static PFN_vkCmdDebugMarkerInsertEXT vulkan_CmdDebugMarkerInsertEXT = NULL; + #include "buffer.c" #include "commandlist.c" #include "descriptorset.c"