#include <errno.h>
#include <assert.h>
#include <pthread.h>
+#include <dlog.h>
#include <tbm_bufmgr.h>
#include <tbm_bo.h>
#include <tbm_surface.h>
#include <tbm_surface_internal.h>
-#include <tbm_bufmgr_backend.h>
#include <tbm_surface_queue.h>
#include <tbm_log.h>
-#include <dlog.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)) {\
int ref_cnt; /* ref count of bo */
int flags; /* TBM_BO_FLAGS :bo memory type */
struct list_head user_data_list; /* list of the user_date in bo */
- void *priv; /* bo private */
+ void *priv; /* bo private (will be DEPRECATED) */
struct list_head item_link; /* link of bo */
tbm_surface_h surface; /* tbm_surface */
int lock_cnt; /* lock count of bo */
unsigned int map_cnt; /* device map count */
+
+ tbm_backend_bo_data *bo_data; /* bo data of the backend module */
};
/**
int fd; /* bufmgr fd */
tbm_bufmgr_bo_lock_type bo_lock_type; /* lock_type of bufmgr */
int capabilities; /* capabilities of bufmgr */
+ int display_server; /* used by display server */
unsigned int bo_cnt; /* number of bos */
struct list_head bo_list; /* list of bos belonging to bufmgr */
struct list_head surf_list; /* list of surfaces belonging to bufmgr */
struct list_head surf_queue_list; /* list of surface queues belonging to bufmgr */
struct list_head debug_key_list; /* list of debug data key list belonging to bufmgr */
- void *module_data;
- tbm_bufmgr_backend backend; /* bufmgr backend */
- int display_server; /* used by display server */
+
+ void *module_data; /* backend module */
+ tbm_bufmgr_backend backend; /* bufmgr backend (will be DEPRECATED) */
+
+ tbm_backend_module *backend_module_data; /* backend module data */
+ tbm_backend_bufmgr_data *bufmgr_data; /* backend data of the backend module */
+ tbm_backend_bufmgr_func *bufmgr_func; /* backend functions for bufmgr */
+ tbm_backend_bo_func *bo_func; /* backend functions for bo */
};
/**
int tbm_bufmgr_get_fd_limit(void);
tbm_bufmgr tbm_bufmgr_get(void);
+
+void _tbm_set_last_result(tbm_error_e err);
+
#endif /* _TBM_BUFMGR_INT_H_ */