renderer_vulkan: Remove debug report
* VVL has implemented the more modern alternative, thus we don't need to support it anymore
This commit is contained in:
		| @@ -66,21 +66,6 @@ std::string BuildCommaSeparatedExtensions( | |||||||
|     return fmt::format("{}", fmt::join(available_extensions, ",")); |     return fmt::format("{}", fmt::join(available_extensions, ",")); | ||||||
| } | } | ||||||
|  |  | ||||||
| DebugCallback MakeDebugCallback(const vk::Instance& instance, const vk::InstanceDispatch& dld) { |  | ||||||
|     if (!Settings::values.renderer_debug) { |  | ||||||
|         return DebugCallback{}; |  | ||||||
|     } |  | ||||||
|     const std::optional properties = vk::EnumerateInstanceExtensionProperties(dld); |  | ||||||
|     const auto it = std::ranges::find_if(*properties, [](const auto& prop) { |  | ||||||
|         return std::strcmp(VK_EXT_DEBUG_UTILS_EXTENSION_NAME, prop.extensionName) == 0; |  | ||||||
|     }); |  | ||||||
|     if (it != properties->end()) { |  | ||||||
|         return CreateDebugUtilsCallback(instance); |  | ||||||
|     } else { |  | ||||||
|         return CreateDebugReportCallback(instance); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| } // Anonymous namespace | } // Anonymous namespace | ||||||
|  |  | ||||||
| Device CreateDevice(const vk::Instance& instance, const vk::InstanceDispatch& dld, | Device CreateDevice(const vk::Instance& instance, const vk::InstanceDispatch& dld, | ||||||
| @@ -103,7 +88,8 @@ RendererVulkan::RendererVulkan(Core::TelemetrySession& telemetry_session_, | |||||||
|       cpu_memory(cpu_memory_), gpu(gpu_), library(OpenLibrary(context.get())), |       cpu_memory(cpu_memory_), gpu(gpu_), library(OpenLibrary(context.get())), | ||||||
|       instance(CreateInstance(*library, dld, VK_API_VERSION_1_1, render_window.GetWindowInfo().type, |       instance(CreateInstance(*library, dld, VK_API_VERSION_1_1, render_window.GetWindowInfo().type, | ||||||
|                               Settings::values.renderer_debug.GetValue())), |                               Settings::values.renderer_debug.GetValue())), | ||||||
|       debug_callback(MakeDebugCallback(instance, dld)), |       debug_messenger(Settings::values.renderer_debug ? CreateDebugUtilsCallback(instance) | ||||||
|  |                                                       : vk::DebugUtilsMessenger{}), | ||||||
|       surface(CreateSurface(instance, render_window.GetWindowInfo())), |       surface(CreateSurface(instance, render_window.GetWindowInfo())), | ||||||
|       device(CreateDevice(instance, dld, *surface)), memory_allocator(device), state_tracker(), |       device(CreateDevice(instance, dld, *surface)), memory_allocator(device), state_tracker(), | ||||||
|       scheduler(device, state_tracker), |       scheduler(device, state_tracker), | ||||||
|   | |||||||
| @@ -35,8 +35,6 @@ class GPU; | |||||||
|  |  | ||||||
| namespace Vulkan { | namespace Vulkan { | ||||||
|  |  | ||||||
| using DebugCallback = std::variant<vk::DebugUtilsMessenger, vk::DebugReportCallback>; |  | ||||||
|  |  | ||||||
| Device CreateDevice(const vk::Instance& instance, const vk::InstanceDispatch& dld, | Device CreateDevice(const vk::Instance& instance, const vk::InstanceDispatch& dld, | ||||||
|                     VkSurfaceKHR surface); |                     VkSurfaceKHR surface); | ||||||
|  |  | ||||||
| @@ -75,7 +73,7 @@ private: | |||||||
|     vk::InstanceDispatch dld; |     vk::InstanceDispatch dld; | ||||||
|  |  | ||||||
|     vk::Instance instance; |     vk::Instance instance; | ||||||
|     DebugCallback debug_callback; |     vk::DebugUtilsMessenger debug_messenger; | ||||||
|     vk::SurfaceKHR surface; |     vk::SurfaceKHR surface; | ||||||
|  |  | ||||||
|     ScreenInfo screen_info; |     ScreenInfo screen_info; | ||||||
|   | |||||||
| @@ -63,22 +63,6 @@ VkBool32 DebugUtilCallback(VkDebugUtilsMessageSeverityFlagBitsEXT severity, | |||||||
|     return VK_FALSE; |     return VK_FALSE; | ||||||
| } | } | ||||||
|  |  | ||||||
| VkBool32 DebugReportCallback(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, |  | ||||||
|                              uint64_t object, size_t location, int32_t messageCode, |  | ||||||
|                              const char* pLayerPrefix, const char* pMessage, void* pUserData) { |  | ||||||
|     const VkDebugReportFlagBitsEXT severity = static_cast<VkDebugReportFlagBitsEXT>(flags); |  | ||||||
|     const std::string_view message{pMessage}; |  | ||||||
|     if (severity & VK_DEBUG_REPORT_ERROR_BIT_EXT) { |  | ||||||
|         LOG_CRITICAL(Render_Vulkan, "{}", message); |  | ||||||
|     } else if (severity & VK_DEBUG_REPORT_WARNING_BIT_EXT) { |  | ||||||
|         LOG_WARNING(Render_Vulkan, "{}", message); |  | ||||||
|     } else if (severity & VK_DEBUG_REPORT_INFORMATION_BIT_EXT) { |  | ||||||
|         LOG_INFO(Render_Vulkan, "{}", message); |  | ||||||
|     } else if (severity & VK_DEBUG_REPORT_DEBUG_BIT_EXT) { |  | ||||||
|         LOG_DEBUG(Render_Vulkan, "{}", message); |  | ||||||
|     } |  | ||||||
|     return VK_FALSE; |  | ||||||
| } |  | ||||||
| } // Anonymous namespace | } // Anonymous namespace | ||||||
|  |  | ||||||
| vk::DebugUtilsMessenger CreateDebugUtilsCallback(const vk::Instance& instance) { | vk::DebugUtilsMessenger CreateDebugUtilsCallback(const vk::Instance& instance) { | ||||||
| @@ -98,15 +82,4 @@ vk::DebugUtilsMessenger CreateDebugUtilsCallback(const vk::Instance& instance) { | |||||||
|     }); |     }); | ||||||
| } | } | ||||||
|  |  | ||||||
| vk::DebugReportCallback CreateDebugReportCallback(const vk::Instance& instance) { |  | ||||||
|     return instance.CreateDebugReportCallback({ |  | ||||||
|         .sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, |  | ||||||
|         .pNext = nullptr, |  | ||||||
|         .flags = VK_DEBUG_REPORT_DEBUG_BIT_EXT | VK_DEBUG_REPORT_INFORMATION_BIT_EXT | |  | ||||||
|                  VK_DEBUG_REPORT_ERROR_BIT_EXT | VK_DEBUG_REPORT_WARNING_BIT_EXT, |  | ||||||
|         .pfnCallback = DebugReportCallback, |  | ||||||
|         .pUserData = nullptr, |  | ||||||
|     }); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| } // namespace Vulkan | } // namespace Vulkan | ||||||
|   | |||||||
| @@ -9,6 +9,4 @@ namespace Vulkan { | |||||||
|  |  | ||||||
| vk::DebugUtilsMessenger CreateDebugUtilsCallback(const vk::Instance& instance); | vk::DebugUtilsMessenger CreateDebugUtilsCallback(const vk::Instance& instance); | ||||||
|  |  | ||||||
| vk::DebugReportCallback CreateDebugReportCallback(const vk::Instance& instance); |  | ||||||
|  |  | ||||||
| } // namespace Vulkan | } // namespace Vulkan | ||||||
|   | |||||||
| @@ -76,11 +76,9 @@ namespace { | |||||||
|         extensions.push_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME); |         extensions.push_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME); | ||||||
|     } |     } | ||||||
| #endif | #endif | ||||||
|     if (enable_validation) { |     if (enable_validation && | ||||||
|         const bool debug_utils = |         AreExtensionsSupported(dld, std::array{VK_EXT_DEBUG_UTILS_EXTENSION_NAME})) { | ||||||
|             AreExtensionsSupported(dld, std::array{VK_EXT_DEBUG_UTILS_EXTENSION_NAME}); |         extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); | ||||||
|         extensions.push_back(debug_utils ? VK_EXT_DEBUG_UTILS_EXTENSION_NAME |  | ||||||
|                                          : VK_EXT_DEBUG_REPORT_EXTENSION_NAME); |  | ||||||
|     } |     } | ||||||
|     return extensions; |     return extensions; | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user