static DFBResult system_leave( bool emergency ) { DFBX11 *x11 = dfb_system_data(); DFBX11Shared *shared = x11->shared; D_DEBUG_AT( X11_Core, "%s()\n", __FUNCTION__ ); /* * Slave deinit */ if (shared->x11_pool_bridge) dfb_surface_pool_bridge_leave( shared->x11_pool_bridge ); if (shared->vpsmem_pool) dfb_surface_pool_leave( shared->vpsmem_pool ); if (shared->glx_pool) dfb_surface_pool_leave( shared->glx_pool ); if (shared->x11image_pool) dfb_surface_pool_leave( shared->x11image_pool ); /* * Local deinit (master and slave) */ if (x11->display) XCloseDisplay( x11->display ); D_FREE( x11 ); return DFB_OK; }
static DFBResult system_leave( bool emergency ) { DFBResult ret; MesaDataShared *shared; D_ASSERT( m_data != NULL ); shared = m_data->shared; D_ASSERT( shared != NULL ); dfb_surface_pool_leave( shared->pool ); if (dfb_config->vt) { ret = dfb_vt_leave( emergency ); if (ret) return ret; } D_FREE( m_data ); m_data = NULL; return DFB_OK; }
static DFBResult system_leave( bool emergency ) { PVR2DDataShared *shared; D_ASSERT( m_data != NULL ); shared = m_data->shared; D_ASSERT( shared != NULL ); dfb_surface_pool_leave( shared->pool ); D_FREE( m_data ); m_data = NULL; return DFB_OK; }
static DFBResult system_leave( bool emergency ) { DevMemDataShared *shared; D_ASSERT( m_data != NULL ); shared = m_data->shared; D_ASSERT( shared != NULL ); dfb_surface_pool_leave( shared->pool ); UnmapMemAndReg( m_data, dfb_config->video_length, dfb_config->mmio_length ); D_FREE( m_data ); m_data = NULL; return DFB_OK; }
static DFBResult system_leave( bool emergency ) { DFBResult ret; AndroidDataShared *shared; D_ASSERT( m_data != NULL ); shared = m_data->shared; D_ASSERT( shared != NULL ); dfb_surface_pool_leave( shared->pool ); /* cleanup EGL related stuff */ eglDestroyContext( m_data->dpy, m_data->ctx ); eglTerminate( m_data->dpy ); D_FREE( m_data ); m_data = NULL; return DFB_OK; }