From 1de9776fac516eb5fddd1abb7ffb3009dfbf593a Mon Sep 17 00:00:00 2001 From: Changyeon Lee Date: Tue, 23 Feb 2016 20:37:52 +0900 Subject: [PATCH] Don't use surface get num bos Change-Id: If25cfb3a7c8a0b509273ff11b7765b6b9547c96f --- src/tbm_bufmgr_backend.h | 1 + src/tbm_surface_internal.c | 28 +++++++--------------------- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/src/tbm_bufmgr_backend.h b/src/tbm_bufmgr_backend.h index 940dc3c..a1a6f34 100644 --- a/src/tbm_bufmgr_backend.h +++ b/src/tbm_bufmgr_backend.h @@ -279,6 +279,7 @@ struct _tbm_bufmgr_backend { */ tbm_bo_handle(*fd_to_handle)(tbm_bufmgr bufmgr, tbm_fd fd, int device); + /* version 2.0 dosen't need to backend function surface_get_num_bos */ /** * @brief get the num of bos with a format. * @param[in] format : the format of the surface diff --git a/src/tbm_surface_internal.c b/src/tbm_surface_internal.c index adf7fc5..bb51da2 100644 --- a/src/tbm_surface_internal.c +++ b/src/tbm_surface_internal.c @@ -241,25 +241,6 @@ _tbm_surface_internal_query_plane_data(tbm_surface_h surface, return 1; } -static int -_tbm_surface_internal_query_num_bos(tbm_format format) -{ - TBM_RETURN_VAL_IF_FAIL(format > 0, 0); - struct _tbm_bufmgr *mgr; - int ret = 0; - - mgr = g_surface_bufmgr; - - if (!mgr->backend->surface_get_num_bos) - return 0; - - ret = mgr->backend->surface_get_num_bos(format); - if (!ret) - return 0; - - return ret; -} - static void _tbm_surface_internal_destroy(tbm_surface_h surface) { @@ -531,7 +512,6 @@ tbm_surface_internal_create_with_flags(int width, int height, surf->info.format = format; surf->info.bpp = tbm_surface_internal_get_bpp(format); surf->info.num_planes = tbm_surface_internal_get_num_planes(format); - surf->num_bos = _tbm_surface_internal_query_num_bos(format); surf->refcnt = 1; /* get size, stride and offset bo_idx */ @@ -544,9 +524,15 @@ tbm_surface_internal_create_with_flags(int width, int height, surf->planes_bo_idx[i] = bo_idx; } - for (i = 0; i < surf->info.num_planes; i++) + surf->num_bos = 1; + + for (i = 0; i < surf->info.num_planes; i++) { surf->info.size += surf->info.planes[i].size; + if (surf->num_bos -1 > surf->planes_bo_idx[i]) + surf->num_bos = surf->planes_bo_idx[i]++; + } + surf->flags = flags; for (i = 0; i < surf->num_bos; i++) { -- 2.7.4