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, ",")); | ||||
| } | ||||
|  | ||||
| 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 | ||||
|  | ||||
| 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())), | ||||
|       instance(CreateInstance(*library, dld, VK_API_VERSION_1_1, render_window.GetWindowInfo().type, | ||||
|                               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())), | ||||
|       device(CreateDevice(instance, dld, *surface)), memory_allocator(device), state_tracker(), | ||||
|       scheduler(device, state_tracker), | ||||
|   | ||||
| @@ -35,8 +35,6 @@ class GPU; | ||||
|  | ||||
| namespace Vulkan { | ||||
|  | ||||
| using DebugCallback = std::variant<vk::DebugUtilsMessenger, vk::DebugReportCallback>; | ||||
|  | ||||
| Device CreateDevice(const vk::Instance& instance, const vk::InstanceDispatch& dld, | ||||
|                     VkSurfaceKHR surface); | ||||
|  | ||||
| @@ -75,7 +73,7 @@ private: | ||||
|     vk::InstanceDispatch dld; | ||||
|  | ||||
|     vk::Instance instance; | ||||
|     DebugCallback debug_callback; | ||||
|     vk::DebugUtilsMessenger debug_messenger; | ||||
|     vk::SurfaceKHR surface; | ||||
|  | ||||
|     ScreenInfo screen_info; | ||||
|   | ||||
| @@ -63,22 +63,6 @@ VkBool32 DebugUtilCallback(VkDebugUtilsMessageSeverityFlagBitsEXT severity, | ||||
|     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 | ||||
|  | ||||
| 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 | ||||
|   | ||||
| @@ -9,6 +9,4 @@ namespace Vulkan { | ||||
|  | ||||
| vk::DebugUtilsMessenger CreateDebugUtilsCallback(const vk::Instance& instance); | ||||
|  | ||||
| vk::DebugReportCallback CreateDebugReportCallback(const vk::Instance& instance); | ||||
|  | ||||
| } // namespace Vulkan | ||||
|   | ||||
| @@ -76,11 +76,9 @@ namespace { | ||||
|         extensions.push_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME); | ||||
|     } | ||||
| #endif | ||||
|     if (enable_validation) { | ||||
|         const bool debug_utils = | ||||
|             AreExtensionsSupported(dld, std::array{VK_EXT_DEBUG_UTILS_EXTENSION_NAME}); | ||||
|         extensions.push_back(debug_utils ? VK_EXT_DEBUG_UTILS_EXTENSION_NAME | ||||
|                                          : VK_EXT_DEBUG_REPORT_EXTENSION_NAME); | ||||
|     if (enable_validation && | ||||
|         AreExtensionsSupported(dld, std::array{VK_EXT_DEBUG_UTILS_EXTENSION_NAME})) { | ||||
|         extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); | ||||
|     } | ||||
|     return extensions; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user