Slightly reformat validation messages and add color codes (windows only)

This commit is contained in:
Sascha Willems 2023-11-01 11:38:28 +01:00
parent 5962189427
commit 2bd998556f
2 changed files with 21 additions and 3 deletions

View file

@ -24,19 +24,31 @@ namespace vks
void* pUserData) void* pUserData)
{ {
// Select prefix depending on flags passed to the callback // Select prefix depending on flags passed to the callback
std::string prefix(""); std::string prefix;
if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT) { if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT) {
#if defined(_WIN32)
prefix = "\033[32m" + prefix + "\033[0m";
#endif
prefix = "VERBOSE: "; prefix = "VERBOSE: ";
} }
else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT) { else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT) {
prefix = "INFO: "; prefix = "INFO: ";
#if defined(_WIN32)
prefix = "\033[36m" + prefix + "\033[0m";
#endif
} }
else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT) { else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT) {
prefix = "WARNING: "; prefix = "WARNING: ";
#if defined(_WIN32)
prefix = "\033[33m" + prefix + "\033[0m";
#endif
} }
else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) { else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) {
prefix = "ERROR: "; prefix = "ERROR: ";
#if defined(_WIN32)
prefix = "\033[31m" + prefix + "\033[0m";
#endif
} }
@ -52,9 +64,9 @@ namespace vks
} }
#else #else
if (messageSeverity >= VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) { if (messageSeverity >= VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) {
std::cerr << debugMessage.str() << "\n"; std::cerr << debugMessage.str() << "\n\n";
} else { } else {
std::cout << debugMessage.str() << "\n"; std::cout << debugMessage.str() << "\n\n";
} }
fflush(stdout); fflush(stdout);
#endif #endif

View file

@ -1115,6 +1115,12 @@ void VulkanExampleBase::setupConsole(std::string title)
freopen_s(&stream, "CONIN$", "r", stdin); freopen_s(&stream, "CONIN$", "r", stdin);
freopen_s(&stream, "CONOUT$", "w+", stdout); freopen_s(&stream, "CONOUT$", "w+", stdout);
freopen_s(&stream, "CONOUT$", "w+", stderr); freopen_s(&stream, "CONOUT$", "w+", stderr);
// Enable flags so we can color the output
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD dwMode = 0;
GetConsoleMode(consoleHandle, &dwMode);
dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
SetConsoleMode(consoleHandle, dwMode);
SetConsoleTitle(TEXT(title.c_str())); SetConsoleTitle(TEXT(title.c_str()));
} }