summaryrefslogtreecommitdiff
path: root/cogl/cogl-debug.c
diff options
context:
space:
mode:
authorRobert Bragg <robert@linux.intel.com>2010-06-21 15:36:46 +0100
committerRobert Bragg <robert@linux.intel.com>2010-09-14 12:43:16 +0100
commit9d4ad1584d32a61ec6879601bc320fd79e2efb1e (patch)
tree5590c8c150ac958fad157afb8e49847b79ca55c5 /cogl/cogl-debug.c
parent4628d28172b2ec1cb6ef160d11f05863bcd5bd50 (diff)
downloadcogl-9d4ad1584d32a61ec6879601bc320fd79e2efb1e.tar.gz
profile: Update to uprof-0.3 dep for --enable-profile
When building with --enable-profile we now depend on the uprof-0.3 developer release which brings a few improvements: » It lets us "fix" how we initialize uprof so that instead of using a shared object constructor/destructor (which was a hack used when first adding uprof support to Clutter) we can now initialize as part of clutter's normal initialization code. As a side note though, I found that the way Clutter initializes has some quite serious problems whenever it involves GOptionGroups. It is not able to guarantee the initialization of dependencies like uprof and Cogl. For this reason we still use the contructor/destructor approach to initialize uprof in Cogl. » uprof-0.3 provides a better API for adding custom columns when reporting timer and counter statistics which lets us remove quite a lot of manual report generation code in clutter-profile.c. » uprof-0.3 provides a shared context for tracking mainloop timer statistics. This means any mainloop based library following the same "Mainloop" timer naming convention can use the shared context and no matter who ends up owning the final mainloop the statistics will always be in the same place. This allows profiling of Clutter with an external mainloop such as with the Mutter compositor. » uprof-0.3 can export statistics over dbus and comes with an ncurses based ui to vizualize timer and counter stats live. The latest version of uprof can be cloned from: git://github.com/rib/UProf.git
Diffstat (limited to 'cogl/cogl-debug.c')
-rw-r--r--cogl/cogl-debug.c37
1 files changed, 7 insertions, 30 deletions
diff --git a/cogl/cogl-debug.c b/cogl/cogl-debug.c
index 0dbf7f25..2289af2a 100644
--- a/cogl/cogl-debug.c
+++ b/cogl/cogl-debug.c
@@ -103,37 +103,14 @@ _cogl_parse_debug_string (const char *value,
else if (strcmp (value, "help") == 0)
{
g_printerr ("\n\n%28s\n", "Supported debug values:");
-#define OPT(NAME, HELP) \
- g_printerr ("%28s %s\n", NAME, HELP);
- OPT ("handle:", "debug ref counting issues for Cogl objects");
- OPT ("slicing:", "debug the creation of texture slices");
- OPT ("atlas:", "debug texture atlas management");
- OPT ("blend-strings:", "debug blend-string parsing");
- OPT ("journal:", "view all geometry passing through the journal");
- OPT ("batching:", "show how geometry is being batched in the journal");
- OPT ("matrices:", "trace all matrix manipulation");
- /* XXX: we should replace the "draw" option its very hand wavy... */
- OPT ("draw:", "misc tracing of some drawing operations");
- OPT ("pango:", "trace the pango renderer");
- OPT ("texture-pixmap:", "trace the Cogl texture pixmap backend");
- OPT ("rectangles:", "add wire outlines for all rectangular geometry");
- OPT ("disable-batching:", "disable the journal batching");
- OPT ("disable-vbos:", "disable use of OpenGL vertex buffer objects");
- OPT ("disable-pbos:", "disable use of OpenGL pixel buffer objects");
- OPT ("disable-software-transform",
- "use the GPU to transform rectangular geometry");
- OPT ("dump-atlas-image:", "dump atlas changes to an image file");
- OPT ("disable-atlas:", "disable texture atlasing");
- OPT ("disable-texturing:", "disable texturing primitives");
- OPT ("disable-arbfp:", "disable use of ARBfp");
- OPT ("disable-glsl:", "disable use of GLSL");
- OPT ("disable-blending:", "disable use of blending");
- OPT ("show-source:", "show generated ARBfp/GLSL");
- OPT ("opengl:", "traces some select OpenGL calls");
- OPT ("offscreen:", "debug offscreen support");
+#define OPT(MASK_NAME, GROUP, NAME, NAME_FORMATTED, DESCRIPTION) \
+ g_printerr ("%28s %s\n", NAME ":", DESCRIPTION);
+#include "cogl-debug-options.h"
g_printerr ("\n%28s\n", "Special debug values:");
- OPT ("all:", "Enables all non-behavioural debug options");
- OPT ("verbose:", "Enables all non-behavioural debug options");
+ OPT (IGNORED, "ignored", "all", "ignored", \
+ "Enables all non-behavioural debug options");
+ OPT (IGNORED, "ignored", "verbose", "ignored", \
+ "Enables all non-behavioural debug options");
#undef OPT
exit (1);
}