diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm index 6c4d71d06..f4f2abb9a 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm @@ -227,7 +227,7 @@ .sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT, .pNext = nullptr, .flags = 0, - .pMessageIdName = nullptr, + .pMessageIdName = mvkGetReportingLevelString(logLevel), .messageIdNumber = 0, .pMessage = pMessage, .queueLabelCount = 0, diff --git a/MoltenVK/MoltenVK/Utility/MVKBaseObject.h b/MoltenVK/MoltenVK/Utility/MVKBaseObject.h index 073da3a16..84fb292e0 100644 --- a/MoltenVK/MoltenVK/Utility/MVKBaseObject.h +++ b/MoltenVK/MoltenVK/Utility/MVKBaseObject.h @@ -224,3 +224,14 @@ class MVKConfigurableMixin { static inline const MVKConfiguration& mvkGetMVKConfig(MVKBaseObject* mvkObj) { return mvkObj ? mvkObj->getMVKConfig() : getGlobalMVKConfig(); } + +/** Returns the reporting level string associated with the specified MoltenVK log level. */ +static constexpr char* mvkGetReportingLevelString(MVKConfigLogLevel logLevel) { + switch (logLevel) { + case MVK_CONFIG_LOG_LEVEL_ERROR: return "mvk-error"; + case MVK_CONFIG_LOG_LEVEL_WARNING: return "mvk-warn"; + case MVK_CONFIG_LOG_LEVEL_INFO: return "mvk-info"; + case MVK_CONFIG_LOG_LEVEL_DEBUG: return "mvk-debug"; + default: return "mvk-unknown"; + } +} diff --git a/MoltenVK/MoltenVK/Utility/MVKBaseObject.mm b/MoltenVK/MoltenVK/Utility/MVKBaseObject.mm index 294444ff3..c00ccc600 100644 --- a/MoltenVK/MoltenVK/Utility/MVKBaseObject.mm +++ b/MoltenVK/MoltenVK/Utility/MVKBaseObject.mm @@ -29,16 +29,6 @@ #pragma mark - #pragma mark MVKBaseObject -static const char* getReportingLevelString(MVKConfigLogLevel logLevel) { - switch (logLevel) { - case MVK_CONFIG_LOG_LEVEL_ERROR: return "mvk-error"; - case MVK_CONFIG_LOG_LEVEL_WARNING: return "mvk-warn"; - case MVK_CONFIG_LOG_LEVEL_INFO: return "mvk-info"; - case MVK_CONFIG_LOG_LEVEL_DEBUG: return "mvk-debug"; - default: return "mvk-unknown"; - } -} - string MVKBaseObject::getClassName() { return mvk::getTypeName(this); } const MVKConfiguration& MVKBaseObject::getMVKConfig() { @@ -95,7 +85,7 @@ va_end(origArgs); // Log the message to the standard error stream - if (shouldLog) { fprintf(stderr, "[%s] %s\n", getReportingLevelString(logLevel), pMessage); } + if (shouldLog) { fprintf(stderr, "[%s] %s\n", mvkGetReportingLevelString(logLevel), pMessage); } // Broadcast the message to any Vulkan debug report callbacks if (hasDebugCallbacks) { mvkInst->debugReportMessage(mvkAPIObj, logLevel, pMessage); }