create a dummy ecore_drm_device when a drm device doesn't exist 89/84389/1
authorBoram Park <boram1288.park@samsung.com>
Thu, 18 Aug 2016 09:49:26 +0000 (18:49 +0900)
committerBoram Park <boram1288.park@samsung.com>
Thu, 18 Aug 2016 09:49:47 +0000 (18:49 +0900)
Change-Id: I91ed3405d38c85aed2d0e142fb1810ebbadb35ec

src/lib/ecore_drm/ecore_drm_device.c

index 479b82d..be372c7 100644 (file)
@@ -205,7 +205,33 @@ ecore_drm_device_find(const char *name, const char *seat)
 
    /* try to get a list of drm devics */
    if (!(devs = eeze_udev_find_by_type(EEZE_UDEV_TYPE_DRM, name)))
+#ifdef HAVE_TDM
+     {
+        if (!getenv("ECORE_DRM_DEVICE_DUMMY"))
+          return NULL;
+
+        if (dev = calloc(1, sizeof(Ecore_Drm_Device)))
+          {
+             dev->drm.name = eina_stringshare_add("dummy");
+             dev->drm.path = eina_stringshare_add("dummy");
+             dev->id = 0;
+             dev->seat = eina_stringshare_add("seat0");
+             dev->vt = 0;
+             dev->format = 0;
+             dev->use_hw_accel = EINA_FALSE;
+             dev->session = NULL;
+             dev->window = -1;
+
+             ERR("Using Drm Device: %s", dev->drm.name);
+
+             drm_devices = eina_list_append(drm_devices, dev);
+          }
+
+        return dev;
+     }
+#else
      return NULL;
+#endif
 
    DBG("Find Drm Device: %s", name);