diff options
author | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2014-10-28 12:48:17 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2014-10-29 09:35:29 +0200 |
commit | bf716cfdf0afecccdb1f2eabb2e6a172c620fbff (patch) | |
tree | dd5a8e5d1360defd47599282639e10b3cf3cc90c /src/datavisualization/engine/qabstract3dgraph.cpp | |
parent | 56d9ec81afc59b1cf6aaae7675ff460a6bc664a8 (diff) |
Support for dynamic opengl builds.
Task-number: QTRD-3392
Change-Id: I786bbf5ee9252b92d43d02d6b88ed9b986b4a5eb
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/qabstract3dgraph.cpp')
-rw-r--r-- | src/datavisualization/engine/qabstract3dgraph.cpp | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 96c82cb6..e51d9ce4 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -22,6 +22,7 @@ #include "qabstract3dinputhandler_p.h" #include "q3dscene_p.h" #include "qutils.h" +#include "utils_p.h" #include <QtGui/QGuiApplication> #include <QtGui/QOpenGLContext> @@ -172,11 +173,7 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFor if (format) { surfaceFormat = *format; // Make sure renderable type is correct -#if !defined(QT_OPENGL_ES_2) - surfaceFormat.setRenderableType(QSurfaceFormat::OpenGL); -#else - surfaceFormat.setRenderableType(QSurfaceFormat::OpenGLES); -#endif + surfaceFormat.setRenderableType(QSurfaceFormat::DefaultRenderableType); } else { surfaceFormat = qDefaultSurfaceFormat(); } @@ -200,15 +197,13 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFor qDebug() << "GLSL version:" << (const char *)shaderVersion; #endif -#if !defined(QT_OPENGL_ES_2) - // If we have real OpenGL, GLSL version must be 1.2 or over. Quit if not. - QStringList splitversionstr = - QString::fromLatin1((const char *)shaderVersion).split(QChar::fromLatin1(' ')); - if (splitversionstr[0].toFloat() < 1.2) - qFatal("GLSL version must be 1.20 or higher. Try installing latest display drivers."); -#else - Q_UNUSED(shaderVersion) -#endif + if (!Utils::isOpenGLES()) { + // If we have real OpenGL, GLSL version must be 1.2 or over. Quit if not. + QStringList splitversionstr = + QString::fromLatin1((const char *)shaderVersion).split(QChar::fromLatin1(' ')); + if (splitversionstr[0].toFloat() < 1.2) + qFatal("GLSL version must be 1.20 or higher. Try installing latest display drivers."); + } d_ptr->renderLater(); @@ -1094,12 +1089,10 @@ QImage QAbstract3DGraphPrivate::renderToImage(int msaaSamples, const QSize &imag // Render the wanted frame offscreen m_context->makeCurrent(m_offscreenSurface); fboFormat.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil); -#ifdef QT_OPENGL_ES_2 - Q_UNUSED(msaaSamples); -#else - fboFormat.setInternalTextureFormat(GL_RGB); - fboFormat.setSamples(msaaSamples); -#endif + if (!Utils::isOpenGLES()) { + fboFormat.setInternalTextureFormat(GL_RGB); + fboFormat.setSamples(msaaSamples); + } fbo = new QOpenGLFramebufferObject(imageSize, fboFormat); if (fbo->isValid()) { QRect originalViewport = m_visualController->m_scene->viewport(); |