次のコードは、iOS 4 ではエラーなく動作し、iOS5 では glTexImage2D の後に CHECK_GL_ERROR マクロ 0x500 で出力されます。これに関する情報を検索しましたが、有用なものは見つかりませんでした。
GLuint depthTexId = 0;
glGenTextures(1, &depthTexId);
CHECK_GL_ERROR();
glActiveTexture(GL_TEXTURE0);
CHECK_GL_ERROR();
glBindTexture(GL_TEXTURE_2D, depthTexId);
CHECK_GL_ERROR();
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
CHECK_GL_ERROR();
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
CHECK_GL_ERROR();
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 512, 512, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, 0);
CHECK_GL_ERROR();
glTexImage2D のパラメータを変更しようとしましたが、成功しません。なぜそれが機能しているのですか?iOS 4 と 5 の違いは何ですか? これを修正する方法は?