diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2018-09-21 07:53:11 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2018-09-21 07:54:37 +0000 |
commit | 9486a8a4b60a678280db2c625064ca78b3aaf489 (patch) | |
tree | 45ac30029bbe12a3d98d373bdb8cf48c174ab422 /src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp | |
parent | 9884d3bffcdee9c6aabc51b036554947873b11c4 (diff) |
Complete ES 3.1 and 3.2 helpers
Which didn't handle indirect drawing, compute and tessellation
Since ES 3.1/3.2 don't provide API for glShaderStorageBlockBinding,
code was adjusted to use the default binding points and not require
that API.
Change-Id: Ie4dcd05f0a1d72e4a25f49b5fae138dc605ba5e3
Task-number: QTBUG-70660
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp')
-rw-r--r-- | src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp b/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp index 6290d091d..9dce08e4f 100644 --- a/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp +++ b/src/render/renderers/opengl/graphicshelpers/graphicshelperes3_2.cpp @@ -52,6 +52,10 @@ QT_BEGIN_NAMESPACE #define GL_DEPTH_STENCIL_ATTACHMENT 0x821A #endif +#ifndef GL_PATCH_VERTICES +#define GL_PATCH_VERTICES 36466 +#endif + namespace Qt3DRender { namespace Render { @@ -63,6 +67,17 @@ GraphicsHelperES3_2::~GraphicsHelperES3_2() { } +bool GraphicsHelperES3_2::supportsFeature(GraphicsHelperInterface::Feature feature) const +{ + switch (feature) { + case GraphicsHelperInterface::Tessellation: + return true; + default: + break; + } + return GraphicsHelperES3_1::supportsFeature(feature); +} + bool GraphicsHelperES3_2::frameBufferNeedsRenderBuffer(const Attachment &attachment) { Q_UNUSED(attachment); @@ -97,6 +112,11 @@ void GraphicsHelperES3_2::bindFrameBufferAttachment(QOpenGLTexture *texture, con texture->release(); } +void GraphicsHelperES3_2::setVerticesPerPatch(GLint verticesPerPatch) +{ + m_extraFuncs->glPatchParameteri(GL_PATCH_VERTICES, verticesPerPatch); +} + } // namespace Render } // namespace Qt3DRender |