bufmgr : add tbm_bufmgr_debug_set_trace_mask 21/171921/1
authorSooChan Lim <sc1.lim@samsung.com>
Thu, 8 Mar 2018 05:41:33 +0000 (14:41 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Thu, 8 Mar 2018 05:53:10 +0000 (14:53 +0900)
this is to set the mask for trace log

Change-Id: I7b9b9890b1ef256990389b69992499efd74162df

src/tbm_bufmgr.c
src/tbm_bufmgr.h

index 8046e9b8109cba6ea69ce5c77c21781757fbf13e..c0271956854e647d934b5148a4021c668e20121d 100644 (file)
@@ -701,6 +701,45 @@ tbm_bufmgr_debug_trace(tbm_bufmgr bufmgr, int onoff)
        _tbm_bufmgr_mutex_unlock();
 }
 
+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)
 {
index b8b73926485a14b41b41037401fb286a5043d3f6..0926b315d7055f6e85db29c513fa9b45b2a93695 100644 (file)
@@ -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