extern "C" int fbdevws_IsValidDisplay(EGLNativeDisplayType display) { if (__sync_fetch_and_add(&inited,1)==0) { int err; err = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **) &gralloc); if (gralloc==NULL) { fprintf(stderr, "failed to get gralloc module: (%s)\n",strerror(-err)); assert(0); } err = framebuffer_open((hw_module_t *) gralloc, &framebuffer); if (err) { fprintf(stderr, "ERROR: failed to open framebuffer: (%s)\n",strerror(-err)); assert(0); } printf("** framebuffer_open: status=(%s) format=x%x", strerror(-err), framebuffer->format); err = gralloc_open((const hw_module_t *) gralloc, &alloc); if (err) { fprintf(stderr, "ERROR: failed to open gralloc: (%s)\n",strerror(-err)); assert(0); } printf("** gralloc_open %p status=%s\n", gralloc, strerror(-err)); eglplatformcommon_init(gralloc); } return display == EGL_DEFAULT_DISPLAY; }
extern "C" void waylandws_init_module(struct ws_egl_interface *egl_iface) { int err; hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **) &gralloc); err = gralloc_open((const hw_module_t *) gralloc, &alloc); TRACE("++ %lu wayland: got gralloc %p err:%s", pthread_self(), gralloc, strerror(-err)); eglplatformcommon_init(egl_iface, gralloc, alloc); }
extern "C" int fbdevws_IsValidDisplay(EGLNativeDisplayType display) { if (__sync_fetch_and_add(&inited,1)==0) { hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **) &gralloc); int err = framebuffer_open((hw_module_t *) gralloc, &framebuffer); printf("** open framebuffer HAL (%s) format x%x\n", strerror(-err), framebuffer->format); err = gralloc_open((const hw_module_t *) gralloc, &alloc); printf("** got gralloc %p err:%s\n", gralloc, strerror(-err)); eglplatformcommon_init(gralloc); } return display == EGL_DEFAULT_DISPLAY; }
extern "C" void hwcomposerws_init_module(struct ws_egl_interface *egl_iface) { hybris_gralloc_initialize(0); eglplatformcommon_init(egl_iface); }