2014-04-02 49 views
2

我在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硬件上發生此錯誤。

回答

1

這是由ETC1紋理實現中的一些錯誤引起的。如果我使用尺寸爲1x1像素的ETC1紋理,則會在GPU上產生PowerVR上的此錯誤。我已經通過使用4x4紋理(ETC1最小塊的大小)來修復它。

如果ETC1紋理與mipmap一起使用,則不會複製此問題 - 在本例中,它適用於所有mipmap。