drm: change to create specified renderer only
authorJunghoon <jh13.son@samsung.com>
Fri, 21 Aug 2015 04:39:22 +0000 (13:39 +0900)
committerJunghoon <jh13.son@samsung.com>
Fri, 21 Aug 2015 04:39:22 +0000 (13:39 +0900)
Change-Id: I39164cd2a2c0095cd497356989a2c4f3169c1536

src/lib/drm/drm-output.c

index 5d0609c..74a4e90 100644 (file)
@@ -1324,14 +1324,24 @@ pepper_drm_output_create(pepper_drm_t *drm, const char *renderer)
         drm->renderer = strdup(renderer);
 
     /* create gl-renderer & pixman-renderer */
-    drm->gbm_device = gbm_create_device(drm->drm_fd);
-    if (drm->gbm_device)
-        drm->gl_renderer = pepper_gl_renderer_create(drm->compositor, drm->gbm_device, "gbm");
-
-    drm->pixman_renderer = pepper_pixman_renderer_create(drm->compositor);
-    if (!drm->pixman_renderer)
+    if (strcmp(renderer, "gl") == 0)
+    {
+        drm->gbm_device = gbm_create_device(drm->drm_fd);
+        if (drm->gbm_device)
+            drm->gl_renderer = pepper_gl_renderer_create(drm->compositor, drm->gbm_device, "gbm");
+    }
+    else if (strcmp(renderer, "pixman") == 0)
+    {
+        drm->pixman_renderer = pepper_pixman_renderer_create(drm->compositor);
+        if (!drm->pixman_renderer)
+        {
+            PEPPER_ERROR("Failed to create pixman-renderer\n");
+            goto error;
+        }
+    }
+    else
     {
-        PEPPER_ERROR("Failed to create pixman-renderer\n");
+        PEPPER_ERROR("Unknown renderer: %s\n", renderer);
         goto error;
     }