From ced197abe339eb29836004213e4426737ce89154 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 25 Aug 2016 12:42:08 +0200 Subject: [PATCH] Only enable stdout/stderr log output after main initialisation * This suppresses lines like "RenderDoc v0.31 x64 (...) loaded in replay application" which are only useful for the logfile and not for actual user output. --- renderdoc/common/common.cpp | 11 +++++++++-- renderdoc/common/common.h | 3 +++ renderdoc/core/core.cpp | 4 ++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/renderdoc/common/common.cpp b/renderdoc/common/common.cpp index 3804cfb61..72c3d312c 100644 --- a/renderdoc/common/common.cpp +++ b/renderdoc/common/common.cpp @@ -272,6 +272,13 @@ void rdclog_filename(const char *filename) logfile() = filename; } +static bool log_output_enabled = false; + +void rdclog_enableoutput() +{ + log_output_enabled = true; +} + void rdclog_flush() { } @@ -287,12 +294,12 @@ void rdclogprint_int(LogType type, const char *fullMsg, const char *msg) #endif #if defined(OUTPUT_LOG_TO_STDOUT) // don't output debug messages to stdout/stderr - if(type != RDCLog_Debug) + if(type != RDCLog_Debug && log_output_enabled) OSUtility::WriteOutput(OSUtility::Output_StdOut, msg); #endif #if defined(OUTPUT_LOG_TO_STDERR) // don't output debug messages to stdout/stderr - if(type != RDCLog_Debug) + if(type != RDCLog_Debug && log_output_enabled) OSUtility::WriteOutput(OSUtility::Output_StdErr, msg); #endif #if defined(OUTPUT_LOG_TO_DISK) diff --git a/renderdoc/common/common.h b/renderdoc/common/common.h index 7a4ab2c2c..6951f95cf 100644 --- a/renderdoc/common/common.h +++ b/renderdoc/common/common.h @@ -254,10 +254,13 @@ void rdclog_int(LogType type, const char *file, unsigned int line, const char *f const char *rdclog_getfilename(); void rdclog_filename(const char *filename); +void rdclog_enableoutput(); #define RDCLOGFILE(fn) rdclog_filename(fn) #define RDCGETLOGFILE() rdclog_getfilename() +#define RDCLOGOUTPUT() rdclog_enableoutput() + #if(!defined(RELEASE) || defined(FORCE_DEBUG_LOGS)) && !defined(STRIP_DEBUG_LOGS) #define RDCDEBUG(...) rdclog(RDCLog_Debug, __VA_ARGS__) #else diff --git a/renderdoc/core/core.cpp b/renderdoc/core/core.cpp index 23bc14942..86e048d65 100644 --- a/renderdoc/core/core.cpp +++ b/renderdoc/core/core.cpp @@ -322,6 +322,10 @@ void RenderDoc::Initialise() RecreateCrashHandler(); } } + + // begin printing to stdout/stderr after this point, earlier logging is debugging + // cruft that we don't want cluttering output + RDCLOGOUTPUT(); } RenderDoc::~RenderDoc()