最小失败片段着色器:
#version 320 es
#extension GL_OES_EGL_image_external_essl3 : require
precision highp float;
precision highp int;
vec4 x(samplerExternalOES sampler) {
return texture(sampler, vec2(0, 0));
}
void main() {
}
在三星G-930P上,OpenGL ES 3.2V@145.0 (GIT@I5bc0f577f9)无法编译,着色器日志读取:
内部编译器错误:错误:超出边界的数组索引
在三星的G-930F上--本质上是相同的手机,同样的安卓版本,等等--但是使用OpenGL ES 3.2 OpenGL进行编译--后者可以正确地执行更复杂的着色器,从samplerExternalOES
读取纹理。
这是G-930P上的OpenGL ES实现中的一个bug吗?这是否是指定要在texture
上调用samplerExternalOES
的函数的参数的不合理方法?
发布于 2016-11-18 10:34:30
这是G-930P上的OpenGL ES实现中的一个bug吗?
看起来真的很像..。
在三星G-930F上-本质上是相同的手机,相同的Android版本等,然而,与OpenGL ES 3.2 OpenGL
如果你看手机里面就不一样了。
第一部手机(V@145.0版)是基于高通公司的Snapdradon,它使用的是Adreno,第二部(12p1)基于使用马里GPU的三星Exynos。
在我看来,这似乎是Adreno设备驱动程序中的bug,而马里的驱动程序正在正确地处理它。
https://stackoverflow.com/questions/40662936
复制相似问题