【发布时间】:2016-11-17 18:58:32
【问题描述】:
最小的失败片段着色器:
#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 V@145.0 (GIT@I5bc0f577f9),编译失败,着色器日志读取:
内部编译器错误:错误:数组索引超出边界
在三星 G-930F 上 - 基本上是相同的手机、相同的 Android 版本等,但是使用 OpenGL ES 3.2 v1.r12p1-00dev0.60546d7cd0bfd82d0ba92ca3bb825c75,它可以编译 - 后一个设备可以正确执行更复杂的着色器,从samplerExternalOES 读取纹素。
这是 G-930P 上的 OpenGL ES 实现中的错误吗?这是指定要在samplerExternalOES 上调用texture 的函数的参数的不合理方式吗?
【问题讨论】:
标签: android opengl-es glsl glsles