GLKView fails to make complete framebuffer when returning from background into split-screen

Originator:dlahyani
Number:rdar://22595335 Date Originated:6/09/2015
Status:Open Resolved:
Product:iOS Product Version:9.0
Classification:Other Bug Reproducible:Always
 
Summary:
When an app containing a GLKView returns from background into split-screen mode the GLKView fails to make the framebuffer complete due to a failure in the binding of its EAGLDrawable. The following messages are printed to the console:
2015-09-06 14:05:30.649 LTViewUser[2781:2282448] Failed to bind EAGLDrawable: <CAEAGLLayer: 0x14ee97fa0> to GL_RENDERBUFFER 1
2015-09-06 14:05:30.649 LTViewUser[2781:2282448] Failed to make complete framebuffer object 8cd6

As a result of this failure the next call to glkView:drawInRect: (on the GLKViewDelegate) obviously fails to draw  due to the lack of a framebuffer.

Steps to Reproduce:
Add a GLKView to the view tree. 
Set its autoResizingMask to (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight) and its enableSetNeedsDisplay to YES.
From the viewWillTransitionToSize:withTransitionCoordinator: method of the VC invoke setNeedsDisplay on the GLKView.

Run the application on an iPad with iOS 9.
Send it to background and open another app (Notes for example), now reopen the app into split screen .

Expected Results:
Drawing to the GLKView succeeds.

Actual Results:
Drawing to GLKView fails and two error messages are printed to the console.
2015-09-06 14:05:30.649 LTViewUser[2781:2282448] Failed to bind EAGLDrawable: <CAEAGLLayer: 0x14ee97fa0> to GL_RENDERBUFFER 1
2015-09-06 14:05:30.649 LTViewUser[2781:2282448] Failed to make complete framebuffer object 8cd6

Version:
iOS 9.0 (13A4325c)

Configuration:
iPad Air 2

Comments

Also happens on iOS 9 GM and iOS 9.0.1


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!