diff options
author | Florian Müllner <fmuellner@gnome.org> | 2021-07-19 00:01:24 +0200 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2021-07-19 00:03:33 +0200 |
commit | 952865a86ebb08f97263cfdbfe38b7adc20e4560 (patch) | |
tree | 1f9347628656210b03ceee4fae83beb21491d1eb /cogl/cogl/cogl-profile.c | |
parent | 7862f143937e43dca0513af3a24dabfb4d0db4fc (diff) | |
download | mutter-master.tar.gz |
Replace contents with redirect messagemaster
The default development branch is now `main`. This commit only exists
on `master` to point people towards that.
See https://gitlab.gnome.org/GNOME/glib/-/issues/2348 for details.
Diffstat (limited to 'cogl/cogl/cogl-profile.c')
-rw-r--r-- | cogl/cogl/cogl-profile.c | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/cogl/cogl/cogl-profile.c b/cogl/cogl/cogl-profile.c deleted file mode 100644 index c7ee7dca1..000000000 --- a/cogl/cogl/cogl-profile.c +++ /dev/null @@ -1,122 +0,0 @@ -#include "cogl-config.h" - -#ifdef COGL_ENABLE_PROFILE - -#include "cogl-profile.h" -#include "cogl-debug.h" -#include "cogl-i18n-private.h" - -#include <stdlib.h> - -UProfContext *_cogl_uprof_context; - -static gboolean -debug_option_getter (void *user_data) -{ - unsigned int shift = GPOINTER_TO_UINT (user_data); - return COGL_DEBUG_ENABLED (shift); -} - -static void -debug_option_setter (gboolean value, void *user_data) -{ - unsigned int shift = GPOINTER_TO_UINT (user_data); - - if (value) - COGL_DEBUG_SET_FLAG (shift); - else - COGL_DEBUG_CLEAR_FLAG (shift); -} - -static void -print_exit_report (void) -{ - if (getenv ("COGL_PROFILE_OUTPUT_REPORT")) - { - UProfContext *mainloop_context; - UProfTimerResult *mainloop_timer; - UProfReport *report; - - /* NB: uprof provides a shared context for mainloop statistics - * which needs to be setup by the application which controls the - * mainloop. - * - * If no "Mainloop" timer has been setup then we print a warning - * since we can't provide a meaningful Cogl report without one. - */ - mainloop_context = uprof_get_mainloop_context (); - mainloop_timer = uprof_context_get_timer_result (mainloop_context, - "Mainloop"); - /* just bail out if the mainloop timer wasn't hit */ - if (!mainloop_timer) - { - g_warning ("\n\n" - "No UProf \"Mainloop\" timer was setup by the " - "application therefore we\ncan't provide a meaningful " - "profile report.\n" - "\n" - "This should be done automatically if you are using Clutter " - "(if\nbuilt with --enable-profile)\n" - "\n" - "If you aren't using Clutter then you can declare a " - "\"Mainloop\" UProf\ntimer in your application like this:\n\n" - " UPROF_STATIC_TIMER (mainloop_timer, \n" - " NULL,\n" - " \"Mainloop\",\n" - " \"Time in glib mainloop\",\n" - " 0);\n" - "\n" - "And start/stop it around your mainloop like this:\n" - "\n" - " UPROF_TIMER_START (uprof_get_mainloop_context (), mainloop_timer);\n" - " g_main_loop_run (loop);\n" - " UPROF_TIMER_STOP (uprof_get_mainloop_context (), mainloop_timer);\n"); - return; - } - - report = uprof_report_new ("Cogl report"); - uprof_report_add_context (report, _cogl_uprof_context); - uprof_report_print (report); - uprof_report_unref (report); - } - uprof_context_unref (_cogl_uprof_context); -} - -void -_cogl_uprof_init (void) -{ - _cogl_uprof_context = uprof_context_new ("Cogl"); - uprof_context_link (_cogl_uprof_context, uprof_get_mainloop_context ()); -#define OPT(MASK_NAME, GROUP, NAME, NAME_FORMATTED, DESCRIPTION) \ - G_STMT_START { \ - int shift = COGL_DEBUG_ ## MASK_NAME; \ - uprof_context_add_boolean_option (_cogl_uprof_context, \ - GROUP, \ - NAME, \ - NAME_FORMATTED, \ - DESCRIPTION, \ - debug_option_getter, \ - debug_option_setter, \ - GUINT_TO_POINTER (shift)); \ - } G_STMT_END; - -#include "cogl-debug-options.h" -#undef OPT - - atexit (print_exit_report); -} - -void -_cogl_profile_trace_message (const char *format, ...) -{ - va_list ap; - - va_start (ap, format); - g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, format, ap); - va_end (ap); - - if (_cogl_uprof_context) - uprof_context_vtrace_message (_cogl_uprof_context, format, ap); -} - -#endif |