st/mesa: set debug callback async flag
[mesa.git] / src / mesa / state_tracker / st_debug.c
index 214e22381480174a2570562fa154cfe4942b3cb7..b51f350d2167bd0de561ff4b7353c1eb8d180c42 100644 (file)
@@ -27,6 +27,7 @@
 
 
 #include "main/context.h"
+#include "main/debug_output.h"
 #include "program/prog_print.h"
 
 #include "pipe/p_state.h"
@@ -164,16 +165,17 @@ st_debug_message(void *data,
 }
 
 void
-st_enable_debug_output(struct st_context *st, boolean enable)
+st_update_debug_callback(struct st_context *st)
 {
    struct pipe_context *pipe = st->pipe;
 
    if (!pipe->set_debug_callback)
       return;
 
-   if (enable) {
+   if (_mesa_get_debug_state_int(st->ctx, GL_DEBUG_OUTPUT)) {
       struct pipe_debug_callback cb;
       memset(&cb, 0, sizeof(cb));
+      cb.async = !_mesa_get_debug_state_int(st->ctx, GL_DEBUG_OUTPUT_SYNCHRONOUS);
       cb.debug_message = st_debug_message;
       cb.data = st;
       pipe->set_debug_callback(pipe, &cb);