AC_DEFINE(ENABLE_CACHECRTL, 1, [Enable cache control])
fi
+AC_ARG_ENABLE(backendctrl,
+ AS_HELP_STRING([--enable-backendctrl],
+ [Enable always backend ctrl (default: enable)]),
+ [BACKENED_CTRL=$enableval], [BACKEND_CTRL=yes])
+
+if test "x$BACKEND_CTRL" = xyes; then
+ AC_DEFINE(ALWAYS_BACKEND_CTRL, 1, [Enable always backend ctrl])
+fi
+
LIBTBM_EXYNOS_CFLAGS="$LIBDRM_CFLAGS $LIBDRM_EXYNOS_CFLAGS $LIBTBM_CFLAGS $DLOG_CFLAGS "
LIBTBM_EXYNOS_LIBS="$LIBDRM_LIBS $LIBDRM_EXYNOS_LIBS $LIBTBM_LIBS $DLOG_LIBS "
AC_SUBST(LIBTBM_EXYNOS_CFLAGS)
{
EXYNOS_RETURN_VAL_IF_FAIL (bo!=NULL, 0);
+#ifndef ALWAYS_BACKEND_CTRL
tbm_bufmgr_exynos bufmgr_exynos;
tbm_bo_exynos bo_exynos;
struct dma_buf_fence fence;
bo,
bo_exynos->gem, bo_exynos->name,
bo_exynos->dmabuf);
+#endif /* ALWAYS_BACKEND_CTRL */
return 1;
}
{
EXYNOS_RETURN_VAL_IF_FAIL (bo!=NULL, 0);
+#ifndef ALWAYS_BACKEND_CTRL
tbm_bo_exynos bo_exynos;
struct dma_buf_fence fence;
struct flock filelock;
bo,
bo_exynos->gem, bo_exynos->name,
bo_exynos->dmabuf);
+#endif /* ALWAYS_BACKEND_CTRL */
return 1;
}
bufmgr_backend->surface_get_num_bos = tbm_exynos_surface_get_num_bos;
bufmgr_backend->bo_get_flags = tbm_exynos_bo_get_flags;
+#ifdef ALWAYS_BACKEND_CTRL
+ bufmgr_backend->flags = (TBM_LOCK_CTRL_BACKEND | TBM_CACHE_CTRL_BACKEND);
+ bufmgr_backend->bo_lock = NULL;
+ bufmgr_backend->bo_lock2 = tbm_exynos_bo_lock;
+ bufmgr_backend->bo_unlock = tbm_exynos_bo_unlock;
+#else
if (bufmgr_exynos->use_dma_fence)
{
bufmgr_backend->flags = (TBM_LOCK_CTRL_BACKEND | TBM_CACHE_CTRL_BACKEND);
bufmgr_backend->bo_lock = NULL;
bufmgr_backend->bo_unlock = NULL;
}
+#endif /* ALWAYS_BACKEND_CTRL */
if (!tbm_backend_init (bufmgr, bufmgr_backend))
{