2015-03-03 104 views
1

我在每次尝试的手机上都有很长时间的片段着色器。 Android 5.0升级完成后,两部手机都无法运行该应用。Android 5.0不支持samplerExternalOES?

通过调试,我看到在GLES20.glLinkProgram(节目)

我看到编译的着色器,其中仅运行Android 5.0

E /肾上腺ES20时发生后以下错误应用程序崩溃::纹理格式无效!返回错误! E/Adreno-ES20::帧缓冲区颜色附件不完整。正在返回GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT!

我在我的着色器是什么:

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

。 。 。

有人看到这个问题之前?

+0

难道ü能找出原因? – Newts 2015-03-20 11:00:26

+0

不幸的是没有:(我从谷歌播放中删除了应用程序,我打算在大约2周后再次开始调查,现在我只是赶上其他东西 – Makketronix 2015-03-25 13:22:53

+0

只是为了确保我理解正确:有崩溃* * **里面'glLinkProgram()'?成功的着色器编译,这意味着'GL_COMPILE_STATUS'是真的吗? – 2015-05-22 16:39:54

回答

0

好,因此Android 6.0更新后,这个问题就消失了。

所以,针对Android 4.x的工作原理,5它不工作,和6.0它的工作原理。我打电话给这个Android 5.0的问题。

0

一些文档:

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

由于这些限制,也可以具有内部格式不被 的OpenGL ES否则支持 绑定EGLImages。例如,一些实现可以允许具有 平面或交织的YUV数据的EGLImages成为GLES纹理目标同胞。它是 直到实施什么格式被接受。

听起来也许接受的格式改变了吗?我会检查你的格式,看看是否支持它,或者如果它是一个错误。

+0

嗯,确实格式上的任何工作之前5.0 5.0后,停止工作。这将使其错误? – Makketronix 2015-07-05 15:37:40

+0

对不起,我其实不知道 – mlepage 2015-07-07 02:03:19

+1

假设Android版OpenGLES中的错误数量等于自版本16以来的API数量乘以现有GPU的数量再乘以5个错误的平均值每个GPU。 – 2016-01-08 00:19:55