vk_instance: Address small issues
This commit is contained in:
@ -15,21 +15,6 @@ namespace Vulkan {
|
|||||||
|
|
||||||
vk::DynamicLoader Instance::dl;
|
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
|
static VKAPI_ATTR VkBool32 VKAPI_CALL
|
||||||
DebugHandler(VkDebugUtilsMessageSeverityFlagBitsEXT severity, VkDebugUtilsMessageTypeFlagsEXT type,
|
DebugHandler(VkDebugUtilsMessageSeverityFlagBitsEXT severity, VkDebugUtilsMessageTypeFlagsEXT type,
|
||||||
const VkDebugUtilsMessengerCallbackDataEXT* callback_data, void* user_data) {
|
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
|
// Calling this after CreateSurface to ensure the function has been loaded
|
||||||
if (enable_validation) {
|
if (enable_validation) {
|
||||||
CreateDebugMessenger();
|
debug_messenger = instance.createDebugUtilsMessengerEXT(MakeDebugUtilsMessengerInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pick physical device
|
// Pick physical device
|
||||||
@ -244,6 +229,7 @@ Instance::Instance(Frontend::EmuWindow& window, u32 physical_device_index)
|
|||||||
|
|
||||||
CreateDevice();
|
CreateDevice();
|
||||||
CreateFormatTable();
|
CreateFormatTable();
|
||||||
|
CollectTelemetryParameters();
|
||||||
}
|
}
|
||||||
|
|
||||||
Instance::~Instance() {
|
Instance::~Instance() {
|
||||||
@ -252,7 +238,7 @@ Instance::~Instance() {
|
|||||||
device.destroy();
|
device.destroy();
|
||||||
instance.destroySurfaceKHR(surface);
|
instance.destroySurfaceKHR(surface);
|
||||||
|
|
||||||
if (enable_validation) {
|
if (debug_messenger) {
|
||||||
instance.destroyDebugUtilsMessengerEXT(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() {
|
void Instance::CollectTelemetryParameters() {
|
||||||
const vk::StructureChain property_chain =
|
const vk::StructureChain property_chain =
|
||||||
physical_device
|
physical_device
|
||||||
|
@ -173,18 +173,9 @@ private:
|
|||||||
/// Creates the VMA allocator handle
|
/// Creates the VMA allocator handle
|
||||||
void CreateAllocator();
|
void CreateAllocator();
|
||||||
|
|
||||||
/// Creates the debug messenger
|
|
||||||
void CreateDebugMessenger();
|
|
||||||
|
|
||||||
/// Collects telemetry information from the device.
|
/// Collects telemetry information from the device.
|
||||||
void CollectTelemetryParameters();
|
void CollectTelemetryParameters();
|
||||||
|
|
||||||
/// Collects information about attached tools.
|
|
||||||
void CollectToolingInfo();
|
|
||||||
|
|
||||||
/// Collects information about the device's local memory.
|
|
||||||
void CollectPhysicalMemoryInfo();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static vk::DynamicLoader dl;
|
static vk::DynamicLoader dl;
|
||||||
vk::Device device;
|
vk::Device device;
|
||||||
|
Reference in New Issue
Block a user