add capabilities to the bufmgr 68/82968/1
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 8 Aug 2016 10:20:17 +0000 (19:20 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 8 Aug 2016 10:20:17 +0000 (19:20 +0900)
Change-Id: Id53df2a60fa32e4d10a64f80c4fd2ce5232a4081

src/tbm_bufmgr.c
src/tbm_bufmgr_backend.c
src/tbm_bufmgr_int.h

index 02b3a05..fab4c38 100644 (file)
@@ -1260,17 +1260,9 @@ tbm_bufmgr_get_capability(tbm_bufmgr bufmgr)
 {
        TBM_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(bufmgr), 0);
 
-       unsigned int capability = TBM_BUFMGR_CAPABILITY_NONE;
+       TBM_TRACE("tbm_bufmgr(%p) capability(%d)\n", bufmgr, bufmgr->capabilities);
 
-       if (bufmgr->backend->bo_import && bufmgr->backend->bo_export)
-               capability |= TBM_BUFMGR_CAPABILITY_SHARE_KEY;
-
-       if (bufmgr->backend->bo_import_fd && bufmgr->backend->bo_export_fd)
-               capability |= TBM_BUFMGR_CAPABILITY_SHARE_FD;
-
-       TBM_TRACE("tbm_bufmgr(%p) capability(%d)\n", bufmgr, capability);
-
-       return capability;
+       return bufmgr->capabilities;
 }
 
 int
index 0f81cb0..f3a8218 100644 (file)
@@ -71,6 +71,13 @@ int tbm_backend_init(tbm_bufmgr bufmgr, tbm_bufmgr_backend backend)
        }
 
        bufmgr->backend = backend;
+       bufmgr->capabilities = TBM_BUFMGR_CAPABILITY_NONE;
+
+       if (bufmgr->backend->bo_import && bufmgr->backend->bo_export)
+               bufmgr->capabilities |= TBM_BUFMGR_CAPABILITY_SHARE_KEY;
+
+       if (bufmgr->backend->bo_import_fd && bufmgr->backend->bo_export_fd)
+               bufmgr->capabilities |= TBM_BUFMGR_CAPABILITY_SHARE_FD;
 
        return 1;
 }
index 59d4358..75e756d 100644 (file)
@@ -233,6 +233,8 @@ struct _tbm_bufmgr {
 
        int lock_type;                          /* lock_type of bufmgr */
 
+       int capabilities;           /* capabilities of bufmgr */
+
        unsigned int bo_cnt;        /* number of bos */
 
        struct list_head bo_list;       /* list of bos belonging to bufmgr */