Return MoltenVK log level string in pMessageIdName field of debug utils callback data

This commit is contained in:
SRSaunders 2024-05-02 23:51:26 -04:00
parent 6c68ba1e0c
commit ac6702a682
3 changed files with 15 additions and 12 deletions

View File

@ -227,7 +227,7 @@ void MVKInstance::debugReportMessage(MVKVulkanAPIObject* mvkAPIObj, MVKConfigLog
.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT, .sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
.pNext = nullptr, .pNext = nullptr,
.flags = 0, .flags = 0,
.pMessageIdName = nullptr, .pMessageIdName = mvkGetReportingLevelString(logLevel),
.messageIdNumber = 0, .messageIdNumber = 0,
.pMessage = pMessage, .pMessage = pMessage,
.queueLabelCount = 0, .queueLabelCount = 0,

View File

@ -224,3 +224,16 @@ protected:
static inline const MVKConfiguration& mvkGetMVKConfig(MVKBaseObject* mvkObj) { static inline const MVKConfiguration& mvkGetMVKConfig(MVKBaseObject* mvkObj) {
return mvkObj ? mvkObj->getMVKConfig() : getGlobalMVKConfig(); return mvkObj ? mvkObj->getMVKConfig() : getGlobalMVKConfig();
} }
/**
* Returns the reporting level string associated with the specified MoltenVK log level.
*/
static inline const 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";
}
}

View File

@ -29,16 +29,6 @@ using namespace std;
#pragma mark - #pragma mark -
#pragma mark MVKBaseObject #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); } string MVKBaseObject::getClassName() { return mvk::getTypeName(this); }
const MVKConfiguration& MVKBaseObject::getMVKConfig() { const MVKConfiguration& MVKBaseObject::getMVKConfig() {
@ -95,7 +85,7 @@ void MVKBaseObject::reportMessage(MVKBaseObject* mvkObj, MVKConfigLogLevel logLe
va_end(origArgs); va_end(origArgs);
// Log the message to the standard error stream // 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 // Broadcast the message to any Vulkan debug report callbacks
if (hasDebugCallbacks) { mvkInst->debugReportMessage(mvkAPIObj, logLevel, pMessage); } if (hasDebugCallbacks) { mvkInst->debugReportMessage(mvkAPIObj, logLevel, pMessage); }