diff options
5 files changed, 6 insertions, 53 deletions
| diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp index 454bb66a4..c4c30d807 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp +++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp @@ -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), diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.h b/src/video_core/renderer_vulkan/renderer_vulkan.h index 89e98425e..590bc1c64 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.h +++ b/src/video_core/renderer_vulkan/renderer_vulkan.h @@ -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; diff --git a/src/video_core/vulkan_common/vulkan_debug_callback.cpp b/src/video_core/vulkan_common/vulkan_debug_callback.cpp index 67e8065a4..448df2d3a 100644 --- a/src/video_core/vulkan_common/vulkan_debug_callback.cpp +++ b/src/video_core/vulkan_common/vulkan_debug_callback.cpp @@ -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 diff --git a/src/video_core/vulkan_common/vulkan_debug_callback.h b/src/video_core/vulkan_common/vulkan_debug_callback.h index a8af7b406..5e940782f 100644 --- a/src/video_core/vulkan_common/vulkan_debug_callback.h +++ b/src/video_core/vulkan_common/vulkan_debug_callback.h @@ -9,6 +9,4 @@ namespace Vulkan {  vk::DebugUtilsMessenger CreateDebugUtilsCallback(const vk::Instance& instance); -vk::DebugReportCallback CreateDebugReportCallback(const vk::Instance& instance); -  } // namespace Vulkan diff --git a/src/video_core/vulkan_common/vulkan_instance.cpp b/src/video_core/vulkan_common/vulkan_instance.cpp index bc16145be..180657a75 100644 --- a/src/video_core/vulkan_common/vulkan_instance.cpp +++ b/src/video_core/vulkan_common/vulkan_instance.cpp @@ -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;  } | 
