在PowerVR GPU上调用GL_OUT_OF_MEMORY后,遇到了glDrawElements错误。在以下设备上会发生这种情况:


配备库存4.0(PowerVR SGX540)的Motorola Atrix 2
技嘉GSmart GS202带有库存4.x(PowerVR SGX531u)
一些带有4.x库存的LG手机(也带有一些PowerVR芯片)。


根据glDrawElements specs的说法,它根本不会导致GL_OUT_OF_MEMORY错误,但是我在PowerVR硬件上肯定会收到此错误。

最佳答案

这是由ETC1纹理实现中的一些错误引起的。如果我使用尺寸为1x1像素的ETC1纹理,则会在PowerVR GPU上导致此错误。我已经通过使用4x4纹理(ETC1最小块的大小)修复了它。

如果ETC1纹理与mipmap一起使用,则不会重现此问题-在这种情况下,它适用于所有mipmap。

10-08 15:18