vk_instance: Address small issues
This commit is contained in:
@ -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
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user