本文整理汇总了C++中eglReleaseThread函数的典型用法代码示例。如果您正苦于以下问题:C++ eglReleaseThread函数的具体用法?C++ eglReleaseThread怎么用?C++ eglReleaseThread使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了eglReleaseThread函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: eglReleaseThread
/* EGLBoolean eglReleaseThread ( void ) */
static jboolean
android_eglReleaseThread
(JNIEnv *_env, jobject _this) {
EGLBoolean _returnValue = (EGLBoolean) 0;
_returnValue = eglReleaseThread();
return (jboolean)_returnValue;
}
开发者ID:shashlik,项目名称:old-gentroid-frameworks-base,代码行数:8,代码来源:android_opengl_EGL14.cpp
示例2: MainL
static void MainL()
{
CActiveScheduler* sched=NULL;
sched=new(ELeave) CActiveScheduler;
CActiveScheduler::Install(sched);
#ifdef __WINS__
// Construct and destroy a process-wide state object in emulator builds.
// This will cause initialisation of PLS for EGL and SgDriver
// and allow checking for leaks in tests
if(!eglReleaseThread())
{
// Call to eglReleaseThread failed
User::Leave(KErrGeneral);
}
#endif //__WINS__
CTestEGLRefServer* server = NULL;
// Create the CTestServer derived server
TRAPD(err, server = CTestEGLRefServer::NewL());
if(!err)
{
// Sync with the client and enter the active scheduler
RProcess::Rendezvous(KErrNone);
sched->Start();
}
delete server;
delete sched;
}
开发者ID:cdaffara,项目名称:symbiandump-os1,代码行数:29,代码来源:egltestrefserver.cpp
示例3: eglRelease_l
/*
* Releases EGL. How we do that depends on the type of test we're
* running.
*/
bool eglRelease_l() {
if (mEglDisplay == EGL_NO_DISPLAY) {
ALOGW("No display to release");
return false;
}
switch (mTestType) {
case TEST_CORRECT:
eglTerminate(mEglDisplay);
eglReleaseThread();
break;
case TEST_NO_RELEASE_CURRENT:
eglDestroyContext(mEglDisplay, mEglContext);
eglDestroySurface(mEglDisplay, mEglSurface);
eglTerminate(mEglDisplay);
break;
default:
ALOGE("Unknown test type %d", mTestType);
break;
}
int err = eglGetError();
if (err != EGL_SUCCESS) {
ALOGW("eglRelease failed: 0x%x", err);
return false;
}
return true;
}
开发者ID:tempbottle,项目名称:InDashNet.Open.UN2000,代码行数:32,代码来源:EGLCleanup_test.cpp
示例4: freeSdkEnv
/**
* Free SdkEnv resource
*/
int freeSdkEnv(SdkEnv *env)
{
if (NULL == env) {
return -1;
}
if (env->egl.display != EGL_NO_DISPLAY) {
eglMakeCurrent(env->egl.display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
if (env->egl.context != EGL_NO_CONTEXT) {
eglDestroyContext(env->egl.display, env->egl.context);
}
if (env->egl.surface != EGL_NO_SURFACE) {
eglDestroySurface(env->egl.display, env->egl.surface);
}
eglTerminate(env->egl.display);
eglReleaseThread();
}
env->egl.display = EGL_NO_DISPLAY;
env->egl.context = EGL_NO_CONTEXT;
env->egl.surface = EGL_NO_SURFACE;
if (ACTIVE_PATH == env->userData.active
&& NULL != env->userData.inputPath) {
free (env->userData.inputPath);
env->userData.inputPath = NULL;
}
if (ACTIVE_PARAM == env->userData.active
&& NULL != env->userData.param) {
Bitmap_t *img = (Bitmap_t *) env->userData.param;
freeBitmap (img);
env->userData.param = NULL;
}
if (NULL != env->userCmd) {
freeChrbuf (env->userCmd);
env->userCmd = NULL;
}
if (NULL != env->userData.inputPath) {
free (env->userData.inputPath);
env->userData.inputPath = NULL;
}
if (NULL != env->userData.outputPath) {
free (env->userData.outputPath);
env->userData.outputPath = NULL;
}
releaseShader(env);
if (OFF_SCREEN_RENDER == env->type) {
glDeleteFramebuffers (1, &env->handle.fboIdx);
glDeleteTextures (1, &env->handle.texture2Idx);
}
freeEffectCmd(&env->effectCmd);
free (env);
}
开发者ID:zhangkari,项目名称:imagesdk,代码行数:63,代码来源:imgsdk.c
示例5: gst_gl_context_egl_destroy_context
static void
gst_gl_context_egl_destroy_context (GstGLContext * context)
{
GstGLContextEGL *egl;
egl = GST_GL_CONTEXT_EGL (context);
gst_gl_context_egl_activate (context, FALSE);
if (egl->egl_surface) {
eglDestroySurface (egl->egl_display, egl->egl_surface);
egl->egl_surface = EGL_NO_SURFACE;
}
if (egl->egl_context) {
eglDestroyContext (egl->egl_display, egl->egl_context);
egl->egl_context = NULL;
}
egl->window_handle = 0;
eglReleaseThread ();
if (egl->display_egl) {
gst_object_unref (egl->display_egl);
egl->display_egl = NULL;
}
}
开发者ID:GrokImageCompression,项目名称:gst-plugins-bad,代码行数:27,代码来源:gstglcontext_egl.c
示例6: eglMakeCurrent
window_t::~window_t()
{
eglMakeCurrent(egldisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
assert(eglGetError() == EGL_SUCCESS);
eglTerminate(egldisplay);
assert(eglGetError() == EGL_SUCCESS);
eglReleaseThread();
}
开发者ID:a320-fmc,项目名称:fmc,代码行数:8,代码来源:window.cpp
示例7: eglMakeCurrent
void GLCVUtils::GLEnd (void)
{
eglMakeCurrent(egldisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
eglTerminate(egldisplay);
eglReleaseThread ();
return;
}
开发者ID:andrecurvello,项目名称:gesture-recognition,代码行数:8,代码来源:glcvutils.cpp
示例8: fini_egl
void fini_egl(struct display *display)
{
/* Required, otherwise segfault in egl_dri2.c: dri2_make_current()
* on eglReleaseThread(). */
eglMakeCurrent(display->egl.dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
eglTerminate(display->egl.dpy);
eglReleaseThread();
}
开发者ID:projectionist,项目名称:snow,代码行数:9,代码来源:egl.hpp
示例9: deinit
void deinit(void)
{
PS_destruct(tiger);
eglMakeCurrent(egldisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
assert(eglGetError() == EGL_SUCCESS);
eglTerminate(egldisplay);
assert(eglGetError() == EGL_SUCCESS);
eglReleaseThread();
}
开发者ID:drichardson,项目名称:brewmaster,代码行数:9,代码来源:openvc.c
示例10: eglDestroyStreamKHR
// -----------------------------------------------------------------------------
WindowOffscreenEGL::~WindowOffscreenEGL()
{
if (m_stream != EGL_NO_STREAM_KHR)
eglDestroyStreamKHR(m_display, m_stream);
if (m_surface != EGL_NO_SURFACE)
eglDestroySurface(m_display, m_surface);
eglDestroyContext(m_display, m_context);
eglTerminate(m_display);
eglReleaseThread();
}
开发者ID:MadBiceps,项目名称:gmsl_driver,代码行数:12,代码来源:WindowEGL.cpp
示例11: egl_state_destroy
static void
egl_state_destroy(struct egl_state *egl)
{
/* Required, otherwise segfault in egl_dri2.c: dri2_make_current()
* on eglReleaseThread(). */
eglMakeCurrent(egl->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE,
EGL_NO_CONTEXT);
eglTerminate(egl->dpy);
eglReleaseThread();
free(egl);
}
开发者ID:bpeel,项目名称:weston,代码行数:12,代码来源:subsurfaces.c
示例12: screen_stop_events
void CCEGLView::release()
{
screen_stop_events(m_screenContext);
bps_shutdown();
if (m_eglDisplay != EGL_NO_DISPLAY)
{
eglMakeCurrent(m_eglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
}
if (m_eglSurface != EGL_NO_SURFACE)
{
eglDestroySurface(m_eglDisplay, m_eglSurface);
m_eglSurface = EGL_NO_SURFACE;
}
if (m_eglContext != EGL_NO_CONTEXT)
{
eglDestroyContext(m_eglDisplay, m_eglContext);
m_eglContext = EGL_NO_CONTEXT;
}
if (m_eglDisplay != EGL_NO_DISPLAY)
{
eglTerminate(m_eglDisplay);
m_eglDisplay = EGL_NO_DISPLAY;
}
if (m_screenWindow)
{
screen_destroy_window(m_screenWindow);
m_screenWindow = NULL;
}
if (m_screenEvent)
{
screen_destroy_event(m_screenEvent);
m_screenEvent = NULL;
}
if (m_screenContext)
{
screen_destroy_context(m_screenContext);
m_screenContext = NULL;
}
eglReleaseThread();
m_isGLInitialized = false;
exit(0);
}
开发者ID:ChengYe,项目名称:cocosjson,代码行数:53,代码来源:CCEGLView.cpp
示例13: deinit
void deinit(void)
{
printf("Cleaning up...\n");
eglMakeCurrent(egldisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
assert(eglGetError() == EGL_SUCCESS);
eglDestroyContext(egldisplay, eglcontext);
eglDestroySurface(egldisplay, eglsurface);
fsl_destroywindow(eglNativeWindow, eglNativeDisplayType);
eglTerminate(egldisplay);
assert(eglGetError() == EGL_SUCCESS);
eglReleaseThread();
}
开发者ID:barajas,项目名称:interfaz,代码行数:12,代码来源:Yi.c
示例14: mali_uninit
static void mali_uninit(struct MPGLContext *ctx)
{
struct priv *p = ctx->priv;
if (p->egl_surface) {
eglMakeCurrent(p->egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE,
EGL_NO_CONTEXT);
eglDestroySurface(p->egl_display, p->egl_surface);
}
if (p->egl_context)
eglDestroyContext(p->egl_display, p->egl_context);
eglReleaseThread();
}
开发者ID:Ionic,项目名称:mpv,代码行数:13,代码来源:context_mali_fbdev.c
示例15: releaseGlContext_wayland
static void releaseGlContext_wayland(MPGLContext *ctx)
{
GL *gl = ctx->gl;
struct egl_context * egl_ctx = ctx->priv;
gl->Finish();
eglMakeCurrent(egl_ctx->egl.dpy, NULL, NULL, EGL_NO_CONTEXT);
eglDestroyContext(egl_ctx->egl.dpy, egl_ctx->egl.ctx);
eglTerminate(egl_ctx->egl.dpy);
eglReleaseThread();
wl_egl_window_destroy(egl_ctx->egl_window);
egl_ctx->egl.ctx = NULL;
}
开发者ID:zerix,项目名称:mpv,代码行数:13,代码来源:gl_wayland.c
示例16: killDisplay
void BlackberryMain::killDisplays() {
for (int i = 0; i < ndisplays; i++) {
killDisplay(i, true);
}
if (egl_cont != EGL_NO_CONTEXT) {
eglDestroyContext(egl_disp[0], egl_cont);
egl_cont = EGL_NO_CONTEXT;
}
free(egl_disp);
free(egl_surf);
eglReleaseThread();
free(screen_dpy);
}
开发者ID:Bublafus,项目名称:native,代码行数:13,代码来源:BlackberryDisplay.cpp
示例17: _evas_bufmgr_egl_shutdown
static void
_evas_bufmgr_egl_shutdown(void)
{
#ifdef HAVE_DRM_HW_ACCEL
if (_ebi->egl.disp)
{
eglMakeCurrent(_ebi->egl.disp,
EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
eglTerminate(_ebi->egl.disp);
eglReleaseThread();
}
#endif
}
开发者ID:wargio,项目名称:efl,代码行数:13,代码来源:evas_bufmgr.c
示例18: cleanupGL
EglWaylandBackend::~EglWaylandBackend()
{
cleanupGL();
checkGLError("Cleanup");
doneCurrent();
eglDestroyContext(m_display, m_context);
eglDestroySurface(m_display, m_surface);
eglTerminate(m_display);
eglReleaseThread();
if (m_overlay) {
wl_egl_window_destroy(m_overlay);
}
}
开发者ID:KDE,项目名称:kde-workspace,代码行数:13,代码来源:egl_wayland_backend.cpp
示例19: eglUnbindWaylandDisplayWL
void AbstractEglBackend::cleanup()
{
#if HAVE_WAYLAND
if (eglUnbindWaylandDisplayWL && eglDisplay() != EGL_NO_DISPLAY) {
eglUnbindWaylandDisplayWL(eglDisplay(), *(WaylandServer::self()->display()));
}
#endif
cleanupGL();
doneCurrent();
eglDestroyContext(m_display, m_context);
cleanupSurfaces();
eglTerminate(m_display);
eglReleaseThread();
}
开发者ID:8l,项目名称:kwin,代码行数:14,代码来源:abstract_egl_backend.cpp
示例20: releaseGlContext_wayland
static void releaseGlContext_wayland(MPGLContext *ctx)
{
GL *gl = ctx->gl;
struct vo_wayland_state *wl = ctx->vo->wayland;
gl->Finish();
eglReleaseThread();
wl_egl_window_destroy(wl->egl_context.egl_window);
eglDestroySurface(wl->egl_context.egl.dpy, wl->egl_context.egl_surface);
eglMakeCurrent(wl->egl_context.egl.dpy, NULL, NULL, EGL_NO_CONTEXT);
eglDestroyContext(wl->egl_context.egl.dpy, wl->egl_context.egl.ctx);
eglTerminate(wl->egl_context.egl.dpy);
wl->egl_context.egl.ctx = NULL;
}
开发者ID:blix01,项目名称:mpv,代码行数:14,代码来源:gl_wayland.c
注:本文中的eglReleaseThread函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论