diff options
author | Paul Olav Tvete <paul.tvete@qt.io> | 2019-10-01 15:19:37 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@qt.io> | 2019-10-03 09:38:32 +0200 |
commit | 2e068c7f2aca6a40bcf1e4c5bc85c26f478fe786 (patch) | |
tree | 452e58bb9af92acb3e606fd22f410af84ff6312c /src/gui/rhi/qrhigles2.cpp | |
parent | 5bc972a4118927be7d2b81e4ff66be5bc274fdaa (diff) |
Add TriangleFan pipeline topology
Triangle fan drawing is only supported on some platforms. The feature
flag QRhi::TriangleFanTopology is set accordingly.
In general, TriangleStrip topology will be more efficient on most GPUs.
However, if polygon data is already stored as triangle fans, the CPU
savings may be more significant.
Change-Id: I9704fad751d2119eac8791074f58942dd9315601
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/gui/rhi/qrhigles2.cpp')
-rw-r--r-- | src/gui/rhi/qrhigles2.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/rhi/qrhigles2.cpp b/src/gui/rhi/qrhigles2.cpp index 17b40777b3..277cf12fd2 100644 --- a/src/gui/rhi/qrhigles2.cpp +++ b/src/gui/rhi/qrhigles2.cpp @@ -732,6 +732,8 @@ bool QRhiGles2::isFeatureSupported(QRhi::Feature feature) const return caps.baseVertex; case QRhi::BaseInstance: return false; // not in ES 3.2, so won't bother + case QRhi::TriangleFanTopology: + return true; default: Q_UNREACHABLE(); return false; @@ -1539,6 +1541,8 @@ static inline GLenum toGlTopology(QRhiGraphicsPipeline::Topology t) return GL_TRIANGLES; case QRhiGraphicsPipeline::TriangleStrip: return GL_TRIANGLE_STRIP; + case QRhiGraphicsPipeline::TriangleFan: + return GL_TRIANGLE_FAN; case QRhiGraphicsPipeline::Lines: return GL_LINES; case QRhiGraphicsPipeline::LineStrip: |