summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSooChan Lim <sc1.lim@samsung.com>2018-03-22 20:47:28 +0900
committerSooChan Lim <sc1.lim@samsung.com>2018-04-10 08:17:23 +0900
commit981aad592220254aafc44830730a579349cabf25 (patch)
tree6982be055ccdcdbba3dcf662a0394898d0a4122d
parentf0260072edeef2fa7db37303d5dc56985d5bf7f5 (diff)
downloademulator-yagl-981aad592220254aafc44830730a579349cabf25.tar.gz
emulator-yagl-981aad592220254aafc44830730a579349cabf25.tar.bz2
emulator-yagl-981aad592220254aafc44830730a579349cabf25.zip
libtbm-vigs provides the drm_dev to get the vigs_drm_device. yagl can also get the vigs_surface through the tbm_bo_get_handle. Change-Id: Iba180f60b101886ae940b2eb1f5b7c5617d5eda9
-rw-r--r--CMakeLists.txt5
-rw-r--r--EGL/CMakeLists.txt1
-rw-r--r--EGL/tizen/yagl_tizen_display.c7
-rw-r--r--EGL/tizen/yagl_tizen_native_image.c3
-rw-r--r--EGL/tizen/yagl_tizen_window.c3
-rw-r--r--EGL/yagl_onscreen_image_tizen_sfc.c7
-rw-r--r--packaging/emulator-yagl.spec1
7 files changed, 15 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f7d7ef..e632390 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -89,6 +89,11 @@ add_definitions(${LIBTBM_CFLAGS})
include_directories(${LIBTBM_INCLUDE_DIRS})
link_directories(${LIBTBM_LIBRARY_DIRS})
+pkg_check_modules(LIBTBM_VIGS REQUIRED libtbm-vigs)
+add_definitions(${LIBTBM_VIGS_CFLAGS})
+include_directories(${LIBTBM_VIGS_INCLUDE_DIRS})
+link_directories(${LIBTBM_VIGS_LIBRARY_DIRS})
+
if (PLATFORM_X11)
pkg_check_modules(X11 REQUIRED x11)
pkg_check_modules(XEXT REQUIRED xext)
diff --git a/EGL/CMakeLists.txt b/EGL/CMakeLists.txt
index c5f2bb5..57c1de5 100644
--- a/EGL/CMakeLists.txt
+++ b/EGL/CMakeLists.txt
@@ -44,6 +44,7 @@ set(LIBRARIES
${LIBDRM_LIBRARIES}
${LIBDRM_VIGS_LIBRARIES}
${LIBTBM_LIBRARIES}
+ ${LIBTBM_VIGS_LIBRARIES}
dl
)
diff --git a/EGL/tizen/yagl_tizen_display.c b/EGL/tizen/yagl_tizen_display.c
index b95ac92..b6d16b3 100644
--- a/EGL/tizen/yagl_tizen_display.c
+++ b/EGL/tizen/yagl_tizen_display.c
@@ -34,10 +34,11 @@
#include "yagl_tizen_display.h"
#include "yagl_tizen_window.h"
#include "yagl_tizen_pbuffer.h"
-#include <tbm_bufmgr_backend.h>
#include "yagl_log.h"
#include "yagl_malloc.h"
#include "vigs.h"
+#include <tbm_bufmgr.h>
+#include <tbm_vigs.h>
#include <sys/fcntl.h>
#include <stdio.h>
#include <stdlib.h>
@@ -134,7 +135,6 @@ struct yagl_native_display
yagl_os_display os_dpy)
{
struct yagl_tizen_display *dpy;
- tbm_bufmgr bufmgr;
struct vigs_drm_device *drm_dev = NULL;
YAGL_LOG_FUNC_ENTER(yagl_tizen_display_create, "os_dpy = %p", os_dpy);
@@ -150,8 +150,7 @@ struct yagl_native_display
goto fail;
}
- bufmgr = tbm_bufmgr_init(-1);
- drm_dev = (struct vigs_drm_device *)tbm_backend_get_priv_from_bufmgr(bufmgr);
+ drm_dev = tbm_vigs_get_drm_dev();
yagl_native_display_init(&dpy->base,
platform,
diff --git a/EGL/tizen/yagl_tizen_native_image.c b/EGL/tizen/yagl_tizen_native_image.c
index 52157d5..67b4e11 100644
--- a/EGL/tizen/yagl_tizen_native_image.c
+++ b/EGL/tizen/yagl_tizen_native_image.c
@@ -44,7 +44,6 @@
#include <tbm_surface.h>
#include <tbm_surface_internal.h>
#include <tpl.h>
-#include <tbm_bufmgr_backend.h>
static void yagl_onscreen_image_tizen_update(struct yagl_image *image)
{
@@ -98,7 +97,7 @@ struct yagl_onscreen_image_tizen
tbm_surface_internal_ref(tbm_surface);
bo = tbm_surface_internal_get_bo(tbm_surface, 0);
- drm_sfc = (struct vigs_drm_surface *)tbm_backend_get_bo_priv(bo);
+ drm_sfc = bo ? (struct vigs_drm_surface *)tbm_bo_get_handle(bo, TBM_DEVICE_3D).ptr : NULL;
if (vigs_drm_gem_get_name(&drm_sfc->gem)) {
yagl_set_error(EGL_BAD_NATIVE_PIXMAP);
YAGL_LOG_ERROR("get gem name failed");
diff --git a/EGL/tizen/yagl_tizen_window.c b/EGL/tizen/yagl_tizen_window.c
index 0408bb1..fe2ac39 100644
--- a/EGL/tizen/yagl_tizen_window.c
+++ b/EGL/tizen/yagl_tizen_window.c
@@ -35,7 +35,6 @@
#include "yagl_tizen_display.h"
#include "yagl_log.h"
#include "yagl_malloc.h"
-#include <tbm_bufmgr_backend.h>
#include "vigs.h"
#include <stdio.h>
#include <stdlib.h>
@@ -134,7 +133,7 @@ static int yagl_tizen_window_get_buffer(struct yagl_native_drawable *drawable,
bo = tbm_surface_internal_get_bo(tbm_surface, 0);
if (buffer_sfc != NULL) {
- *buffer_sfc = (struct vigs_drm_surface *)tbm_backend_get_bo_priv(bo);
+ *buffer_sfc = bo ? (struct vigs_drm_surface *)tbm_bo_get_handle(bo, TBM_DEVICE_3D).ptr : NULL;
if (vigs_drm_gem_get_name(&(*buffer_sfc)->gem))
YAGL_LOG_ERROR("%s: get gem name failed\n", __func__);
diff --git a/EGL/yagl_onscreen_image_tizen_sfc.c b/EGL/yagl_onscreen_image_tizen_sfc.c
index 09e6c76..4f33959 100644
--- a/EGL/yagl_onscreen_image_tizen_sfc.c
+++ b/EGL/yagl_onscreen_image_tizen_sfc.c
@@ -44,7 +44,6 @@
#include "drm_fourcc.h"
#include "vigs.h"
#include <tbm_bufmgr.h>
-#include <tbm_bufmgr_backend.h>
#include <tbm_surface.h>
#include <tbm_surface_internal.h>
#include <string.h>
@@ -169,7 +168,7 @@ static void yagl_onscreen_image_tizen_sfc_update(struct yagl_image *image)
switch (tizen_sfc_image->format) {
case TBM_FORMAT_ARGB8888:
bo = tbm_surface_internal_get_bo(tizen_sfc_image->sfc, 0);
- src = bo ? tbm_backend_get_bo_priv(bo) : NULL;
+ src = bo ? (struct vigs_drm_surface *)tbm_bo_get_handle(bo, TBM_DEVICE_3D).ptr : NULL;
/*
* No actual format conversion in ARGB8888 case. We just need to
@@ -190,7 +189,7 @@ static void yagl_onscreen_image_tizen_sfc_update(struct yagl_image *image)
break;
case TBM_FORMAT_YUV420:
bo = tbm_surface_internal_get_bo(tizen_sfc_image->sfc, 0);
- src = bo ? tbm_backend_get_bo_priv(bo) : NULL;
+ src = bo ? (struct vigs_drm_surface *)tbm_bo_get_handle(bo, TBM_DEVICE_3D).ptr : NULL;
ret = vigs_drm_surface_convert(src,
DRM_FORMAT_YUV420,
@@ -304,7 +303,7 @@ struct yagl_onscreen_image_tizen_sfc
}
bo = tbm_surface_internal_get_bo(sfc, 0);
- drm_sfc = bo ? tbm_backend_get_bo_priv(bo) : NULL;
+ drm_sfc = bo ? (struct vigs_drm_surface *)tbm_bo_get_handle(bo, TBM_DEVICE_3D).ptr : NULL;
if (!drm_sfc) {
YAGL_LOG_ERROR("drm_sfc is NULL");
diff --git a/packaging/emulator-yagl.spec b/packaging/emulator-yagl.spec
index 4ca38d7..99e5e5e 100644
--- a/packaging/emulator-yagl.spec
+++ b/packaging/emulator-yagl.spec
@@ -17,6 +17,7 @@ BuildRequires: bison
BuildRequires: pkgconfig(libdrm)
%if "%{ENABLE_TIZEN_BACKEND}" == "1"
BuildRequires: pkgconfig(libtbm)
+BuildRequires: pkgconfig(libtbm-vigs)
BuildRequires: pkgconfig(tpl-egl)
BuildRequires: pkgconfig(wayland-egl)
%endif