From 8d4460b6c4b4406a3dc873b820dbe94d74437a46 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 14 Oct 2019 12:44:41 +0200 Subject: GHOST: Only spam about X11 errors when using --debug-ghost This commit adds a new command line argument --debug-ghost and makes it so X11 errors happening during context initialization are only printed when this new flag is sued. There is no need to flood users with errors when their GPU is not supporting latest OpenGL version. Or, at a very minimum, the error must be more meaning full. Differential Revision: https://developer.blender.org/D6057 --- source/blender/blenkernel/BKE_global.h | 5 ++++- source/blender/windowmanager/intern/wm_window.c | 1 + source/creator/creator_args.c | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_global.h b/source/blender/blenkernel/BKE_global.h index bee76c09cbc..65c3725d994 100644 --- a/source/blender/blenkernel/BKE_global.h +++ b/source/blender/blenkernel/BKE_global.h @@ -151,11 +151,14 @@ enum { G_DEBUG_IO = (1 << 17), /* IO Debugging (for Collada, ...)*/ G_DEBUG_GPU_SHADERS = (1 << 18), /* GLSL shaders */ G_DEBUG_GPU_FORCE_WORKAROUNDS = (1 << 19), /* force gpu workarounds bypassing detections. */ + + G_DEBUG_GHOST = (1 << 20), /* Debug GHOST module. */ }; #define G_DEBUG_ALL \ (G_DEBUG | G_DEBUG_FFMPEG | G_DEBUG_PYTHON | G_DEBUG_EVENTS | G_DEBUG_WM | G_DEBUG_JOBS | \ - G_DEBUG_FREESTYLE | G_DEBUG_DEPSGRAPH | G_DEBUG_GPU_MEM | G_DEBUG_IO | G_DEBUG_GPU_SHADERS) + G_DEBUG_FREESTYLE | G_DEBUG_DEPSGRAPH | G_DEBUG_GPU_MEM | G_DEBUG_IO | G_DEBUG_GPU_SHADERS | \ + G_DEBUG_GHOST) /** #Global.fileflags */ enum { diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 937cc8e7467..7a5f4bf8367 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -1638,6 +1638,7 @@ void wm_ghost_init(bContext *C) } g_system = GHOST_CreateSystem(); + GHOST_SystemInitDebug(g_system, G.debug & G_DEBUG_GHOST); if (C != NULL) { GHOST_AddEventConsumer(g_system, consumer); diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c index 936bdf52c91..6e3988a5ea6 100644 --- a/source/creator/creator_args.c +++ b/source/creator/creator_args.c @@ -2079,6 +2079,12 @@ void main_args_setup(bContext *C, bArgs *ba) (void *)G_DEBUG_HANDLERS); BLI_argsAdd( ba, 1, NULL, "--debug-wm", CB_EX(arg_handle_debug_mode_generic_set, wm), (void *)G_DEBUG_WM); + BLI_argsAdd(ba, + 1, + NULL, + "--debug-ghost", + CB_EX(arg_handle_debug_mode_generic_set, handlers), + (void *)G_DEBUG_GHOST); BLI_argsAdd(ba, 1, NULL, "--debug-all", CB(arg_handle_debug_mode_all), NULL); BLI_argsAdd(ba, 1, NULL, "--debug-io", CB(arg_handle_debug_mode_io), NULL); -- cgit v1.2.3