From: SooChan Lim Date: Thu, 8 Mar 2018 05:41:33 +0000 (+0900) Subject: bufmgr : add tbm_bufmgr_debug_set_trace_mask X-Git-Tag: submit/tizen/20180308.090010~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F21%2F171921%2F1;p=platform%2Fcore%2Fuifw%2Flibtbm.git bufmgr : add tbm_bufmgr_debug_set_trace_mask this is to set the mask for trace log Change-Id: I7b9b9890b1ef256990389b69992499efd74162df --- diff --git a/src/tbm_bufmgr.c b/src/tbm_bufmgr.c index 8046e9b..c027195 100644 --- a/src/tbm_bufmgr.c +++ b/src/tbm_bufmgr.c @@ -702,6 +702,45 @@ tbm_bufmgr_debug_trace(tbm_bufmgr bufmgr, int onoff) } void +tbm_bufmgr_debug_set_trace_mask(tbm_bufmgr bufmgr, tbm_bufmgr_debug_trace_mask mask, int set) +{ + _tbm_bufmgr_mutex_lock(); + + TBM_BUFMGR_RETURN_IF_FAIL(TBM_BUFMGR_IS_VALID(bufmgr)); + TBM_BUFMGR_RETURN_IF_FAIL(bufmgr == gBufMgr); + + if (set == 1) { + trace_mask |= mask; + + TBM_INFO("bufmgr=%p sets the trace_mask=%d\n", bufmgr, mask); + if (trace_mask&TBM_BUFGMR_DEBUG_TRACE_BO) + TBM_INFO(" TBM_BUFGMR_DEBUG_TRACE_BO"); + if (trace_mask&TBM_BUFGMR_DEBUG_TRACE_SURFACE_INTERNAL) + TBM_INFO(" TBM_BUFGMR_DEBUG_TRACE_SURFACE_INTERNAL"); + if (trace_mask&TBM_BUFGMR_DEBUG_TRACE_SURFACE) + TBM_INFO(" TBM_BUFGMR_DEBUG_TRACE_SURFACE"); + if (trace_mask&TBM_BUFGMR_DEBUG_TRACE_SURFACE_QUEUE) + TBM_INFO(" TBM_BUFGMR_DEBUG_TRACE_SURFACE_QUEUE"); + } else if (set == 0) { + trace_mask &= ~mask; + + TBM_INFO("bufmgr=%p unsets the trace_mask=%d\n", bufmgr, mask); + if (trace_mask&TBM_BUFGMR_DEBUG_TRACE_BO) + TBM_INFO(" TBM_BUFGMR_DEBUG_TRACE_BO"); + if (trace_mask&TBM_BUFGMR_DEBUG_TRACE_SURFACE_INTERNAL) + TBM_INFO(" TBM_BUFGMR_DEBUG_TRACE_SURFACE_INTERNAL"); + if (trace_mask&TBM_BUFGMR_DEBUG_TRACE_SURFACE) + TBM_INFO(" TBM_BUFGMR_DEBUG_TRACE_SURFACE"); + if (trace_mask&TBM_BUFGMR_DEBUG_TRACE_SURFACE_QUEUE) + TBM_INFO(" TBM_BUFGMR_DEBUG_TRACE_SURFACE_QUEUE"); + } else { + TBM_WRN("set value is wrong.(set=%d)", set); + } + + _tbm_bufmgr_mutex_unlock(); +} + +void tbm_bufmgr_debug_dump_set_scale(double scale) { pthread_mutex_lock(&gLock); diff --git a/src/tbm_bufmgr.h b/src/tbm_bufmgr.h index b8b7392..0926b31 100644 --- a/src/tbm_bufmgr.h +++ b/src/tbm_bufmgr.h @@ -219,6 +219,15 @@ void tbm_bufmgr_debug_dump_set_scale(double scale); */ int tbm_bufmgr_debug_get_ref_count(void); +/** + * @brief set or unset the trace_mask to print out the trace logs. + * @since_tizen 5.0 + * @param[in] bufmgr : the buffer manager + * @param[in] mask : enum value for the trace log + * @param[in] set : set the mask when set is 1, otherwise unset the mask when set is 0 + */ +void tbm_bufmgr_debug_set_trace_mask(tbm_bufmgr bufmgr, tbm_bufmgr_debug_trace_mask mask, int set); + #ifdef __cplusplus } #endif