Android 从采样器外部读取texel时编译时失败

Android 从采样器外部读取texel时编译时失败,android,opengl-es,glsl,glsles,Android,Opengl Es,Glsl,Glsles,最小失败片段着色器: #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.2

最小失败片段着色器:

#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上——本质上是相同的手机,相同的Android版本,等等。但是在OpenGL ES 3.2 v1.r12p1-00dev0.60546d7cd0bfd82d0ba92ca3bb825c75上,它可以编译——后者可以正确执行更复杂的着色器,从
采样器外部读取texel

这是G-930P上OpenGL ES实现中的一个错误吗?指定要在
采样器外部
上调用
纹理
的函数的参数是否不合理

这是G-930P上OpenGL ES实现中的一个错误吗

看起来真像

在三星G-930F上-基本上是相同的手机、相同的安卓版本等,但使用OpenGL ES 3.2 v1.r12p1-00dev0.60546d7cd0bfd82d0ba92ca3bb825c75

如果你看手机里面,情况就不一样了

第一款手机(带版本)V@145.0)第二款(12p1)基于使用Adreno GPU的高通Snapdradon,第二款基于使用Mali GPU的三星Exynos

在我看来,这似乎是Adreno设备驱动程序中的错误,Mali的驱动程序正在正确处理它