summaryrefslogtreecommitdiffstats
path: root/src/render/backend
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire.ecortex@kdab.com>2014-11-19 07:37:27 +0100
committerSean Harmer <sean.harmer@kdab.com>2014-12-12 14:16:50 +0100
commit8b6fb0fbe4c8624f6e1d4d4b7883d8d2fc6d6ada (patch)
tree9445345824f44f935f90e7487df8c175199a79a7 /src/render/backend
parent46682ce87f0a495df151c7d0d4c113805753c360 (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>
Diffstat (limited to 'src/render/backend')
-rw-r--r--src/render/backend/qgraphicshelperes2.cpp10
-rw-r--r--src/render/backend/qgraphicshelperes2_p.h1
-rw-r--r--src/render/backend/qgraphicshelpergl2.cpp8
-rw-r--r--src/render/backend/qgraphicshelpergl2_p.h1
-rw-r--r--src/render/backend/qgraphicshelpergl3.cpp5
-rw-r--r--src/render/backend/qgraphicshelpergl3_p.h1
-rw-r--r--src/render/backend/qgraphicshelperinterface_p.h1
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;
};