Opengl es GLSL和GLE2中最大操作的错误?

Opengl es GLSL和GLE2中最大操作的错误?,opengl-es,glsl,Opengl Es,Glsl,我有一个简单的问题。我试图为Android优化一些GLSL代码,但很难理解为什么: resMax = max(resMax, resbr[previousTexture]); resMax = max(resMax, resbr[previous2Texture]); 不同于: if (resMax < resbr[previousTexture]) { resMax = resbr[previousTexture]; } if (resM

我有一个简单的问题。我试图为Android优化一些GLSL代码,但很难理解为什么:

    resMax = max(resMax, resbr[previousTexture]);
    resMax = max(resMax, resbr[previous2Texture]);
不同于:

    if (resMax < resbr[previousTexture]) {
    resMax = resbr[previousTexture];
    }
    if (resMax < resbr[previous2Texture]) {
    resMax = resbr[previous2Texture];
    }
if(resMax
底部代码运行良好,顶部代码显示错误行为

这是一个错误还是我做错了什么?发生了什么事


值得注意的是,“min”不会出现问题。

这些变量的类型是什么?所有浮动;resMax是一个浮点数组,resbr是一个浮点数组。