From 418f4e2875e9c5323226c38f081a4c3cc99a2c94 Mon Sep 17 00:00:00 2001 From: saschawillems Date: Sun, 12 Mar 2017 17:46:50 +0100 Subject: [PATCH] Output validation layer messages to logcat (Android) --- base/VulkanDebug.cpp | 21 +++++++++++++++++++-- base/VulkanDebug.h | 1 + 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/base/VulkanDebug.cpp b/base/VulkanDebug.cpp index a1fcd12e..7ab33629 100644 --- a/base/VulkanDebug.cpp +++ b/base/VulkanDebug.cpp @@ -71,8 +71,25 @@ namespace vks prefix += "DEBUG:"; } - // Display message to default output (console if activated) - std::cout << prefix << " [" << pLayerPrefix << "] Code " << msgCode << " : " << pMsg << "\n"; + // Display message to default output (console/logcat) + std::stringstream debugMessage; + debugMessage << prefix << " [" << pLayerPrefix << "] Code " << msgCode << " : " << pMsg; + +#if defined(ANDROID) + if (flags & VK_DEBUG_REPORT_ERROR_BIT_EXT) { + LOGE("%s", debugMessage.str().c_str()); + } + else { + LOGD("%s", debugMessage.str().c_str()); + } +#else + if (flags & VK_DEBUG_REPORT_ERROR_BIT_EXT) { + std::cerr << debugMessage.str() << "\n"; + } + else { + std::cout << debugMessage.str() << "\n"; + } +#endif fflush(stdout); diff --git a/base/VulkanDebug.h b/base/VulkanDebug.h index abb44715..b5b2cdbf 100644 --- a/base/VulkanDebug.h +++ b/base/VulkanDebug.h @@ -9,6 +9,7 @@ #include #include #include +#include #ifdef _WIN32 #include #include