iOS 10中A7设备上的OpenGL错误

时间:2016-09-16 14:42:17

标签: ios opengl-es opengl-es-2.0 ios10

在iOS 10更新后,我的图像处理应用在具有A7芯片(iPhone 5s和iPad Mini 2测试)的设备上表现得非常奇怪:

渲染需要很长时间并产生破碎的结果。 Instruments公布了一些glDrawElements次调用返回GL_INVALID_OPERATION。不过,我无法弄清楚原因。

相同的代码在较新的设备(A8和更好的设备)和iOS 9中的所有设备上运行得非常好。苹果公司是否改变了我不知道的事情?

更多背景信息:

  • 我部分使用GL_HALF_FLOAT_OES类型
  • 的纹理
  • 我使用EXT_color_buffer_half_float扩展名来渲染这些纹理
  • 我使用EXT_shader_framebuffer_fetch扩展程序来处理我的部分过滤器中的像素

1 个答案:

答案 0 :(得分:0)

事实证明,我只在部分着色器(例如gl_FragColor)中部分分配了gl_FragColor.rg = vec2(1.0, 0.0);,这导致了iOS 10中的错误行为。可能只与{{1}组合但是 - 键入渲染目标。

当我总是分配完整的矢量时(即使其他部分未被使用......),它就像一个魅力。