void DestroySurfaceGLES(EAGLSurfaceDesc* surface) { if( surface->systemRenderbuffer ) { GLES_CHK( glBindRenderbufferOES(GL_RENDERBUFFER_OES, surface->systemRenderbuffer) ); DeallocateRenderBufferStorageFromEAGLLayer(); GLES_CHK( glBindRenderbufferOES(GL_RENDERBUFFER_OES, 0) ); GLES_CHK( glDeleteRenderbuffersOES(1, &surface->systemRenderbuffer) ); surface->systemRenderbuffer = 0; } if( surface->systemFramebuffer ) { GLES_CHK( glDeleteFramebuffersOES(1, &surface->systemFramebuffer) ); surface->systemFramebuffer = 0; } DestroyRenderingSurfaceGLES(surface); if(surface->depthbuffer) { GLES_CHK( glDeleteRenderbuffersOES(1, &surface->depthbuffer) ); surface->depthbuffer = 0; } }
void DestroySurfaceGLES(EAGLSurfaceDesc* surface) { if( surface->renderbuffer ) { GLES_CHK( glBindRenderbufferOES(GL_RENDERBUFFER_OES, surface->renderbuffer) ); DeallocateRenderBufferStorageFromEAGLLayer(); GLES_CHK( glBindRenderbufferOES(GL_RENDERBUFFER_OES, 0) ); GLES_CHK( glDeleteRenderbuffersOES(1, &surface->renderbuffer) ); surface->renderbuffer = 0; } if( surface->framebuffer ) { GLES_CHK( glDeleteFramebuffersOES(1, &surface->framebuffer) ); surface->framebuffer = 0; } DestroySurfaceMultisampleBuffersGLES(surface); }