projects
/
platform
/
core
/
uifw
/
libtbm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bufmgr: make the _tbm_bufmgr_init
[platform/core/uifw/libtbm.git]
/
src
/
tbm_bufmgr.c
diff --git
a/src/tbm_bufmgr.c
b/src/tbm_bufmgr.c
index
ac48c1e
..
5f55aef
100644
(file)
--- a/
src/tbm_bufmgr.c
+++ b/
src/tbm_bufmgr.c
@@
-155,18
+155,22
@@
_tbm_flag_to_str(int f)
int c = 0;
if (f & TBM_BO_SCANOUT)
int c = 0;
if (f & TBM_BO_SCANOUT)
- c
= snprintf(&str[c], 255
, "SCANOUT");
+ c
+= snprintf(&str[c], 255-c
, "SCANOUT");
if (f & TBM_BO_NONCACHABLE) {
if (f & TBM_BO_NONCACHABLE) {
- if (c)
- c = snprintf(&str[c], 255, ", ");
- c = snprintf(&str[c], 255, "NONCACHABLE,");
+ if (c >= 0 && c < 255)
+ c += snprintf(&str[c], 255-c, ", ");
+
+ if (c >= 0 && c < 255)
+ c += snprintf(&str[c], 255-c, "NONCACHABLE,");
}
if (f & TBM_BO_WC) {
}
if (f & TBM_BO_WC) {
- if (c)
- c = snprintf(&str[c], 255, ", ");
- c = snprintf(&str[c], 255, "WC");
+ if (c >= 0 && c < 255)
+ c += snprintf(&str[c], 255-c, ", ");
+
+ if (c >= 0 && c < 255)
+ c += snprintf(&str[c], 255-c, "WC");
}
}
}
}
@@
-616,8
+620,8
@@
_tbm_load_module(tbm_bufmgr bufmgr, int fd)
}
/* LCOV_EXCL_STOP */
}
/* LCOV_EXCL_STOP */
-tbm_bufmgr
-
tbm_bufmgr_init(int fd
)
+
static
tbm_bufmgr
+
_tbm_bufmgr_init(int fd, int server
)
{
#ifdef TBM_BUFMGR_INIT_TIME
struct timeval start_tv, end_tv;
{
#ifdef TBM_BUFMGR_INIT_TIME
struct timeval start_tv, end_tv;
@@
-745,6
+749,16
@@
tbm_bufmgr_init(int fd)
return gBufMgr;
}
return gBufMgr;
}
+tbm_bufmgr
+tbm_bufmgr_init(int fd)
+{
+ tbm_bufmgr bufmgr;
+
+ bufmgr = _tbm_bufmgr_init(fd, 0);
+
+ return bufmgr;
+}
+
void
tbm_bufmgr_deinit(tbm_bufmgr bufmgr)
{
void
tbm_bufmgr_deinit(tbm_bufmgr bufmgr)
{
@@
-1233,6
+1247,7
@@
tbm_bo_unmap(tbm_bo bo)
TBM_BUFMGR_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(gBufMgr), 0);
TBM_BUFMGR_RETURN_VAL_IF_FAIL(_tbm_bo_is_valid(bo), 0);
TBM_BUFMGR_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(gBufMgr), 0);
TBM_BUFMGR_RETURN_VAL_IF_FAIL(_tbm_bo_is_valid(bo), 0);
+ TBM_BUFMGR_RETURN_VAL_IF_FAIL(bo->map_cnt > 0, 0);
ret = bufmgr->backend->bo_unmap(bo);
if (!ret) {
ret = bufmgr->backend->bo_unmap(bo);
if (!ret) {
@@
-1664,6
+1679,12
@@
tbm_bufmgr_debug_dump_set_scale(double scale)
}
int
}
int
+tbm_bufmgr_debug_get_ref_count(void)
+{
+ return (gBufMgr) ? gBufMgr->ref_count : 0;
+}
+
+int
tbm_bufmgr_debug_queue_dump(char *path, int count, int onoff)
{
pthread_mutex_lock(&gLock);
tbm_bufmgr_debug_queue_dump(char *path, int count, int onoff)
{
pthread_mutex_lock(&gLock);
@@
-1752,7
+1773,7
@@
_tbm_bo_set_surface(tbm_bo bo, tbm_surface_h surface)
}
int
}
int
-tbm_bufmgr_bind_native_display(tbm_bufmgr bufmgr, void *
NativeD
isplay)
+tbm_bufmgr_bind_native_display(tbm_bufmgr bufmgr, void *
native_d
isplay)
{
int ret;
{
int ret;
@@
-1761,21
+1782,21
@@
tbm_bufmgr_bind_native_display(tbm_bufmgr bufmgr, void *NativeDisplay)
TBM_BUFMGR_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(gBufMgr), 0);
if (!bufmgr->backend->bufmgr_bind_native_display) {
TBM_BUFMGR_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(gBufMgr), 0);
if (!bufmgr->backend->bufmgr_bind_native_display) {
- TBM_TRACE("skip: tbm_bufmgr(%p)
NativeD
isplay(%p)\n",
- bufmgr,
NativeD
isplay);
+ TBM_TRACE("skip: tbm_bufmgr(%p)
native_d
isplay(%p)\n",
+ bufmgr,
native_d
isplay);
_tbm_bufmgr_mutex_unlock();
return 1;
}
_tbm_bufmgr_mutex_unlock();
return 1;
}
- ret = bufmgr->backend->bufmgr_bind_native_display(bufmgr,
NativeD
isplay);
+ ret = bufmgr->backend->bufmgr_bind_native_display(bufmgr,
native_d
isplay);
if (!ret) {
if (!ret) {
- TBM_LOG_E("error: tbm_bufmgr(%p)
NativeD
isplay(%p)\n",
- bufmgr,
NativeD
isplay);
+ TBM_LOG_E("error: tbm_bufmgr(%p)
native_d
isplay(%p)\n",
+ bufmgr,
native_d
isplay);
_tbm_bufmgr_mutex_unlock();
return 0;
}
_tbm_bufmgr_mutex_unlock();
return 0;
}
- TBM_TRACE("tbm_bufmgr(%p)
NativeDisplay(%p)\n", bufmgr, NativeD
isplay);
+ TBM_TRACE("tbm_bufmgr(%p)
native_display(%p)\n", bufmgr, native_d
isplay);
_tbm_bufmgr_mutex_unlock();
_tbm_bufmgr_mutex_unlock();