From 9d3b3d353aec6f410fef428e8104e59b9fe0c34d Mon Sep 17 00:00:00 2001 From: Wieland Hagen Date: Thu, 14 Jan 2016 17:55:03 +0100 Subject: Added glEnablei, glDisablei, glBlendFuncSeparatei Added glEnablei, glDisablei, glBlendFuncSeparate to GraphicsHelpers and GraphicsContext Task-number: QTBUG-50005 Change-Id: I01c3a6e26fde9756d62694235ba0c1a0fe5155ae Reviewed-by: Sean Harmer Reviewed-by: Paul Lemire --- src/render/graphicshelpers/graphicscontext.cpp | 15 +++++++++++++ src/render/graphicshelpers/graphicscontext_p.h | 5 ++++- src/render/graphicshelpers/graphicshelperes2.cpp | 25 ++++++++++++++++++++++ src/render/graphicshelpers/graphicshelperes2_p.h | 3 +++ src/render/graphicshelpers/graphicshelpergl2.cpp | 25 ++++++++++++++++++++++ src/render/graphicshelpers/graphicshelpergl2_p.h | 3 +++ src/render/graphicshelpers/graphicshelpergl3.cpp | 21 ++++++++++++++++++ src/render/graphicshelpers/graphicshelpergl3_3.cpp | 21 ++++++++++++++++++ src/render/graphicshelpers/graphicshelpergl3_3_p.h | 3 +++ src/render/graphicshelpers/graphicshelpergl3_p.h | 3 +++ src/render/graphicshelpers/graphicshelpergl4.cpp | 15 +++++++++++++ src/render/graphicshelpers/graphicshelpergl4_p.h | 3 +++ .../graphicshelpers/graphicshelperinterface_p.h | 3 +++ 13 files changed, 144 insertions(+), 1 deletion(-) (limited to 'src/render') 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 &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; -- cgit v1.2.3