Android 5.0 不支持 samplerExternalOES?

Android 5.0 not supporting samplerExternalOES?

我尝试过的每个 phone 都有一个片段着色器工作了很长时间。 Android 5.0 升级结束后,phone 无法 运行 该应用程序。

通过调试,我看到应用程序崩溃在 GLES20.glLinkProgram(program)

我在编译着色器后看到以下错误,仅在 运行ning Android 5.0

时发生

E/Adreno-ES20﹕:无效的贴图格式!返回错误! E/Adreno-ES20﹕ : 帧缓冲区颜色附件不完整。返回 GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT!

我的着色器中有:

 #extension GL_OES_EGL_image_external : require
 // Image texture.
 uniform samplerExternalOES sTexture;
 precision mediump float;

。 . .

有人以前见过这个问题吗?

部分文档:

https://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image_external.txt

Because of these restrictions, it is possible to bind EGLImages which have internal formats not otherwise supported by OpenGL ES. For example some implementations may allow EGLImages with planar or interleaved YUV data to be GLES texture target siblings. It is up to the implementation exactly what formats are accepted.

听起来接受的格式可能改变了?我会检查您的格式,看看是否放弃了对它的支持,或者它是否是一个错误。

好的,所以在 Android 6.0 更新后,这个问题就消失了。

因此,对于 Android 4.x 有效,5 无效,6.0 有效。我称之为 Android 5.0 问题。