Lines Matching refs:debug

69  * An error, warning, or other piece of debug information for an application
185 * building a giant enum list of all debug output messages that Mesa might
388 * Allocate and initialize context debug state.
393 struct gl_debug_state *debug;
396 debug = CALLOC_STRUCT(gl_debug_state);
397 if (!debug)
400 debug->Groups[0] = malloc(sizeof(*debug->Groups[0]));
401 if (!debug->Groups[0]) {
402 free(debug);
406 /* Initialize state for filtering known debug messages. */
409 debug_namespace_init(&debug->Groups[0]->Namespaces[s][t]);
412 return debug;
416 * Return true if the top debug group points to the group below it.
419 debug_is_group_read_only(const struct gl_debug_state *debug)
421 const GLint gstack = debug->CurrentGroup;
422 return (gstack > 0 && debug->Groups[gstack] == debug->Groups[gstack - 1]);
426 * Make the top debug group writable.
429 debug_make_group_writable(struct gl_debug_state *debug)
431 const GLint gstack = debug->CurrentGroup;
432 const struct gl_debug_group *src = debug->Groups[gstack];
436 if (!debug_is_group_read_only(debug))
460 debug->Groups[gstack] = dst;
466 * Free the top debug group.
469 debug_clear_group(struct gl_debug_state *debug)
471 const GLint gstack = debug->CurrentGroup;
473 if (!debug_is_group_read_only(debug)) {
474 struct gl_debug_group *grp = debug->Groups[gstack];
485 debug->Groups[gstack] = NULL;
489 * Delete the oldest debug messages out of the log.
492 debug_delete_messages(struct gl_debug_state *debug, int count)
494 struct gl_debug_log *log = &debug->Log;
511 * Loop through debug group stack tearing down states for
512 * filtering debug messages. Then free debug output state.
515 debug_destroy(struct gl_debug_state *debug)
517 while (debug->CurrentGroup > 0) {
518 debug_clear_group(debug);
519 debug->CurrentGroup--;
522 debug_clear_group(debug);
523 debug_delete_messages(debug, debug->Log.NumMessages);
524 free(debug);
531 debug_set_message_enable(struct gl_debug_state *debug,
536 const GLint gstack = debug->CurrentGroup;
539 debug_make_group_writable(debug);
540 ns = &debug->Groups[gstack]->Namespaces[source][type];
557 debug_set_message_enable_all(struct gl_debug_state *debug,
563 const GLint gstack = debug->CurrentGroup;
580 debug_make_group_writable(debug);
585 &debug->Groups[gstack]->Namespaces[s][t];
595 _mesa_debug_is_message_enabled(const struct gl_debug_state *debug,
601 const GLint gstack = debug->CurrentGroup;
602 struct gl_debug_group *grp = debug->Groups[gstack];
605 if (!debug->DebugOutput)
618 debug_log_message(struct gl_debug_state *debug,
624 struct gl_debug_log *log = &debug->Log;
628 if (debug->LogToStderr) {
629 _mesa_log("Mesa debug output: %.*s\n", len, buf);
648 * Return the oldest debug message out of the log.
651 debug_fetch_message(const struct gl_debug_state *debug)
653 const struct gl_debug_log *log = &debug->Log;
659 debug_get_group_message(struct gl_debug_state *debug)
661 return &debug->GroupMessages[debug->CurrentGroup];
665 debug_push_group(struct gl_debug_state *debug)
667 const GLint gstack = debug->CurrentGroup;
670 debug->Groups[gstack + 1] = debug->Groups[gstack];
671 debug->CurrentGroup++;
675 debug_pop_group(struct gl_debug_state *debug)
677 debug_clear_group(debug);
678 debug->CurrentGroup--;
683 * Lock and return debug state for the context. The debug state will be
685 * debug state is not locked.
703 _mesa_error(ctx, GL_OUT_OF_MEMORY, "allocating debug state");
719 * Set the integer debug state specified by \p pname. This can be called from
725 struct gl_debug_state *debug = _mesa_lock_debug_state(ctx);
727 if (!debug)
732 debug->DebugOutput = (val != 0);
735 debug->SyncOutput = (val != 0);
738 assert(!"unknown debug output param");
748 * Query the integer debug state specified by \p pname. This can be called
756 struct gl_debug_state *debug = _mesa_lock_debug_state(ctx);
757 if (!debug)
762 val = debug->DebugOutput;
765 val = debug->SyncOutput;
768 val = debug->Log.NumMessages;
771 val = (debug->Log.NumMessages) ?
772 debug->Log.Messages[debug->Log.NextMessage].length + 1 : 0;
775 val = debug->CurrentGroup + 1;
778 assert(!"unknown debug output param");
789 * Query the pointer debug state specified by \p pname. This can be called
796 struct gl_debug_state *debug = _mesa_lock_debug_state(ctx);
798 if (!debug)
803 val = (void *) debug->Callback;
806 val = (void *) debug->CallbackData;
809 assert(!"unknown debug output param");
820 * Insert a debug message. The mutex is assumed to be locked, and will be
830 struct gl_debug_state *debug = ctx->Debug;
832 if (!_mesa_debug_is_message_enabled(debug, source, type, id, severity)) {
854 /* add debug message to queue */
861 * Log a client or driver debug message.
868 struct gl_debug_state *debug = _mesa_lock_debug_state(ctx);
870 if (!debug)
1025 struct gl_debug_state *debug;
1044 debug = _mesa_lock_debug_state(ctx);
1045 if (!debug)
1049 const struct gl_debug_message *msg = debug_fetch_message(debug);
1081 debug_delete_messages(debug, 1);
1100 struct gl_debug_state *debug;
1127 debug = _mesa_lock_debug_state(ctx);
1128 if (!debug)
1134 debug_set_message_enable(debug, source, type, ids[i], enabled);
1137 debug_set_message_enable_all(debug, source, type, severity, enabled);
1148 struct gl_debug_state *debug = _mesa_lock_debug_state(ctx);
1149 if (debug) {
1150 debug->Callback = callback;
1151 debug->CallbackData = userParam;
1163 struct gl_debug_state *debug;
1187 debug = _mesa_lock_debug_state(ctx);
1188 if (!debug)
1191 if (debug->CurrentGroup >= MAX_DEBUG_GROUP_STACK_DEPTH-1) {
1198 emptySlot = debug_get_group_message(debug);
1206 debug_push_group(debug);
1221 struct gl_debug_state *debug;
1229 debug = _mesa_lock_debug_state(ctx);
1230 if (!debug)
1233 if (debug->CurrentGroup <= 0) {
1239 debug_pop_group(debug);
1242 gdmessage = debug_get_group_message(debug);
1265 * GL_CONTEXT_FLAG_DEBUG_BIT context flag and log debug output
1268 struct gl_debug_state *debug = _mesa_lock_debug_state(ctx);
1269 if (!debug) {
1272 debug->DebugOutput = GL_TRUE;
1273 debug->LogToStderr = GL_TRUE;