diff options
4 files changed, 22 insertions, 0 deletions
diff --git a/src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp b/src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp index b06c80f8..ac5b9924 100644 --- a/src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp +++ b/src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp @@ -501,6 +501,15 @@ bool NVRenderBackendGLES2Impl::SetInputAssembler(NVRenderBackendInputAssemblerOb return true; } +void NVRenderBackendGLES2Impl::ReleaseInputAssembler( + NVRenderBackend::NVRenderBackendInputAssemblerObject iao) +{ + NVRenderBackendInputAssemblerGL *inputAssembler = (NVRenderBackendInputAssemblerGL *)iao; + if (inputAssembler->m_VaoID) + GL_CALL_EXTENSION_FUNCTION(glDeleteVertexArraysOES(1, &inputAssembler->m_VaoID)); + NVDelete(m_Foundation.getAllocator(), inputAssembler); +} + void NVRenderBackendGLES2Impl::SetDrawBuffers(NVRenderBackendRenderTargetObject rto, NVConstDataRef<QT3DSI32> inDrawBufferSet) { diff --git a/src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.h b/src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.h index 4890de0e..2c7a355f 100644 --- a/src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.h +++ b/src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.h @@ -108,6 +108,8 @@ namespace render { bool SetInputAssembler(NVRenderBackendInputAssemblerObject iao, NVRenderBackendShaderProgramObject po) override; + void ReleaseInputAssembler(NVRenderBackendInputAssemblerObject iao) override; + void SetDrawBuffers(NVRenderBackendRenderTargetObject rto, NVConstDataRef<QT3DSI32> inDrawBufferSet) override; void SetReadBuffer(NVRenderBackendRenderTargetObject rto, diff --git a/src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.cpp b/src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.cpp index 061151ed..c4d8b640 100644 --- a/src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.cpp +++ b/src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.cpp @@ -506,6 +506,15 @@ namespace render { return true; } + void NVRenderBackendGL3Impl::ReleaseInputAssembler( + NVRenderBackend::NVRenderBackendInputAssemblerObject iao) + { + NVRenderBackendInputAssemblerGL *inputAssembler = (NVRenderBackendInputAssemblerGL *)iao; + if (inputAssembler->m_VaoID) + GL_CALL_EXTRA_FUNCTION(glDeleteVertexArrays(1, &inputAssembler->m_VaoID)); + NVDelete(m_Foundation.getAllocator(), inputAssembler); + } + void NVRenderBackendGL3Impl::SetDrawBuffers(NVRenderBackendRenderTargetObject rto, NVConstDataRef<QT3DSI32> inDrawBufferSet) { diff --git a/src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.h b/src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.h index 7147b341..ea772700 100644 --- a/src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.h +++ b/src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.h @@ -105,6 +105,8 @@ namespace render { bool SetInputAssembler(NVRenderBackendInputAssemblerObject iao, NVRenderBackendShaderProgramObject po) override; + void ReleaseInputAssembler(NVRenderBackendInputAssemblerObject iao) override; + void SetDrawBuffers(NVRenderBackendRenderTargetObject rto, NVConstDataRef<QT3DSI32> inDrawBufferSet) override; void SetReadBuffer(NVRenderBackendRenderTargetObject rto, |