• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ eglReleaseThread函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ eglSwapBuffers函数代码示例发布时间:2022-05-30
下一篇:
C++ eglQuerySurface函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap