summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWieland Hagen <wieland.hagen@kdab.com>2016-01-14 17:55:03 +0100
committerWieland Hagen <wieland.hagen@kdab.com>2016-01-14 21:52:04 +0000
commit9d3b3d353aec6f410fef428e8104e59b9fe0c34d (patch)
tree3e11d38df46b2f2e0f0dc7a5de4419def1297b6b /src
parentf37155d134742e08b2aa42480fa520412da18063 (diff)
Added glEnablei, glDisablei, glBlendFuncSeparatei
Added glEnablei, glDisablei, glBlendFuncSeparate to GraphicsHelpers and GraphicsContext Task-number: QTBUG-50005 Change-Id: I01c3a6e26fde9756d62694235ba0c1a0fe5155ae Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/render/graphicshelpers/graphicscontext.cpp15
-rw-r--r--src/render/graphicshelpers/graphicscontext_p.h5
-rw-r--r--src/render/graphicshelpers/graphicshelperes2.cpp25
-rw-r--r--src/render/graphicshelpers/graphicshelperes2_p.h3
-rw-r--r--src/render/graphicshelpers/graphicshelpergl2.cpp25
-rw-r--r--src/render/graphicshelpers/graphicshelpergl2_p.h3
-rw-r--r--src/render/graphicshelpers/graphicshelpergl3.cpp21
-rw-r--r--src/render/graphicshelpers/graphicshelpergl3_3.cpp21
-rw-r--r--src/render/graphicshelpers/graphicshelpergl3_3_p.h3
-rw-r--r--src/render/graphicshelpers/graphicshelpergl3_p.h3
-rw-r--r--src/render/graphicshelpers/graphicshelpergl4.cpp15
-rw-r--r--src/render/graphicshelpers/graphicshelpergl4_p.h3
-rw-r--r--src/render/graphicshelpers/graphicshelperinterface_p.h3
13 files changed, 144 insertions, 1 deletions
diff --git a/src/render/graphicshelpers/graphicscontext.cpp b/src/render/graphicshelpers/graphicscontext.cpp
index 85edbfa5b..d934d33af 100644
--- a/src/render/graphicshelpers/graphicscontext.cpp
+++ b/src/render/graphicshelpers/graphicscontext.cpp
@@ -683,6 +683,11 @@ void GraphicsContext::blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor)
m_glHelper->blendFunci(buf, sfactor, dfactor);
}
+void GraphicsContext::blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha)
+{
+ m_glHelper->blendFuncSeparatei(buf, sRGB, dRGB, sAlpha, dAlpha);
+}
+
void GraphicsContext::alphaTest(GLenum mode1, GLenum mode2)
{
m_glHelper->alphaTest(mode1, mode2);
@@ -798,6 +803,16 @@ void GraphicsContext::dispatchCompute(int x, int y, int z)
m_glHelper->dispatchCompute(x, y, z);
}
+void GraphicsContext::enablei(GLenum cap, GLuint index)
+{
+ m_glHelper->enablei(cap, index);
+}
+
+void GraphicsContext::disablei(GLenum cap, GLuint index)
+{
+ m_glHelper->disablei(cap, index);
+}
+
/*!
\internal
Returns a texture unit for a texture, -1 if all texture units are assigned.
diff --git a/src/render/graphicshelpers/graphicscontext_p.h b/src/render/graphicshelpers/graphicscontext_p.h
index 12145c090..98ca94559 100644
--- a/src/render/graphicshelpers/graphicscontext_p.h
+++ b/src/render/graphicshelpers/graphicscontext_p.h
@@ -174,9 +174,10 @@ public:
void bindFragOutputs(GLuint shader, const QHash<QString, int> &outputs);
void bindUniformBlock(GLuint programId, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
void bindUniform(const QVariant &v, const ShaderUniform &description);
+ void bindShaderStorageBlock(GLuint programId, GLuint shaderStorageBlockIndex, GLuint shaderStorageBlockBinding);
void blendEquation(GLenum mode);
void blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor);
- void bindShaderStorageBlock(GLuint programId, GLuint shaderStorageBlockIndex, GLuint shaderStorageBlockBinding);
+ void blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha);
GLuint boundFrameBufferObject();
void buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer);
void clearColor(const QColor &color);
@@ -185,6 +186,7 @@ public:
void depthTest(GLenum mode);
void disableAlphaCoverage();
void disableClipPlane(int clipPlane);
+ void disablei(GLenum cap, GLuint index);
void disablePrimitiveRestart();
void dispatchCompute(int x, int y, int z);
void drawArrays(GLenum primitiveType, GLint first, GLsizei count);
@@ -193,6 +195,7 @@ public:
void drawElementsInstanced(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void * indices, GLsizei instances, GLint baseVertex = 0, GLint baseInstance = 0);
void enableAlphaCoverage();
void enableClipPlane(int clipPlane);
+ void enablei(GLenum cap, GLuint index);
void enablePrimitiveRestart(int restartIndex);
void frontFace(GLenum mode);
GLint maxClipPlaneCount();
diff --git a/src/render/graphicshelpers/graphicshelperes2.cpp b/src/render/graphicshelpers/graphicshelperes2.cpp
index dcbc3b764..7a59df5b9 100644
--- a/src/render/graphicshelpers/graphicshelperes2.cpp
+++ b/src/render/graphicshelpers/graphicshelperes2.cpp
@@ -236,6 +236,17 @@ void GraphicsHelperES2::blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor)
qWarning() << "glBlendFunci() not supported by OpenGL ES 2.0";
}
+void GraphicsHelperES2::blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha)
+{
+ Q_UNUSED(buf);
+ Q_UNUSED(sRGB);
+ Q_UNUSED(dRGB);
+ Q_UNUSED(sAlpha);
+ Q_UNUSED(dAlpha);
+
+ qWarning() << "glBlendFuncSeparatei() not supported by OpenGL ES 2.0";
+}
+
void GraphicsHelperES2::alphaTest(GLenum, GLenum)
{
qCWarning(Render::Rendering) << Q_FUNC_INFO << "AlphaTest not available with OpenGL ES 2.0";
@@ -579,6 +590,20 @@ void GraphicsHelperES2::pointSize(bool programmable, GLfloat value)
}
}
+void GraphicsHelperES2::enablei(GLenum cap, GLuint index)
+{
+ Q_UNUSED(cap);
+ Q_UNUSED(index);
+ qWarning() << "glEnablei() not supported by OpenGL ES 2.0";
+}
+
+void GraphicsHelperES2::disablei(GLenum cap, GLuint index)
+{
+ Q_UNUSED(cap);
+ Q_UNUSED(index);
+ qWarning() << "glDisablei() not supported by OpenGL ES 2.0";
+}
+
QSize GraphicsHelperES2::getRenderBufferDimensions(GLuint renderBufferId)
{
GLint width = 0;
diff --git a/src/render/graphicshelpers/graphicshelperes2_p.h b/src/render/graphicshelpers/graphicshelperes2_p.h
index b1f992f02..713325dd4 100644
--- a/src/render/graphicshelpers/graphicshelperes2_p.h
+++ b/src/render/graphicshelpers/graphicshelperes2_p.h
@@ -74,6 +74,7 @@ public:
void bindUniform(const QVariant &v, const ShaderUniform &description) Q_DECL_OVERRIDE;
void blendEquation(GLenum mode) Q_DECL_OVERRIDE;
void blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) Q_DECL_OVERRIDE;
+ void blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha) Q_DECL_OVERRIDE;
GLuint boundFrameBufferObject() Q_DECL_OVERRIDE;
void buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer) Q_DECL_OVERRIDE;
bool checkFrameBufferComplete() Q_DECL_OVERRIDE;
@@ -83,6 +84,7 @@ public:
void depthTest(GLenum mode) Q_DECL_OVERRIDE;
void disableAlphaCoverage() Q_DECL_OVERRIDE;
void disableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void disablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void disablePrimitiveRestart() Q_DECL_OVERRIDE;
void dispatchCompute(GLuint wx, GLuint wy, GLuint wz) Q_DECL_OVERRIDE;
void drawArrays(GLenum primitiveType, GLint first, GLsizei count) Q_DECL_OVERRIDE;
@@ -92,6 +94,7 @@ public:
void drawElementsInstanced(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLsizei instances, GLint baseVertex = 0, GLint baseInstance = 0) Q_DECL_OVERRIDE;
void enableAlphaCoverage() Q_DECL_OVERRIDE;
void enableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void enablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void enablePrimitiveRestart(int primitiveRestartIndex) Q_DECL_OVERRIDE;
void frontFace(GLenum mode) Q_DECL_OVERRIDE;
QSize getRenderBufferDimensions(GLuint renderBufferId) Q_DECL_OVERRIDE;
diff --git a/src/render/graphicshelpers/graphicshelpergl2.cpp b/src/render/graphicshelpers/graphicshelpergl2.cpp
index 035083446..4ceed3901 100644
--- a/src/render/graphicshelpers/graphicshelpergl2.cpp
+++ b/src/render/graphicshelpers/graphicshelpergl2.cpp
@@ -218,6 +218,17 @@ void GraphicsHelperGL2::blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor)
qWarning() << "glBlendFunci() not supported by OpenGL 2.0 (since OpenGL 4.0)";
}
+void GraphicsHelperGL2::blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha)
+{
+ Q_UNUSED(buf);
+ Q_UNUSED(sRGB);
+ Q_UNUSED(dRGB);
+ Q_UNUSED(sAlpha);
+ Q_UNUSED(dAlpha);
+
+ qWarning() << "glBlendFuncSeparatei() not supported by OpenGL 2.0 (since OpenGL 4.0)";
+}
+
void GraphicsHelperGL2::alphaTest(GLenum mode1, GLenum mode2)
{
m_funcs->glEnable(GL_ALPHA_TEST);
@@ -577,6 +588,20 @@ void GraphicsHelperGL2::pointSize(bool programmable, GLfloat value)
m_funcs->glPointSize(value);
}
+void GraphicsHelperGL2::enablei(GLenum cap, GLuint index)
+{
+ Q_UNUSED(cap);
+ Q_UNUSED(index);
+ qWarning() << "glEnablei() not supported by OpenGL 2.0 (since 3.0)";
+}
+
+void GraphicsHelperGL2::disablei(GLenum cap, GLuint index)
+{
+ Q_UNUSED(cap);
+ Q_UNUSED(index);
+ qWarning() << "glDisablei() not supported by OpenGL 2.0 (since 3.0)";
+}
+
QSize GraphicsHelperGL2::getRenderBufferDimensions(GLuint renderBufferId)
{
Q_UNUSED(renderBufferId);
diff --git a/src/render/graphicshelpers/graphicshelpergl2_p.h b/src/render/graphicshelpers/graphicshelpergl2_p.h
index 6603d34b8..fd4f7567e 100644
--- a/src/render/graphicshelpers/graphicshelpergl2_p.h
+++ b/src/render/graphicshelpers/graphicshelpergl2_p.h
@@ -76,6 +76,7 @@ public:
void bindUniform(const QVariant &v, const ShaderUniform &description) Q_DECL_OVERRIDE;
void blendEquation(GLenum mode) Q_DECL_OVERRIDE;
void blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) Q_DECL_OVERRIDE;
+ void blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha) Q_DECL_OVERRIDE;
GLuint boundFrameBufferObject() Q_DECL_OVERRIDE;
void buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer) Q_DECL_OVERRIDE;
bool checkFrameBufferComplete() Q_DECL_OVERRIDE;
@@ -85,6 +86,7 @@ public:
void depthTest(GLenum mode) Q_DECL_OVERRIDE;
void disableAlphaCoverage() Q_DECL_OVERRIDE;
void disableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void disablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void disablePrimitiveRestart() Q_DECL_OVERRIDE;
void dispatchCompute(GLuint wx, GLuint wy, GLuint wz) Q_DECL_OVERRIDE;
void drawArrays(GLenum primitiveType, GLint first, GLsizei count) Q_DECL_OVERRIDE;
@@ -94,6 +96,7 @@ public:
void drawElementsInstanced(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLsizei instances, GLint baseVertex = 0, GLint baseInstance = 0) Q_DECL_OVERRIDE;
void enableAlphaCoverage() Q_DECL_OVERRIDE;
void enableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void enablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void enablePrimitiveRestart(int primitiveRestartIndex) Q_DECL_OVERRIDE;
void frontFace(GLenum mode) Q_DECL_OVERRIDE;
QSize getRenderBufferDimensions(GLuint renderBufferId) Q_DECL_OVERRIDE;
diff --git a/src/render/graphicshelpers/graphicshelpergl3.cpp b/src/render/graphicshelpers/graphicshelpergl3.cpp
index d79431131..c76314a40 100644
--- a/src/render/graphicshelpers/graphicshelpergl3.cpp
+++ b/src/render/graphicshelpers/graphicshelpergl3.cpp
@@ -266,6 +266,17 @@ void GraphicsHelperGL3::blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor)
qWarning() << "glBlendFunci() not supported by OpenGL 3.0 (since OpenGL 4.0)";
}
+void GraphicsHelperGL3::blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha)
+{
+ Q_UNUSED(buf);
+ Q_UNUSED(sRGB);
+ Q_UNUSED(dRGB);
+ Q_UNUSED(sAlpha);
+ Q_UNUSED(dAlpha);
+
+ qWarning() << "glBlendFuncSeparatei() not supported by OpenGL 3.0 (since OpenGL 4.0)";
+}
+
void GraphicsHelperGL3::alphaTest(GLenum, GLenum)
{
qCWarning(Render::Rendering) << "AlphaTest not available with OpenGL 3.2 core";
@@ -950,6 +961,16 @@ void GraphicsHelperGL3::pointSize(bool programmable, GLfloat value)
}
}
+void GraphicsHelperGL3::enablei(GLenum cap, GLuint index)
+{
+ m_funcs->glEnablei(cap, index);
+}
+
+void GraphicsHelperGL3::disablei(GLenum cap, GLuint index)
+{
+ m_funcs->glDisablei(cap, index);
+}
+
QSize GraphicsHelperGL3::getRenderBufferDimensions(GLuint renderBufferId)
{
GLint width = 0;
diff --git a/src/render/graphicshelpers/graphicshelpergl3_3.cpp b/src/render/graphicshelpers/graphicshelpergl3_3.cpp
index 61f7d9c25..37a931d6b 100644
--- a/src/render/graphicshelpers/graphicshelpergl3_3.cpp
+++ b/src/render/graphicshelpers/graphicshelpergl3_3.cpp
@@ -263,6 +263,17 @@ void GraphicsHelperGL3_3::blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor)
qWarning() << "glBlendFunci() not supported by OpenGL 3.3 (since OpenGL 4.0)";
}
+void GraphicsHelperGL3_3::blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha)
+{
+ Q_UNUSED(buf);
+ Q_UNUSED(sRGB);
+ Q_UNUSED(dRGB);
+ Q_UNUSED(sAlpha);
+ Q_UNUSED(dAlpha);
+
+ qWarning() << "glBlendFuncSeparatei() not supported by OpenGL 3.3 (since OpenGL 4.0)";
+}
+
void GraphicsHelperGL3_3::alphaTest(GLenum, GLenum)
{
qCWarning(Render::Rendering) << "AlphaTest not available with OpenGL 3.2 core";
@@ -947,6 +958,16 @@ void GraphicsHelperGL3_3::pointSize(bool programmable, GLfloat value)
}
}
+void GraphicsHelperGL3_3::enablei(GLenum cap, GLuint index)
+{
+ m_funcs->glEnablei(cap, index);
+}
+
+void GraphicsHelperGL3_3::disablei(GLenum cap, GLuint index)
+{
+ m_funcs->glDisablei(cap, index);
+}
+
QSize GraphicsHelperGL3_3::getRenderBufferDimensions(GLuint renderBufferId)
{
GLint width = 0;
diff --git a/src/render/graphicshelpers/graphicshelpergl3_3_p.h b/src/render/graphicshelpers/graphicshelpergl3_3_p.h
index e8a5da0ae..28527250f 100644
--- a/src/render/graphicshelpers/graphicshelpergl3_3_p.h
+++ b/src/render/graphicshelpers/graphicshelpergl3_3_p.h
@@ -77,6 +77,7 @@ public:
void bindUniform(const QVariant &v, const ShaderUniform &description) Q_DECL_OVERRIDE;
void blendEquation(GLenum mode) Q_DECL_OVERRIDE;
void blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) Q_DECL_OVERRIDE;
+ void blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha) Q_DECL_OVERRIDE;
GLuint boundFrameBufferObject() Q_DECL_OVERRIDE;
void buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer) Q_DECL_OVERRIDE;
bool checkFrameBufferComplete() Q_DECL_OVERRIDE;
@@ -86,6 +87,7 @@ public:
void depthTest(GLenum mode) Q_DECL_OVERRIDE;
void disableAlphaCoverage() Q_DECL_OVERRIDE;
void disableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void disablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void disablePrimitiveRestart() Q_DECL_OVERRIDE;
void dispatchCompute(GLuint wx, GLuint wy, GLuint wz) Q_DECL_OVERRIDE;
void drawArrays(GLenum primitiveType, GLint first, GLsizei count) Q_DECL_OVERRIDE;
@@ -95,6 +97,7 @@ public:
void drawElementsInstanced(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLsizei instances, GLint baseVertex = 0, GLint baseInstance = 0) Q_DECL_OVERRIDE;
void enableAlphaCoverage() Q_DECL_OVERRIDE;
void enableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void enablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void enablePrimitiveRestart(int primitiveRestartIndex) Q_DECL_OVERRIDE;
void frontFace(GLenum mode) Q_DECL_OVERRIDE;
QSize getRenderBufferDimensions(GLuint renderBufferId) Q_DECL_OVERRIDE;
diff --git a/src/render/graphicshelpers/graphicshelpergl3_p.h b/src/render/graphicshelpers/graphicshelpergl3_p.h
index ddd2b9ed9..ac84afa7c 100644
--- a/src/render/graphicshelpers/graphicshelpergl3_p.h
+++ b/src/render/graphicshelpers/graphicshelpergl3_p.h
@@ -77,6 +77,7 @@ public:
void bindUniform(const QVariant &v, const ShaderUniform &description) Q_DECL_OVERRIDE;
void blendEquation(GLenum mode) Q_DECL_OVERRIDE;
void blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) Q_DECL_OVERRIDE;
+ void blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha) Q_DECL_OVERRIDE;
GLuint boundFrameBufferObject() Q_DECL_OVERRIDE;
void buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer) Q_DECL_OVERRIDE;
bool checkFrameBufferComplete() Q_DECL_OVERRIDE;
@@ -86,6 +87,7 @@ public:
void depthTest(GLenum mode) Q_DECL_OVERRIDE;
void disableAlphaCoverage() Q_DECL_OVERRIDE;
void disableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void disablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void disablePrimitiveRestart() Q_DECL_OVERRIDE;
void dispatchCompute(GLuint wx, GLuint wy, GLuint wz) Q_DECL_OVERRIDE;
void drawArrays(GLenum primitiveType, GLint first, GLsizei count) Q_DECL_OVERRIDE;
@@ -95,6 +97,7 @@ public:
void drawElementsInstanced(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLsizei instances, GLint baseVertex = 0, GLint baseInstance = 0) Q_DECL_OVERRIDE;
void enableAlphaCoverage() Q_DECL_OVERRIDE;
void enableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void enablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void enablePrimitiveRestart(int primitiveRestartIndex) Q_DECL_OVERRIDE;
void frontFace(GLenum mode) Q_DECL_OVERRIDE;
QSize getRenderBufferDimensions(GLuint renderBufferId) Q_DECL_OVERRIDE;
diff --git a/src/render/graphicshelpers/graphicshelpergl4.cpp b/src/render/graphicshelpers/graphicshelpergl4.cpp
index d97557bdc..ca83589a4 100644
--- a/src/render/graphicshelpers/graphicshelpergl4.cpp
+++ b/src/render/graphicshelpers/graphicshelpergl4.cpp
@@ -262,6 +262,11 @@ void GraphicsHelperGL4::blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor)
m_funcs->glBlendFunci(buf, sfactor, dfactor);
}
+void GraphicsHelperGL4::blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha)
+{
+ m_funcs->glBlendFuncSeparatei(buf, sRGB, dRGB, sAlpha, dAlpha);
+}
+
void GraphicsHelperGL4::alphaTest(GLenum, GLenum)
{
qCWarning(Render::Rendering) << "AlphaTest not available with OpenGL 3.2 core";
@@ -943,6 +948,16 @@ void GraphicsHelperGL4::pointSize(bool programmable, GLfloat value)
}
}
+void GraphicsHelperGL4::enablei(GLenum cap, GLuint index)
+{
+ m_funcs->glEnablei(cap, index);
+}
+
+void GraphicsHelperGL4::disablei(GLenum cap, GLuint index)
+{
+ m_funcs->glDisablei(cap, index);
+}
+
QSize GraphicsHelperGL4::getRenderBufferDimensions(GLuint renderBufferId)
{
GLint width = 0;
diff --git a/src/render/graphicshelpers/graphicshelpergl4_p.h b/src/render/graphicshelpers/graphicshelpergl4_p.h
index 05f9876cd..d764eb3d1 100644
--- a/src/render/graphicshelpers/graphicshelpergl4_p.h
+++ b/src/render/graphicshelpers/graphicshelpergl4_p.h
@@ -76,6 +76,7 @@ public:
void bindUniform(const QVariant &v, const ShaderUniform &description) Q_DECL_OVERRIDE;
void blendEquation(GLenum mode) Q_DECL_OVERRIDE;
void blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) Q_DECL_OVERRIDE;
+ void blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha) Q_DECL_OVERRIDE;
GLuint boundFrameBufferObject() Q_DECL_OVERRIDE;
void buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer) Q_DECL_OVERRIDE;
bool checkFrameBufferComplete() Q_DECL_OVERRIDE;
@@ -85,6 +86,7 @@ public:
void depthTest(GLenum mode) Q_DECL_OVERRIDE;
void disableAlphaCoverage() Q_DECL_OVERRIDE;
void disableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void disablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void disablePrimitiveRestart() Q_DECL_OVERRIDE;
void dispatchCompute(GLuint wx, GLuint wy, GLuint wz) Q_DECL_OVERRIDE;
void drawArrays(GLenum primitiveType, GLint first, GLsizei count) Q_DECL_OVERRIDE;
@@ -94,6 +96,7 @@ public:
void drawElementsInstanced(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLsizei instances, GLint baseVertex = 0, GLint baseInstance = 0) Q_DECL_OVERRIDE;
void enableAlphaCoverage() Q_DECL_OVERRIDE;
void enableClipPlane(int clipPlane) Q_DECL_OVERRIDE;
+ void enablei(GLenum cap, GLuint index) Q_DECL_OVERRIDE;
void enablePrimitiveRestart(int primitiveRestartIndex) Q_DECL_OVERRIDE;
void frontFace(GLenum mode) Q_DECL_OVERRIDE;
QSize getRenderBufferDimensions(GLuint renderBufferId) Q_DECL_OVERRIDE;
diff --git a/src/render/graphicshelpers/graphicshelperinterface_p.h b/src/render/graphicshelpers/graphicshelperinterface_p.h
index 91785d21f..f7b5ddf8c 100644
--- a/src/render/graphicshelpers/graphicshelperinterface_p.h
+++ b/src/render/graphicshelpers/graphicshelperinterface_p.h
@@ -86,6 +86,7 @@ public:
virtual void bindUniform(const QVariant &v, const ShaderUniform &description) = 0;
virtual void blendEquation(GLenum mode) = 0;
virtual void blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) = 0;
+ virtual void blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha) = 0;
virtual GLuint boundFrameBufferObject() = 0;
virtual void buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer) = 0;
virtual bool checkFrameBufferComplete() = 0;
@@ -95,6 +96,7 @@ public:
virtual void depthTest(GLenum mode) = 0;
virtual void disableAlphaCoverage() = 0;
virtual void disableClipPlane(int clipPlane) = 0;
+ virtual void disablei(GLenum cap, GLuint index) = 0;
virtual void disablePrimitiveRestart() = 0;
virtual void dispatchCompute(GLuint wx, GLuint wy, GLuint wz) = 0;
virtual void drawArrays(GLenum primitiveType, GLint first, GLsizei count) = 0;
@@ -104,6 +106,7 @@ public:
virtual void drawElementsInstanced(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void * indices, GLsizei instances, GLint baseVertex = 0, GLint baseInstance = 0) = 0;
virtual void enableAlphaCoverage() = 0;
virtual void enableClipPlane(int clipPlane) = 0;
+ virtual void enablei(GLenum cap, GLuint index) = 0;
virtual void enablePrimitiveRestart(int primitiveRestartIndex) = 0;
virtual void frontFace(GLenum mode) = 0;
virtual QSize getRenderBufferDimensions(GLuint renderBufferId) = 0;