Fix deadlock problem
[platform/core/uifw/libtbm.git] / src / tbm_surface_internal.h
index dc08067..d836774 100644 (file)
@@ -350,6 +350,16 @@ void tbm_surface_internal_set_debug_pid(tbm_surface_h surface,
                                        unsigned int pid);
 
 /**
+ * @brief Set the string value to the tbm_surface for debugging.
+ * @since_tizen 3.0
+ * @param[in] surface : the tbm_surface_h
+ * @param[in] key : the key for debugging
+ * @param[in] value : the value for debugging
+ */
+int tbm_surface_internal_set_debug_data(tbm_surface_h surface,
+                                       char *key, char *value);
+
+/**
  * @brief Adds a user_data to the tbm surface.
  * @since_tizen 3.0
  * @param[in] surface : the tbm surface.
@@ -397,6 +407,63 @@ int tbm_surface_internal_get_user_data(tbm_surface_h surface, unsigned long key,
 int tbm_surface_internal_delete_user_data(tbm_surface_h surface,
                                          unsigned long key);
 
+/**
+ * @brief Start the dump debugging.
+ * @since_tizen 3.0
+ * @param[in] path : the given dump path
+ * @param[in] w : the width of dump image
+ * @param[in] h : the height of dump image
+ * @param[in] count : the dump count number
+ * @see #tdm_helper_dump_stop()
+ */
+void tbm_surface_internal_dump_start(char *path, int w, int h, int count);
+
+/**
+ * @brief End the dump debugging.
+ * @since_tizen 3.0
+ * @see #tdm_helper_dump_start()
+ */
+void tbm_surface_internal_dump_end(void);
+
+/**
+ * @brief Dump a buffer
+ * @details
+ * This function supports only if a buffer has below formats.
+ * - TBM_FORMAT_ARGB8888
+ * - TBM_FORMAT_XRGB8888
+ * - TBM_FORMAT_YVU420
+ * - TBM_FORMAT_YUV420
+ * - TBM_FORMAT_NV12
+ * - TBM_FORMAT_NV21
+ * - TBM_FORMAT_YUYV
+ * - TBM_FORMAT_UYVY
+ * The filename extension should be "png" for TBM_FORMAT_ARGB8888 and TBM_FORMAT_XRGB8888
+ * or "yuv" for YUV formats.
+ * @param[in] surface : a tbm surface
+ * @param[in] type : a string used by a file name
+ */
+void tbm_surface_internal_dump_buffer(tbm_surface_h surface, const char *type);
+
+/**
+ * @brief Dump a shared memory buffer
+ * @details
+ * This function supports shared memory buffer dump.
+ * @param[in] ptr : a pointer of dump buffer
+ * @param[in] w : a width of dump buffer
+ * @param[in] h : a height of dump buffer
+ * @param[in] stride : a stride of dump buffer
+ * @param[in] type : a string used by a file name
+ */
+void tbm_surface_internal_dump_shm_buffer(void *ptr, int w, int h, int stride, const char *type);
+
+/**
+ * @brief check valid tbm surface.
+ * @since_tizen 3.0
+ * @param[in] surface : the tbm surface.
+ * @return 1 if surface is valid, otherwise 0.
+ */
+int tbm_surface_internal_is_valid(tbm_surface_h surface);
+
 #ifdef __cplusplus
 }
 #endif