glDebugMessageCallbackKHR 是不是在 Android 6 中实现?

Posted

技术标签:

【中文标题】glDebugMessageCallbackKHR 是不是在 Android 6 中实现?【英文标题】:Is glDebugMessageCallbackKHR implemented in Android 6?glDebugMessageCallbackKHR 是否在 Android 6 中实现? 【发布时间】:2016-08-18 01:28:36 【问题描述】:

我正在尝试为 android 5.0 中的 Android OpenGL ES 3.1 extension pack 添加的调试回调实现 OpenGL 函数。 当我尝试设置回调时:GLES31Ext.glDebugMessageCallbackKHR(myCallback); 它抛出java.lang.UnsupportedOperationException: not yet implemented。 这是在运行 Android 6.0 的 Sony Xperia Z5 上,查询 OpenGL 上下文版本返回 OpenGL ES 3.1。查询支持的 OpenGL 扩展列表返回扩展 GL_KHR_debug 可用(此函数是其中的一部分)。

谷歌搜索没有返回有用的结果,我唯一的提示是 Android 源代码库中的这个文件:https://android.googlesource.com/platform/frameworks/native/+/android-6.0.1_r63/opengl/tools/glgen/stubs/gles11/glDebugMessageCallbackKHR.cpp

这是否意味着尽管我的设备报告支持此功能,但 Google 尚未实现此功能?或者这只是我的设备的问题?

【问题讨论】:

【参考方案1】:

扩展字符串只是从底层 OpenGL ES 驱动程序报告的,因此该功能应该可以通过 NDK 代码使用。不过,它看起来确实从 Java 绑定中丢失了。

【讨论】:

是的,正如我所见,实现这不仅仅是对 Google 方面的 openGL 驱动程序的简单调用。但谷歌马虎,没有实施。从好的方面来说,代码适用于 Android N。 是吗?我刚刚尝试在今天更新了 Android 8.1.0 的 Nexus 5X 上使用“glDebugMessageCallbackKHR”,但仍然“尚未实现”

以上是关于glDebugMessageCallbackKHR 是不是在 Android 6 中实现?的主要内容,如果未能解决你的问题,请参考以下文章