extern int b_dump_queue;
extern int trace_mask;
+#define C(b, m) (((b) >> (m)) & 0xFF)
+#define B(c, s) ((((unsigned int)(c)) & 0xff) << (s))
+#define FOURCC(a, b, c, d) (B(d, 24) | B(c, 16) | B(b, 8) | B(a, 0))
+#define FOURCC_STR(id) C(id, 0), C(id, 8), C(id, 16), C(id, 24)
+#define FOURCC_ID(str) FOURCC(((char*)str)[0], ((char*)str)[1], ((char*)str)[2], ((char*)str)[3])
+
/* check flags */
#define RETURN_CHECK_FLAG(cond) {\
if ((cond)) {\
* @brief tbm_bo : buffer object of Tizen Buffer Manager
*/
struct _tbm_bo {
+ unsigned int magic; /* tbm bo magic number */
tbm_bufmgr bufmgr; /* tbm buffer manager */
int ref_cnt; /* ref count of bo */
int flags; /* TBM_BO_FLAGS :bo memory type */
*
*/
struct _tbm_bufmgr {
- pthread_mutex_t lock; /* mutex lock */
int ref_count; /* reference count */
int fd; /* bufmgr fd */
tbm_bufmgr_bo_lock_type bo_lock_type; /* lock_type of bufmgr */
*
*/
struct _tbm_surface {
+ unsigned int magic; /* tbm surface magic number */
+
tbm_bufmgr bufmgr; /* tbm buffer manager */
tbm_surface_info_s info; /* tbm surface information */
int _tbm_surface_is_valid(tbm_surface_h surface);
void _tbm_bo_free(tbm_bo bo);
-/* functions for mutex */
int tbm_surface_internal_get_info(tbm_surface_h surface, int opt,
tbm_surface_info_s *info, int map);
void tbm_surface_internal_unmap(tbm_surface_h surface);
void _tbm_set_last_result(tbm_error_e err);
+/* functions for mutex */
void _tbm_bufmgr_mutex_lock(void);
void _tbm_bufmgr_mutex_unlock(void);
+tbm_bo tbm_bo_alloc_with_format(tbm_bufmgr bufmgr, int format, int bo_idx, int width,
+ int height, tbm_bo_memory_type flags, tbm_error_e *error);
+tbm_bo tbm_bo_alloc_with_tiled_format(tbm_bufmgr bufmgr, int width, int height, int bpp, int format,
+ tbm_bo_memory_type flags, int bo_idx, tbm_error_e *error);
+tbm_bo tbm_bo_alloc_with_surface(tbm_bufmgr bufmgr, int width, int height, int format, int flags, int bo_idx);
+
#endif /* _TBM_BUFMGR_INT_H_ */