void GrGLRenderTarget::onRelease() { if (kBorrowed_LifeCycle != fRTLifecycle) { if (fTexFBOID) { GL_CALL(DeleteFramebuffers(1, &fTexFBOID)); } if (fRTFBOID && fRTFBOID != fTexFBOID) { GL_CALL(DeleteFramebuffers(1, &fRTFBOID)); } if (fMSColorRenderbufferID) { GL_CALL(DeleteRenderbuffers(1, &fMSColorRenderbufferID)); } } fRTFBOID = 0; fTexFBOID = 0; fMSColorRenderbufferID = 0; INHERITED::onRelease(); }
void GrGLRenderTarget::onRelease() { if (!this->isWrapped()) { if (fTexFBOID) { GL_CALL(DeleteFramebuffers(1, &fTexFBOID)); } if (fRTFBOID && fRTFBOID != fTexFBOID) { GL_CALL(DeleteFramebuffers(1, &fRTFBOID)); } if (fMSColorRenderbufferID) { GL_CALL(DeleteRenderbuffers(1, &fMSColorRenderbufferID)); } } fRTFBOID = 0; fTexFBOID = 0; fMSColorRenderbufferID = 0; INHERITED::onRelease(); }
void GrGLRenderTarget::onRelease() { if (GrBackendObjectOwnership::kBorrowed != fRTFBOOwnership) { if (fTexFBOID) { GL_CALL(DeleteFramebuffers(1, &fTexFBOID)); } if (fRTFBOID && fRTFBOID != fTexFBOID) { GL_CALL(DeleteFramebuffers(1, &fRTFBOID)); } if (fMSColorRenderbufferID) { GL_CALL(DeleteRenderbuffers(1, &fMSColorRenderbufferID)); } } fRTFBOID = 0; fTexFBOID = 0; fMSColorRenderbufferID = 0; INHERITED::onRelease(); }
SkGLContextHelper::~SkGLContextHelper() { if (fGL) { // TODO: determine why DeleteFramebuffers is generating a GL error in tests SK_GL_NOERRCHECK(*this, DeleteFramebuffers(1, &fFBO)); SK_GL_NOERRCHECK(*this, DeleteRenderbuffers(1, &fColorBufferID)); SK_GL_NOERRCHECK(*this, DeleteRenderbuffers(1, &fDepthStencilBufferID)); } SkSafeUnref(fGL); }
void GrGLRenderTarget::onRelease() { GPUGL->notifyRenderTargetDelete(this); if (fOwnIDs) { if (fTexFBOID) { GR_GL(DeleteFramebuffers(1, &fTexFBOID)); } if (fRTFBOID && fRTFBOID != fTexFBOID) { GR_GL(DeleteFramebuffers(1, &fRTFBOID)); } if (fStencilRenderbufferID) { GR_GL(DeleteRenderbuffers(1, &fStencilRenderbufferID)); } if (fMSColorRenderbufferID) { GR_GL(DeleteRenderbuffers(1, &fMSColorRenderbufferID)); } } fRTFBOID = 0; fTexFBOID = 0; fStencilRenderbufferID = 0; fMSColorRenderbufferID = 0; GrSafeUnref(fTexIDObj); fTexIDObj = NULL; }
void SkNativeSharedGLContext::destroyGLResources() { if (fGL) { // We need this thread to grab the GLX context before we can make // OpenGL calls. But glXMakeCurrent() will flush the old context, // which might have been uninitialized. Calling with (None, NULL) // first solves this problem (somehow). glXMakeCurrent(fDisplay, None, NULL); glXMakeCurrent(fDisplay, fGlxPixmap, fContext); SK_GL_NOERRCHECK(*this, DeleteFramebuffers(1, &fFBO)); SK_GL_NOERRCHECK(*this, DeleteTextures(1, &fTextureID)); SK_GL_NOERRCHECK(*this, DeleteRenderbuffers(1, &fDepthStencilBufferID)); } glXMakeCurrent(fDisplay, None, NULL); glXDestroyGLXPixmap(fDisplay, fGlxPixmap); fGlxPixmap = 0; }
void GLInterfaceWrapper::DeleteFramebuffer( GLuint& buffer ) const { DeleteFramebuffers( 1, &buffer ); buffer = 0; }