PowerVR - glDrawElements上的GL_OUT_OF_MEMORY
问题描述:
我在PowerVR GPU上调用glDrawElements
后遇到GL_OUT_OF_MEMORY
错误。这发生在以下设备:PowerVR - glDrawElements上的GL_OUT_OF_MEMORY
- 摩托罗拉Atrix 2与股票4.0(的PowerVR SGX540)
- 技嘉GSmart GS202与股票4.x版(PowerVR的SGX531u)
- 一些LG手机与股票4.x版(还有一些PowerVR芯片)。
根据glDrawElements
specs它根本不会导致GL_OUT_OF_MEMORY
错误,但我肯定会在PowerVR硬件上发生此错误。
答
这是由ETC1纹理实现中的一些错误引起的。如果我使用尺寸为1x1像素的ETC1纹理,则会在GPU上产生PowerVR上的此错误。我已经通过使用4x4纹理(ETC1最小块的大小)来修复它。
如果ETC1纹理与mipmap一起使用,则不会复制此问题 - 在本例中,它适用于所有mipmap。