void OsmAnd::AtlasMapRendererDebugStage_OpenGL::releaseRects2D() { const auto gpuAPI = getGPUAPI(); GL_CHECK_PRESENT(glDeleteBuffers); GL_CHECK_PRESENT(glDeleteProgram); if(_iboRect2D) { glDeleteBuffers(1, &_iboRect2D); GL_CHECK_RESULT; _iboRect2D.reset(); } if(_vboRect2D) { glDeleteBuffers(1, &_vboRect2D); GL_CHECK_RESULT; _vboRect2D.reset(); } if(_vaoRect2D) { gpuAPI->glDeleteVertexArrays_wrapper(1, &_vaoRect2D); GL_CHECK_RESULT; _vaoRect2D.reset(); } if(_programRect2D.id) { glDeleteProgram(_programRect2D.id); GL_CHECK_RESULT; _programRect2D = ProgramRect2D(); } }
bool OsmAnd::AtlasMapRendererDebugStage_OpenGL::releaseRects2D() { const auto gpuAPI = getGPUAPI(); GL_CHECK_PRESENT(glDeleteBuffers); GL_CHECK_PRESENT(glDeleteProgram); if (_vaoRect2D.isValid()) { gpuAPI->releaseVAO(_vaoRect2D); _vaoRect2D.reset(); } if (_iboRect2D.isValid()) { glDeleteBuffers(1, &_iboRect2D); GL_CHECK_RESULT; _iboRect2D.reset(); } if (_vboRect2D.isValid()) { glDeleteBuffers(1, &_vboRect2D); GL_CHECK_RESULT; _vboRect2D.reset(); } if (_programRect2D.id.isValid()) { glDeleteProgram(_programRect2D.id); GL_CHECK_RESULT; _programRect2D = ProgramRect2D(); } return true; }