2016-12-27 10 views
1

나는 각 스레드가 EGLContexts의 번호를 가지고,이 애플리케이션은 다중 스레드를 생성 등 메사, 각도, AMD EGL, 서로 다른 EGL의 구현에서 실행되는 응용 프로그램을 개발하고 있어요.EGLContext 자원이 자동으로 해제됩니까?

스레드가 종료 될 때 스레드를 제거하기 전에 컨텍스트에서 생성 된 모든 텍스처, 버퍼 등을 해제해야합니까 (예 : lDestroyContext)? 아니면 단순히 컨텍스트를 파괴하기에 충분합니까? 하드웨어가 iGPU이고 시스템 RAM을 메모리로 사용한다고 가정합니다.

답변

2

당신이 원하는 경우에 당신은 그들을 파괴 할 수 있지만 권한이없는 :

EGL 1.5 spec, 섹션 3.7.2, 57 페이지 (강조 광산) "렌더링 컨텍스트 파괴"

EGLBoolean eglDestroyContext(EGLDisplay dpy, EGLContext ctx);

ctx과 관련된 모든 자원은 최대한 빨리 삭제 표시되어 있습니다. 여러 컨텍스트 공유 객체 (eglCreateContext 참조), 이러한 공유 객체는 객체가 응용 프로그램에서 명시 적으로 삭제 첫째하지 않는 한 후 공유 목록에있는 모든 상황이 파괴 될 때까지 삭제하지 않을 경우. eglDestroyContext 다음에, 문맥과 문맥을 참조하는 문맥은 문법이 처리 된 문맥과 동일한 방식으로 다루어진다 (3.2 절 참조).