return TBM_ERROR_INVALID_OPERATION;
}
- // make the wayland server socket for sending the authenticated drm_fd to wayland clients.
- if (!tbm_drm_helper_wl_auth_server_init(native_display, fd, NULL, 0)) {
- TBM_ERR("error: tbm_drm_helper_wl_auth_server_init failed\n", module, native_display);
+ if (tbm_drm_helper_is_render_node(fd)) {
+ TBM_INFO("tbm_module has render node.");
close(fd);
- return TBM_ERROR_INVALID_OPERATION;
- }
- TBM_INFO("tbm creates a wayland socket for authentication of drm_fd.");
+ error = TBM_ERROR_NONE;
+ } else {
+ // make the wayland server socket for sending the authenticated drm_fd to wayland clients.
+ if (!tbm_drm_helper_wl_auth_server_init(native_display, fd, NULL, 0)) {
+ TBM_ERR("error: tbm_drm_helper_wl_auth_server_init failed\n", module, native_display);
+ close(fd);
+ return TBM_ERROR_INVALID_OPERATION;
+ }
+ TBM_INFO("tbm creates a wayland socket for authentication of drm_fd.");
- module->auth_wl_socket_created = 1;
- module->auth_fd = fd;
+ module->auth_wl_socket_created = 1;
+ module->auth_fd = fd;
+ }
} else {
TBM_INFO("tbm_module has no drm device.");
error = TBM_ERROR_NONE;
tbm_backend_bo_func *bo_func = NULL;
tbm_bufmgr_backend backend = NULL;
tbm_bo_handle bo_handle = (tbm_bo_handle)NULL;
- hal_tbm_bo_handle hbo_handle;
+ hal_tbm_bo_handle hbo_handle = (hal_tbm_bo_handle)NULL;
TBM_RETURN_VAL_SET_ERR_IF_FAIL(bo_data, (tbm_bo_handle)NULL, *error, TBM_ERROR_INVALID_PARAMETER);
TBM_RETURN_VAL_SET_ERR_IF_FAIL(bo_data->module, (tbm_bo_handle)NULL, *error, TBM_ERROR_INVALID_PARAMETER);