From fc1ea7823180bf337f0f34dad8a2b2a6eb700dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 19 Oct 2015 10:18:26 +0300 Subject: Fixed OpenGL 3.x crash Change-Id: I43bd6f8d2f565a989e4d48d68a8c610240ed35fb Task-number: QTRD-3492 Reviewed-by: Miikka Heikkinen --- src/datavisualization/utils/qutils.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/datavisualization/utils/qutils.h') diff --git a/src/datavisualization/utils/qutils.h b/src/datavisualization/utils/qutils.h index 166b5d11..c16ca64f 100644 --- a/src/datavisualization/utils/qutils.h +++ b/src/datavisualization/utils/qutils.h @@ -78,6 +78,8 @@ inline static QSurfaceFormat qDefaultSurfaceFormat(bool antialias = true) surfaceFormat.setBlueBufferSize(8); surfaceFormat.setGreenBufferSize(8); } else { + surfaceFormat.setVersion(2, 1); + surfaceFormat.setProfile(QSurfaceFormat::CoreProfile); // For OpenGL only attributes if (antialias) surfaceFormat.setSamples(8); -- cgit v1.2.3 From 4162ddeb02ee41fd4217d7f3d93d45cab3313ba8 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 19 Oct 2015 17:00:39 +0300 Subject: Update license headers Change-Id: I0581aefcf9dabc64b05eb8c97b5b92da1fb26299 Reviewed-by: Titta Heikkala --- src/datavisualization/utils/qutils.h | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/datavisualization/utils/qutils.h') diff --git a/src/datavisualization/utils/qutils.h b/src/datavisualization/utils/qutils.h index c16ca64f..22937cae 100644 --- a/src/datavisualization/utils/qutils.h +++ b/src/datavisualization/utils/qutils.h @@ -1,20 +1,23 @@ -/**************************************************************************** +/****************************************************************************** ** -** Copyright (C) 2015 The Qt Company Ltd -** All rights reserved. -** For any questions to The Qt Company, please use contact form at http://qt.io +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ ** ** This file is part of the Qt Data Visualization module. ** -** Licensees holding valid commercial license for Qt may use this file in -** accordance with the Qt License Agreement provided with the Software -** or, alternatively, in accordance with the terms contained in a written -** agreement between you and The Qt Company. +** $QT_BEGIN_LICENSE:COMM$ ** -** If you have questions regarding the use of this file, please use -** contact form at http://qt.io +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. ** -****************************************************************************/ +** $QT_END_LICENSE$ +** +******************************************************************************/ #ifndef QUTILS_H #define QUTILS_H -- cgit v1.2.3 From 31f9c57bc50ae053cfaf039a1dfdb128e2494458 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 20 Oct 2015 13:18:59 +0300 Subject: Fix issues with COIN builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Fix miscellaneous compile errors -Move manual tests to manual folder and enable export of autotests -Added widgets requirement -Fixed autotests -Fixed renderer and controller synchronization in QML case -Treat fallback Mesa as ES2 similar to setting AA_UseSoftwareOpenGL Change-Id: If6619733725d079e339bef16262e5ea1450ab20f Reviewed-by: Tomi Korpipää --- src/datavisualization/utils/qutils.h | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src/datavisualization/utils/qutils.h') diff --git a/src/datavisualization/utils/qutils.h b/src/datavisualization/utils/qutils.h index 22937cae..6bf995b7 100644 --- a/src/datavisualization/utils/qutils.h +++ b/src/datavisualization/utils/qutils.h @@ -24,12 +24,14 @@ #include #include +#include #include #include namespace QtDataVisualization { -inline static QSurfaceFormat qDefaultSurfaceFormat(bool antialias = true) +static inline QSurfaceFormat qDefaultSurfaceFormat(bool antialias = true) Q_DECL_UNUSED; +static inline QSurfaceFormat qDefaultSurfaceFormat(bool antialias) { bool isES = false; @@ -61,20 +63,23 @@ inline static QSurfaceFormat qDefaultSurfaceFormat(bool antialias = true) isES = ctx->isOpenGLES(); #endif - if (dummySurface) { - ctx->doneCurrent(); - delete ctx; - delete dummySurface; - } - #if (QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)) // We support only ES2 emulation with software renderer for now - if (QCoreApplication::testAttribute(Qt::AA_UseSoftwareOpenGL)) { + const GLubyte *openGLVersion = ctx->functions()->glGetString(GL_VERSION); + QString versionStr = QString::fromLatin1((const char *)openGLVersion).toLower(); + if (versionStr.contains(QStringLiteral("mesa")) + || QCoreApplication::testAttribute(Qt::AA_UseSoftwareOpenGL)) { qWarning("Only OpenGL ES2 emulation is available for software rendering."); isES = true; } #endif + if (dummySurface) { + ctx->doneCurrent(); + delete ctx; + delete dummySurface; + } + if (isES) { // For ES2 only attributes surfaceFormat.setRedBufferSize(8); -- cgit v1.2.3