diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2017-01-03 10:52:49 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2017-01-09 14:36:14 +0000 |
commit | e18b9995784237dd87ca62fea88e56a00df9e102 (patch) | |
tree | 565a2a1da601d6c6aa5d57c820a82923bfb70521 | |
parent | ea4c632e311c3ca9887fa683749e8e9c75044cfa (diff) |
OpenGLVertexArrayObject: add a destroy method
Change-Id: I0fd40ace5234697a0d281cac7e0bdc1680d73558
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | src/render/backend/openglvertexarrayobject.cpp | 12 | ||||
-rw-r--r-- | src/render/backend/openglvertexarrayobject_p.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/render/backend/openglvertexarrayobject.cpp b/src/render/backend/openglvertexarrayobject.cpp index e64ab58c6..6120c7233 100644 --- a/src/render/backend/openglvertexarrayobject.cpp +++ b/src/render/backend/openglvertexarrayobject.cpp @@ -110,6 +110,18 @@ void OpenGLVertexArrayObject::create() } } +void OpenGLVertexArrayObject::destroy() +{ + Q_ASSERT(m_ctx); + if (m_supportsVao) { + Q_ASSERT(!m_vao.isNull()); + m_vao->destroy(); + } + m_specified = false; + m_indexAttribute = GraphicsContext::VAOIndexAttribute(); + m_vertexAttributes.clear(); +} + bool OpenGLVertexArrayObject::isCreated() const { if (m_supportsVao) { diff --git a/src/render/backend/openglvertexarrayobject_p.h b/src/render/backend/openglvertexarrayobject_p.h index 08acf32b7..4f21497f0 100644 --- a/src/render/backend/openglvertexarrayobject_p.h +++ b/src/render/backend/openglvertexarrayobject_p.h @@ -68,6 +68,7 @@ public: void bind(); void release(); void create(); + void destroy(); bool isCreated() const; QOpenGLVertexArrayObject *vao() { return m_vao.data(); } |