Do not use the tbm_bufmgr_backend.h file 22/173822/5 accepted/tizen/unified/20180413.073538 submit/tizen/20180412.070136
authorSooChan Lim <sc1.lim@samsung.com>
Thu, 22 Mar 2018 11:47:28 +0000 (20:47 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 9 Apr 2018 23:17:23 +0000 (08:17 +0900)
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

CMakeLists.txt
EGL/CMakeLists.txt
EGL/tizen/yagl_tizen_display.c
EGL/tizen/yagl_tizen_native_image.c
EGL/tizen/yagl_tizen_window.c
EGL/yagl_onscreen_image_tizen_sfc.c
packaging/emulator-yagl.spec

index 2f7d7effc918655e02239e4916baa550ffd42fad..e632390ef7639f30e6e106094aec0f9c3e8fb7e7 100644 (file)
@@ -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)
index c5f2bb54ece5602595d2a10edaf7d1b88e6a13b6..57c1de5fb1c595e820277075023246a0b8d17d08 100644 (file)
@@ -44,6 +44,7 @@ set(LIBRARIES
     ${LIBDRM_LIBRARIES}
     ${LIBDRM_VIGS_LIBRARIES}
     ${LIBTBM_LIBRARIES}
+    ${LIBTBM_VIGS_LIBRARIES}
     dl
 )
 
index b95ac924bf7e4babf1ac8cbf29d67841c5d94ff8..b6d16b3627792babc86e35d80be24735dd6a714a 100644 (file)
 #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,
index 52157d576eec297efb6586f00eb91172f0e78915..67b4e1178dcdf401097901bdb12f3704e9dfb7a4 100644 (file)
@@ -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");
index 0408bb16a1c29a505125113b04cbaf9fbd71d657..fe2ac3949145a2777517960a777514ef1627db00 100644 (file)
@@ -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__);
index 09e6c761b386a4d1ac66fbf438235a17b71f119e..4f3395947a555f95316108a80d96206d77212392 100644 (file)
@@ -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");
index 4ca38d7f5d7e2cfa3d5132ae2502d8a41a485c8c..99e5e5eb64215746ebbdf6c7fa71f48234434fbf 100644 (file)
@@ -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