diff options
author | Paul Lemire <paul.lemire.ecortex@kdab.com> | 2014-11-19 07:37:27 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-12-12 14:16:50 +0100 |
commit | 8b6fb0fbe4c8624f6e1d4d4b7883d8d2fc6d6ada (patch) | |
tree | 9445345824f44f935f90e7487df8c175199a79a7 | |
parent | 46682ce87f0a495df151c7d0d4c113805753c360 (diff) |
QGraphicsHelper: bindBufferBase method added
Change-Id: I060326d6bfcc413c6c1692f7539696acf7e1a460
Note: Available since OpenGL 3.0 / ES 3.0 only
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | src/render/backend/qgraphicshelperes2.cpp | 10 | ||||
-rw-r--r-- | src/render/backend/qgraphicshelperes2_p.h | 1 | ||||
-rw-r--r-- | src/render/backend/qgraphicshelpergl2.cpp | 8 | ||||
-rw-r--r-- | src/render/backend/qgraphicshelpergl2_p.h | 1 | ||||
-rw-r--r-- | src/render/backend/qgraphicshelpergl3.cpp | 5 | ||||
-rw-r--r-- | src/render/backend/qgraphicshelpergl3_p.h | 1 | ||||
-rw-r--r-- | src/render/backend/qgraphicshelperinterface_p.h | 1 |
7 files changed, 26 insertions, 1 deletions
diff --git a/src/render/backend/qgraphicshelperes2.cpp b/src/render/backend/qgraphicshelperes2.cpp index 6559d73fd..0627ee24e 100644 --- a/src/render/backend/qgraphicshelperes2.cpp +++ b/src/render/backend/qgraphicshelperes2.cpp @@ -388,7 +388,15 @@ void QGraphicsHelperES2::bindUniformBlock(GLuint programId, GLuint uniformBlockI Q_UNUSED(programId) Q_UNUSED(uniformBlockIndex) Q_UNUSED(uniformBlockBinding) - qWarning() << "UBO are not supported by OpenGL 2.0 (since OpenGL 3.1)"; + qWarning() << "UBO are not supported by ES 2.0 (since ES 3.0)"; +} + +void QGraphicsHelperES2::bindBufferBase(GLenum target, GLuint index, GLuint buffer) +{ + Q_UNUSED(target); + Q_UNUSED(index); + Q_UNUSED(buffer); + qWarning() << "bindBufferBase is not supported by ES 2.0 (since ES 3.0)"; } } // Render diff --git a/src/render/backend/qgraphicshelperes2_p.h b/src/render/backend/qgraphicshelperes2_p.h index a9962e1e0..d9250a175 100644 --- a/src/render/backend/qgraphicshelperes2_p.h +++ b/src/render/backend/qgraphicshelperes2_p.h @@ -90,6 +90,7 @@ public: void bindFragDataLocation(GLuint shader, const QHash<QString, int> &outputs) Q_DECL_OVERRIDE; void bindUniform(const QVariant &v, const ShaderUniform &description) Q_DECL_OVERRIDE; void bindUniformBlock(GLuint programId, GLuint uniformBlockIndex, GLuint uniformBlockBinding) Q_DECL_OVERRIDE; + void bindBufferBase(GLenum target, GLuint index, GLuint buffer) Q_DECL_OVERRIDE; private: QOpenGLFunctions_ES2 *m_funcs; diff --git a/src/render/backend/qgraphicshelpergl2.cpp b/src/render/backend/qgraphicshelpergl2.cpp index 9562eeed2..62195f4dd 100644 --- a/src/render/backend/qgraphicshelpergl2.cpp +++ b/src/render/backend/qgraphicshelpergl2.cpp @@ -421,6 +421,14 @@ void QGraphicsHelperGL2::bindUniformBlock(GLuint programId, GLuint uniformBlockI qWarning() << "UBO are not supported by OpenGL 2.0 (since OpenGL 3.1)"; } +void QGraphicsHelperGL2::bindBufferBase(GLenum target, GLuint index, GLuint buffer) +{ + Q_UNUSED(target); + Q_UNUSED(index); + Q_UNUSED(buffer); + qWarning() << "bindBufferBase is not supported by OpenGL 2.0 (since OpenGL 3.0)"; +} + } // Render } // Qt3D diff --git a/src/render/backend/qgraphicshelpergl2_p.h b/src/render/backend/qgraphicshelpergl2_p.h index c2268b676..8ee57589b 100644 --- a/src/render/backend/qgraphicshelpergl2_p.h +++ b/src/render/backend/qgraphicshelpergl2_p.h @@ -89,6 +89,7 @@ public: void bindFragDataLocation(GLuint shader, const QHash<QString, int> &outputs) Q_DECL_OVERRIDE; void bindUniform(const QVariant &v, const ShaderUniform &description) Q_DECL_OVERRIDE; void bindUniformBlock(GLuint programId, GLuint uniformBlockIndex, GLuint uniformBlockBinding) Q_DECL_OVERRIDE; + void bindBufferBase(GLenum target, GLuint index, GLuint buffer) Q_DECL_OVERRIDE; private: QOpenGLFunctions_2_0 *m_funcs; diff --git a/src/render/backend/qgraphicshelpergl3.cpp b/src/render/backend/qgraphicshelpergl3.cpp index a56a35d3a..7bdd14aaf 100644 --- a/src/render/backend/qgraphicshelpergl3.cpp +++ b/src/render/backend/qgraphicshelpergl3.cpp @@ -505,6 +505,11 @@ void QGraphicsHelperGL3::bindUniformBlock(GLuint programId, GLuint uniformBlockI m_funcs->glUniformBlockBinding(programId, uniformBlockIndex, uniformBlockBinding); } +void QGraphicsHelperGL3::bindBufferBase(GLenum target, GLuint index, GLuint buffer) +{ + m_funcs->glBindBufferBase(target, index, buffer); +} + } // Render } // Qt3D diff --git a/src/render/backend/qgraphicshelpergl3_p.h b/src/render/backend/qgraphicshelpergl3_p.h index c30b53aae..40a3a645b 100644 --- a/src/render/backend/qgraphicshelpergl3_p.h +++ b/src/render/backend/qgraphicshelpergl3_p.h @@ -90,6 +90,7 @@ public: void bindFragDataLocation(GLuint shader, const QHash<QString, int> &outputs) Q_DECL_OVERRIDE; void bindUniform(const QVariant &v, const ShaderUniform &description) Q_DECL_OVERRIDE; void bindUniformBlock(GLuint programId, GLuint uniformBlockIndex, GLuint uniformBlockBinding) Q_DECL_OVERRIDE; + void bindBufferBase(GLenum target, GLuint index, GLuint buffer) Q_DECL_OVERRIDE; private: QOpenGLFunctions_3_2_Core *m_funcs; diff --git a/src/render/backend/qgraphicshelperinterface_p.h b/src/render/backend/qgraphicshelperinterface_p.h index 1f50cc75d..c7edb9b89 100644 --- a/src/render/backend/qgraphicshelperinterface_p.h +++ b/src/render/backend/qgraphicshelperinterface_p.h @@ -93,6 +93,7 @@ public: virtual void bindFragDataLocation(GLuint shader, const QHash<QString, int> &outputs) = 0; virtual void bindUniform(const QVariant &v, const ShaderUniform &description) = 0; virtual void bindUniformBlock(GLuint programId, GLuint uniformBlockIndex, GLuint uniformBlockBinding) = 0; + virtual void bindBufferBase(GLenum target, GLuint index, GLuint buffer) = 0; }; |