#include <tbm_log.h>
#include <tbm_bufmgr_backend.h>
#include <tbm_backend.h>
+#include <tbm_error.h>
extern tbm_bufmgr gBufMgr;
extern int b_dump_queue;
extern int trace_mask;
-/* check condition */
-#define TBM_RETURN_IF_FAIL(cond) {\
- if (!(cond)) {\
- TBM_ERR("'%s' failed.\n", #cond);\
- return;\
- } \
-}
-#define TBM_RETURN_VAL_IF_FAIL(cond, val) {\
- if (!(cond)) {\
- TBM_ERR("'%s' failed.\n", #cond);\
- return val;\
- } \
-}
-#define TBM_GOTO_VAL_IF_FAIL(cond, val) {\
- if (!(cond)) {\
- TBM_ERR("'%s' failed.\n", #cond);\
- goto val;\
- } \
-}
-
/* check flags */
#define RETURN_CHECK_FLAG(cond) {\
if ((cond)) {\
*
*/
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 */
struct list_head user_data_list; /* list of the user_date in surface */
struct list_head debug_data_list; /* list of debug data */
+
+ struct {
+ int x;
+ int y;
+ int width;
+ int height;
+ } damage;
};
typedef struct {
int tbm_bufmgr_get_fd_limit(void);
tbm_bufmgr tbm_bufmgr_get(void);
+
+void _tbm_set_last_result(tbm_error_e err);
+
+void _tbm_bufmgr_mutex_lock(void);
+void _tbm_bufmgr_mutex_unlock(void);
+
#endif /* _TBM_BUFMGR_INT_H_ */