summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp9
-rw-r--r--src/Runtime/ogl-runtime/src/render/backends/gl/Q3DSRenderBackendGLES2.h2
-rw-r--r--src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.cpp9
-rw-r--r--src/Runtime/ogl-runtime/src/render/backends/gl/Qt3DSRenderBackendGL3.h2
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,