eglSwapBuffers常见错误码分析?

如题:eglSwapBuffers常见错误码分析?

阅读 499
1 个回答

问题场景:

在使用eglSwapBuffers API时,经常会抛出一些常见错误码,下面对这些错误码进行分析汇总。

问题1:

eglSwapBuffers执行抛出错误码:EGL\_BAD\_SURFACE (300d)。

日志中显示:QEGLPlatformContext: eglSwapBuffers failed: 300d。

参考答复:

surface不是EGL绘图表面就会报这个错:EGL\_BAD\_SURFACE。

官方解释:

An EGLSurface argument does not name a valid surface (window, pixel buffer or pixmap) configured for GL rendering.

建议检查eglCreateWindowSurface/eglCreatePixmapSurface/eglCreatePbufferSurface的参数设置。

问题2:

eglSwapBuffers执行抛错错误码:EGL\_BAD\_ALLOC。

参考答复:

具体场景1:编码器通过OH\_VideoEncoder\_GetSurface(encoder\_, NativeWindow);获取NativeWindow,使用该NativeWindow去创建Encoder的EGLSurface来接收OpenGL的纹理数据。如果没有先调用OH\_NativeWindow\_NativeWindowHandleOpt(nativeWindow, SET\_BUFFER\_GEOMETRY, height, width) 来设置SET\_BUFFER\_GEOMETRY配置buffer大小,那么在调用eglSwapBuffers API时就会报上述错误。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
HarmonyOS
子站问答
访问
宣传栏