在eglTerminate之后的GL命令

时间:2014-04-29 08:58:18

标签: opengl-es-2.0 egl

问题在于OpenGL ES 2.0和EGL 1.4。

我试图了解调用eglTerminate后是否有GL命令行为的规范要求。我的意思是,如果有任何GL错误或它可能是一个例外。

在这种情况下是否存在预期行为的定义,或者GL命令是否应该不受EGL命令的影响?

由于

1 个答案:

答案 0 :(得分:2)

调用eglTerminate标记与您正在终止删除的EGLDisplay关联的所有EGL资源。这包括任何表面和上下文,这肯定会影响您案例中OpenGL ES上下文的行为。

关于预期行为,您之后的规范措辞如下(来自http://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf - eglTerminate,第17页):

  

使用绑定的上下文和曲面(即继续发布com-   mands到绑定的客户端API上下文)不会导致中断   或终止应用程序,但渲染结果未定义,   和客户端API可能会产生错误。

即。如果在终止显示时您的上下文仍然是当前的,那么在该上下文上进行的任何后续OpenGL ES调用都是未定义的 - 它们可能引发OpenGL ES错误,或导致错误呈现,但不应导致异常。