我在互联网上发现的示例似乎对eglWaitNative的第一个参数使用EGL10.EGL_NATIVE_RENDERABLE,对第二个参数使用“ null”。例如:
EGL10 egl = (EGL10) EGLContext.getEGL();
egl.eglWaitNative( EGL10.EGL_NATIVE_RENDERABLE, null );
egl.eglWaitGL();
egl.eglSwapBuffers(mEGLDisplay, mEGLSurface);
但是,在Galaxy Nexus上,这导致垃圾邮件logcat输出出现以下错误消息:
E/IMGSRV ([pid]): :0: WSEGL_WaitNative: Unrecognized engine
似乎第一个参数一定是错误的,因为API已将其列为称为“引擎”的int,它似乎与错误消息“无法识别的引擎”相匹配。如果是这样,我应该怎么用呢?如果第二个参数有问题,则根据API,它的类型为“对象”,并表示描述渲染目标的特定于平台的对象。但是,我似乎无法弄清楚除了“空”之外还有什么可以在这里进行。我完全偏离轨道了吗?
最佳答案
第一个参数应该是EGL10.EGL_CORE_NATIVE_ENGINE,而不是EGL10.EGL_NATIVE_RENDERABLE。