diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2015-07-20 15:37:22 +0300 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2015-07-20 15:46:11 +0300 |
commit | db38a65b022cd11892034d6882d643fd46d618c8 (patch) | |
tree | cf856905ee67da79d0d3e2cea245f4915ca11abf | |
parent | 2e2164d5d4449ad7faa320cbbda68a72105903a3 (diff) |
Filter the debug callback to only report errors unless debug value is
20.
stderr was getting flooded with too many error messages, most of which
were not really relevant.
-rw-r--r-- | source/blender/gpu/intern/gpu_debug.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/gpu/intern/gpu_debug.c b/source/blender/gpu/intern/gpu_debug.c index 3066467517a..b9a22882133 100644 --- a/source/blender/gpu/intern/gpu_debug.c +++ b/source/blender/gpu/intern/gpu_debug.c @@ -163,11 +163,16 @@ const char* gpuErrorString(GLenum err) #endif -static void APIENTRY gpu_debug_proc(GLenum UNUSED(source), GLenum UNUSED(type), GLuint UNUSED(id), +static void APIENTRY gpu_debug_proc(GLenum source, GLenum type, GLuint UNUSED(id), GLenum UNUSED(severity), GLsizei UNUSED(length), const GLchar *message, GLvoid *UNUSED(userParm)) { - fprintf(stderr, "GL: %s\n", message); + if (source == GL_DEBUG_SOURCE_API && type == GL_DEBUG_TYPE_ERROR) + fprintf(stderr, "GL: %s\n", message); + else if (G.debug_value == 20) { + fprintf(stderr, "GL: %s\n", message); + } + fflush(stderr); } |