opengl/qopengl.cpp

Source codeSwitch to Preprocessed file
LineSource CodeCoverage
1/**************************************************************************** -
2** -
3** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -
4** Contact: http://www.qt-project.org/legal -
5** -
6** This file is part of the QtGui module of the Qt Toolkit. -
7** -
8** $QT_BEGIN_LICENSE:LGPL$ -
9** Commercial License Usage -
10** Licensees holding valid commercial Qt licenses may use this file in -
11** accordance with the commercial license agreement provided with the -
12** Software or, alternatively, in accordance with the terms contained in -
13** a written agreement between you and Digia. For licensing terms and -
14** conditions see http://qt.digia.com/licensing. For further information -
15** use the contact form at http://qt.digia.com/contact-us. -
16** -
17** GNU Lesser General Public License Usage -
18** Alternatively, this file may be used under the terms of the GNU Lesser -
19** General Public License version 2.1 as published by the Free Software -
20** Foundation and appearing in the file LICENSE.LGPL included in the -
21** packaging of this file. Please review the following information to -
22** ensure the GNU Lesser General Public License version 2.1 requirements -
23** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -
24** -
25** In addition, as a special exception, Digia gives you certain additional -
26** rights. These rights are described in the Digia Qt LGPL Exception -
27** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -
28** -
29** GNU General Public License Usage -
30** Alternatively, this file may be used under the terms of the GNU -
31** General Public License version 3.0 as published by the Free Software -
32** Foundation and appearing in the file LICENSE.GPL included in the -
33** packaging of this file. Please review the following information to -
34** ensure the GNU General Public License version 3.0 requirements will be -
35** met: http://www.gnu.org/copyleft/gpl.html. -
36** -
37** -
38** $QT_END_LICENSE$ -
39** -
40****************************************************************************/ -
41 -
42#include "qopengl.h" -
43#include "qopengl_p.h" -
44 -
45#include "qopenglcontext.h" -
46#include "qopenglfunctions.h" -
47 -
48QT_BEGIN_NAMESPACE -
49 -
50#if defined(QT_OPENGL_3) -
51typedef const GLubyte * (QOPENGLF_APIENTRYP qt_glGetStringi)(GLenum, GLuint); -
52#endif -
53 -
54QOpenGLExtensionMatcher::QOpenGLExtensionMatcher() -
55{ -
56 const char *extensionStr = reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS));
never executed (the execution status of this line is deduced): const char *extensionStr = reinterpret_cast<const char *>(glGetString(0x1F03));
-
57 -
58 if (extensionStr) {
never evaluated: extensionStr
0
59 QByteArray ba(extensionStr);
never executed (the execution status of this line is deduced): QByteArray ba(extensionStr);
-
60 QList<QByteArray> extensions = ba.split(' ');
never executed (the execution status of this line is deduced): QList<QByteArray> extensions = ba.split(' ');
-
61 m_extensions = extensions.toSet();
never executed (the execution status of this line is deduced): m_extensions = extensions.toSet();
-
62#if !defined(QT_OPENGL_3) -
63 } -
64#else -
65 } else {
never executed: }
0
66 // clear error state -
67 while (glGetError()) {}
never executed: }
never evaluated: glGetError()
0
68 -
69 QOpenGLContext *ctx = QOpenGLContext::currentContext();
never executed (the execution status of this line is deduced): QOpenGLContext *ctx = QOpenGLContext::currentContext();
-
70 if (ctx) {
never evaluated: ctx
0
71 qt_glGetStringi glGetStringi = (qt_glGetStringi)ctx->getProcAddress("glGetStringi");
never executed (the execution status of this line is deduced): qt_glGetStringi glGetStringi = (qt_glGetStringi)ctx->getProcAddress("glGetStringi");
-
72 -
73 if (!glGetStringi)
never evaluated: !glGetStringi
0
74 return;
never executed: return;
0
75 -
76 GLint numExtensions;
never executed (the execution status of this line is deduced): GLint numExtensions;
-
77 glGetIntegerv(GL_NUM_EXTENSIONS, &numExtensions);
never executed (the execution status of this line is deduced): glGetIntegerv(0x821D, &numExtensions);
-
78 -
79 for (int i = 0; i < numExtensions; ++i) {
never evaluated: i < numExtensions
0
80 const char *str = reinterpret_cast<const char *>(glGetStringi(GL_EXTENSIONS, i));
never executed (the execution status of this line is deduced): const char *str = reinterpret_cast<const char *>(glGetStringi(0x1F03, i));
-
81 m_extensions.insert(str);
never executed (the execution status of this line is deduced): m_extensions.insert(str);
-
82 }
never executed: }
0
83 }
never executed: }
0
84 }
never executed: }
0
85#endif -
86} -
87 -
88QT_END_NAMESPACE -
89 -
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial