我需要知道在eglSwapBuffers之后发布完成的时间。我以为eglWaitNative可能会暂停执行,直到定位完成,但我发现不清楚阅读规范,第3.8章: https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
看来eglWaitNative用于同步“本机”渲染API,如Xlib和GDI。但据我所知,eglSwapBuffers可能会在Wayland上运行而无法渲染。不过,相信EGL_CORE_NATIVE_ENGINE引擎总是指出“标记引擎”做缓冲交换似乎是合理的......
从3.10.3我读到:
后续客户端API命令可以立即发出,但不会 执行直到发布完成。
我想我可以做这样的事情,但如果可能的话,我宁愿使用“纯粹的”egl:
eglSwapBuffers(...);
glClear(...); // "Dummy" command.
我的项目正在使用OpenGL Safety Critical配置文件1.0.1,EGL 1.3和一些特定于供应商的扩展。同步对象不可用。