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;
}