[ TDM_MODULE_PATH="${DEFAULT_TDM_MODULE_PATH}" ])
AC_DEFINE_UNQUOTED(TDM_MODULE_PATH, "${TDM_MODULE_PATH}", [Directory for the modules of tdm])
+PKG_CHECK_MODULES(TTRACE,
+ [ttrace],
+ [have_ttrace="yes"], [have_ttrace="no"])
+if test "x$have_ttrace" = "xyes"; then
+ AC_DEFINE(HAVE_TTRACE, 1, [ttrace available])
+fi
+
# For enumerating devices in test case
AC_SUBST(WARN_CFLAGS)
AC_OUTPUT([
BuildRequires: pkgconfig(pthread-stubs)
BuildRequires: pkgconfig(libtbm)
BuildRequires: pkgconfig(libpng)
+BuildRequires: pkgconfig(ttrace)
%description
Common user library of Tizen Display Manager : libtdm front-end library
snprintf(path, sizeof(path), TDM_MODULE_PATH "/%s", file);
+ TDM_TRACE_BEGIN(Load_Backend);
+
module = dlopen(path, RTLD_LAZY);
if (!module)
{
TDM_ERR("failed to load module: %s(%s)", dlerror(), file);
+ TDM_TRACE_END();
return TDM_ERROR_BAD_MODULE;
}
{
TDM_ERR("'%s' doesn't have data object", file);
ret = TDM_ERROR_BAD_MODULE;
+ TDM_TRACE_END();
goto failed_load;
}
if (ret != TDM_ERROR_NONE)
goto failed_load;
+ TDM_TRACE_END();
+
/* We don't care if backend_data is NULL or not. It's up to backend. */
+ TDM_TRACE_BEGIN(Init_Backend);
private_display->bdata = module_data->init((tdm_display*)private_display, &ret);
+ TDM_TRACE_END();
if (ret != TDM_ERROR_NONE)
{
TDM_ERR("'%s' init failed", file);
if (ret != TDM_ERROR_NONE)
goto failed_load;
+ TDM_TRACE_BEGIN(Update_Display);
ret = _tdm_display_update_internal(private_display, 0);
+ TDM_TRACE_END();
if (ret != TDM_ERROR_NONE)
goto failed_update;
+ TDM_TRACE_BEGIN(Bufmgr_Init);
ret = _tdm_display_init_bufmgr(private_display);
+ TDM_TRACE_END();
if (ret != TDM_ERROR_NONE)
goto failed_update;
}\
}
+#ifdef HAVE_TTRACE
+#include <ttrace.h>
+#define TDM_TRACE_BEGIN(NAME) traceBegin(TTRACE_TAG_GRAPHICS, "TDM:"#NAME)
+#define TDM_TRACE_END() traceEnd(TTRACE_TAG_GRAPHICS)
+#else
+#define TDM_TRACE_BEGIN(NAME)
+#define TDM_TRACE_END()
+#endif
+
#define TDM_NEVER_GET_HERE() TDM_ERR("** NEVER GET HERE **")
#define TDM_SNPRINTF(p, len, fmt, ARG...) \