Android OpenGL ES 2.0中从GPU到GPU的主要实现变化?

Android OpenGL ES 2.0中从GPU到GPU的主要实现变化?,android,opengl-es-2.0,Android,Opengl Es 2.0,我注意到在一台Android设备上运行没有问题的程序并不总是在另一台设备上运行 OpenGL ES 2.0的实现在不同的GPU之间会有什么不同?遗憾的是,我还没有找到任何关于曲面、纹理、变量声明(类型、精度等)在实现之间的使用差异的好的总结,因此这使得OpenGL ES 2.0调试非常痛苦。大多数答案是:“也许你可以做这个,或者那个,或者那个。”在使用OpenGLES2.0的过程中,有很多矛盾和误解 无论如何。是否有人有足够的经验在多个平台上使用OpenGL ES 2.0,列举不同GPU实现之间

我注意到在一台Android设备上运行没有问题的程序并不总是在另一台设备上运行

OpenGL ES 2.0的实现在不同的GPU之间会有什么不同?遗憾的是,我还没有找到任何关于曲面、纹理、变量声明(类型、精度等)在实现之间的使用差异的好的总结,因此这使得OpenGL ES 2.0调试非常痛苦。大多数答案是:“也许你可以做这个,或者那个,或者那个。”在使用OpenGLES2.0的过程中,有很多矛盾和误解


无论如何。是否有人有足够的经验在多个平台上使用OpenGL ES 2.0,列举不同GPU实现之间可能发生的变化,以及是否有良好的实践来最大化设备之间的兼容性?示例:设备之间外部纹理的处理是否会发生变化?设备是否对纹理单元使用不同的逻辑?

我没有任何直接的经验了解设备上的Android GL ES问题,但我的理解是,最常见的问题与GLSL编译器问题有关

这是因为GLSL编译器由每个GPU供应商实施和提供,因此GLSL程序可能由一系列编译器编译,每个编译器都有其缺陷和限制


请参见示例。

整个OpenGL驱动程序都是特定于供应商的。因此,供应商依赖关系可以是任何地方。我不明白为什么它只针对GLSL编译器。