diff --git a/src/video_core/renderer_vulkan/vk_instance.cpp b/src/video_core/renderer_vulkan/vk_instance.cpp index 2f08a99d8..41a3ef961 100644 --- a/src/video_core/renderer_vulkan/vk_instance.cpp +++ b/src/video_core/renderer_vulkan/vk_instance.cpp @@ -15,21 +15,6 @@ namespace Vulkan { vk::DynamicLoader Instance::dl; -inline std::string_view GetType(vk::DebugUtilsMessageTypeFlagBitsEXT type) { - switch (type) { - case vk::DebugUtilsMessageTypeFlagBitsEXT::eGeneral: - return "General"; - case vk::DebugUtilsMessageTypeFlagBitsEXT::eValidation: - return "Validation"; - case vk::DebugUtilsMessageTypeFlagBitsEXT::ePerformance: - return "Performance"; - case vk::DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding: - return "DeviceAddressBinding"; - default: - return ""; - }; -} - static VKAPI_ATTR VkBool32 VKAPI_CALL DebugHandler(VkDebugUtilsMessageSeverityFlagBitsEXT severity, VkDebugUtilsMessageTypeFlagsEXT type, const VkDebugUtilsMessengerCallbackDataEXT* callback_data, void* user_data) { @@ -223,7 +208,7 @@ Instance::Instance(Frontend::EmuWindow& window, u32 physical_device_index) // Calling this after CreateSurface to ensure the function has been loaded if (enable_validation) { - CreateDebugMessenger(); + debug_messenger = instance.createDebugUtilsMessengerEXT(MakeDebugUtilsMessengerInfo()); } // Pick physical device @@ -244,6 +229,7 @@ Instance::Instance(Frontend::EmuWindow& window, u32 physical_device_index) CreateDevice(); CreateFormatTable(); + CollectTelemetryParameters(); } Instance::~Instance() { @@ -252,7 +238,7 @@ Instance::~Instance() { device.destroy(); instance.destroySurfaceKHR(surface); - if (enable_validation) { + if (debug_messenger) { instance.destroyDebugUtilsMessengerEXT(debug_messenger); } } @@ -496,21 +482,6 @@ void Instance::CreateAllocator() { } } -void Instance::CreateDebugMessenger() { - const vk::DebugUtilsMessengerCreateInfoEXT debug_info = { - .messageSeverity = vk::DebugUtilsMessageSeverityFlagBitsEXT::eInfo | - vk::DebugUtilsMessageSeverityFlagBitsEXT::eError | - vk::DebugUtilsMessageSeverityFlagBitsEXT::eWarning | - vk::DebugUtilsMessageSeverityFlagBitsEXT::eVerbose, - .messageType = vk::DebugUtilsMessageTypeFlagBitsEXT::eGeneral | - vk::DebugUtilsMessageTypeFlagBitsEXT::eValidation | - vk::DebugUtilsMessageTypeFlagBitsEXT::eDeviceAddressBinding | - vk::DebugUtilsMessageTypeFlagBitsEXT::ePerformance, - .pfnUserCallback = DebugHandler}; - - debug_messenger = instance.createDebugUtilsMessengerEXT(debug_info); -} - void Instance::CollectTelemetryParameters() { const vk::StructureChain property_chain = physical_device diff --git a/src/video_core/renderer_vulkan/vk_instance.h b/src/video_core/renderer_vulkan/vk_instance.h index 803ed2e51..c645ff17a 100644 --- a/src/video_core/renderer_vulkan/vk_instance.h +++ b/src/video_core/renderer_vulkan/vk_instance.h @@ -173,18 +173,9 @@ private: /// Creates the VMA allocator handle void CreateAllocator(); - /// Creates the debug messenger - void CreateDebugMessenger(); - /// Collects telemetry information from the device. void CollectTelemetryParameters(); - /// Collects information about attached tools. - void CollectToolingInfo(); - - /// Collects information about the device's local memory. - void CollectPhysicalMemoryInfo(); - private: static vk::DynamicLoader dl; vk::Device device;