diff --git a/src/Magnum/GL/Context.cpp b/src/Magnum/GL/Context.cpp index 0a0497b9a..58432c1f5 100644 --- a/src/Magnum/GL/Context.cpp +++ b/src/Magnum/GL/Context.cpp @@ -474,8 +474,10 @@ Context::Context(NoCreateT, Utility::Arguments& args, Int argc, const char** arg .setFromEnvironment("log") .parse(argc, argv); - /* Decide whether to display initialization log */ - if(!(args.value("log") == "quiet" || args.value("log") == "QUIET")) + /* Decide how to display initialization log */ + if(args.value("log") == "verbose" || args.value("log") == "VERBOSE") + _internalFlags |= InternalFlag::DisplayVerboseInitializationLog; + else if(!(args.value("log") == "quiet" || args.value("log") == "QUIET")) _internalFlags |= InternalFlag::DisplayInitializationLog; /* Decide whether to enable GPU validation */ @@ -755,6 +757,8 @@ bool Context::tryCreate() { if((detectedDriver() & DetectedDriver::Amd) && !(flags() & Flag::Debug)) { Warning{} << "GL::Context: GPU validation on AMD drivers requires debug context to work properly"; + } else if(_internalFlags >= InternalFlag::DisplayVerboseInitializationLog) { + Debug{} << "GL::Context: enabling GPU validation"; } } else Warning{} << "GL::Context: GPU validation requested, but GL_KHR_debug not supported"; diff --git a/src/Magnum/GL/Context.h b/src/Magnum/GL/Context.h index 5af46be05..f7cf89367 100644 --- a/src/Magnum/GL/Context.h +++ b/src/Magnum/GL/Context.h @@ -733,7 +733,8 @@ class MAGNUM_GL_EXPORT Context { enum class InternalFlag: UnsignedByte { DisplayInitializationLog = 1 << 0, - GpuValidation = 1 << 1 + DisplayVerboseInitializationLog = DisplayInitializationLog|(1 << 1), + GpuValidation = 1 << 2 }; typedef Containers::EnumSet InternalFlags; CORRADE_ENUMSET_FRIEND_OPERATORS(InternalFlags)