mirror of
https://github.com/brl/mutter.git
synced 2024-12-24 12:02:04 +00:00
profile: Adds a --enable-profile option
This adds a --enable-profile option which enables uprof based profiling. It was also necessary to fixup a CLUTTER_ENABLE_PROFILING #ifdef in cogl-context.c to renamed COGL_ENABLE_PROFILING instead. By default Cogl doesn't output uprof reports directly, instead it assumes a higher level toolkit will output a report. If you want a report from Cogl you can export COGL_PROFILE_OUTPUT_REPORT=1 before running your app. The latest version of uprof can be fetched from: git://github.com/rib/UProf.git
This commit is contained in:
parent
44e4b13324
commit
800f5e6d6e
@ -379,7 +379,7 @@ libcogl_la_LDFLAGS = \
|
|||||||
-no-undefined \
|
-no-undefined \
|
||||||
-version-info @COGL_LT_CURRENT@:@COGL_LT_REVISION@:@COGL_LT_AGE@ \
|
-version-info @COGL_LT_CURRENT@:@COGL_LT_REVISION@:@COGL_LT_AGE@ \
|
||||||
-export-dynamic \
|
-export-dynamic \
|
||||||
-export-symbols-regex "^(cogl|_cogl_debug_flags|_cogl_atlas_new|_cogl_atlas_add_reorganize_callback|_cogl_atlas_reserve_space|_cogl_callback|_cogl_util_get_eye_planes_for_screen_poly|_cogl_atlas_texture_remove_reorganize_callback|_cogl_atlas_texture_add_reorganize_callback|_cogl_texture_foreach_sub_texture_in_region|_cogl_atlas_texture_new_with_size).*"
|
-export-symbols-regex "^(cogl|_cogl_debug_flags|_cogl_atlas_new|_cogl_atlas_add_reorganize_callback|_cogl_atlas_reserve_space|_cogl_callback|_cogl_util_get_eye_planes_for_screen_poly|_cogl_atlas_texture_remove_reorganize_callback|_cogl_atlas_texture_add_reorganize_callback|_cogl_texture_foreach_sub_texture_in_region|_cogl_atlas_texture_new_with_size|_cogl_profile_trace_message).*"
|
||||||
|
|
||||||
libcogl_la_SOURCES = $(cogl_sources_c)
|
libcogl_la_SOURCES = $(cogl_sources_c)
|
||||||
nodist_libcogl_la_SOURCES = $(BUILT_SOURCES)
|
nodist_libcogl_la_SOURCES = $(BUILT_SOURCES)
|
||||||
|
@ -111,7 +111,7 @@ cogl_context_new (CoglDisplay *display,
|
|||||||
const CoglWinsysVtable *winsys;
|
const CoglWinsysVtable *winsys;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
#ifdef CLUTTER_ENABLE_PROFILE
|
#ifdef COGL_ENABLE_PROFILE
|
||||||
/* We need to be absolutely sure that uprof has been initialized
|
/* We need to be absolutely sure that uprof has been initialized
|
||||||
* before calling _cogl_uprof_init. uprof_init (NULL, NULL)
|
* before calling _cogl_uprof_init. uprof_init (NULL, NULL)
|
||||||
* will be a NOP if it has been initialized but it will also
|
* will be a NOP if it has been initialized but it will also
|
||||||
|
24
configure.ac
24
configure.ac
@ -209,6 +209,29 @@ AS_IF([test "x$enable_cairo" = "xyes" && test "x$enable_debug" = "xyes"],
|
|||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl ============================================================
|
||||||
|
dnl Enable profiling
|
||||||
|
dnl ============================================================
|
||||||
|
AC_ARG_ENABLE(profile,
|
||||||
|
AC_HELP_STRING([--enable-uprof=@<:@no/yes@:>@],
|
||||||
|
[Turn on uprof profiling support. yes; All UProf profiling probe points are compiled in and may be runtime enabled. no; No profiling support will built into cogl. @<:@default=no@:>@]),
|
||||||
|
[],
|
||||||
|
[enable_profile=no])
|
||||||
|
AS_IF([test "x$enable_profile" = "xyes"],
|
||||||
|
[
|
||||||
|
AS_IF([test "x$GCC" = "xyes"],
|
||||||
|
[
|
||||||
|
COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES uprof-0.3"
|
||||||
|
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -DCOGL_ENABLE_PROFILE"
|
||||||
|
AS_IF([test "x$enable_debug" = "xyes"], [COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -DUPROF_DEBUG"])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
AC_MSG_ERROR([--enable-profile is currently only supported if using GCC])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
AM_CONDITIONAL(PROFILE, test "x$enable_profile" != "xno")
|
||||||
|
|
||||||
|
|
||||||
dnl ============================================================
|
dnl ============================================================
|
||||||
dnl Enable strict compiler flags
|
dnl Enable strict compiler flags
|
||||||
dnl ============================================================
|
dnl ============================================================
|
||||||
@ -895,6 +918,7 @@ echo " Wayland compositor support: ${enable_wayland_egl_server}"
|
|||||||
fi
|
fi
|
||||||
echo " Image backend: ${COGL_IMAGE_BACKEND}"
|
echo " Image backend: ${COGL_IMAGE_BACKEND}"
|
||||||
echo " Cogl Pango: ${enable_cogl_pango}"
|
echo " Cogl Pango: ${enable_cogl_pango}"
|
||||||
|
echo " Profiling: ${enable_profile}"
|
||||||
|
|
||||||
# Compiler/Debug related flags
|
# Compiler/Debug related flags
|
||||||
echo ""
|
echo ""
|
||||||
|
Loading…
Reference in New Issue
Block a user