Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qopenglfunctions_3_3_compatibility.cpp
Go to the documentation of this file.
1
// Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
/***************************************************************************
4
** This file was generated by glgen version 0.1
5
** Command line was: glgen
6
**
7
** glgen is Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
8
**
9
** This is an auto-generated file.
10
** Do not edit! All changes made to it will be lost.
11
**
12
****************************************************************************/
13
14
#include "
qopenglfunctions_3_3_compatibility.h
"
15
#include "
qopenglcontext.h
"
16
17
QT_BEGIN_NAMESPACE
18
33
QOpenGLFunctions_3_3_Compatibility::QOpenGLFunctions_3_3_Compatibility
()
34
:
QAbstractOpenGLFunctions
()
35
, d_1_0_Core(
nullptr
)
36
, d_1_1_Core(
nullptr
)
37
, d_1_2_Core(
nullptr
)
38
, d_1_3_Core(
nullptr
)
39
, d_1_4_Core(
nullptr
)
40
, d_1_5_Core(
nullptr
)
41
, d_2_0_Core(
nullptr
)
42
, d_2_1_Core(
nullptr
)
43
, d_3_0_Core(
nullptr
)
44
, d_3_1_Core(
nullptr
)
45
, d_3_2_Core(
nullptr
)
46
, d_3_3_Core(
nullptr
)
47
, d_1_0_Deprecated(
nullptr
)
48
, d_1_1_Deprecated(
nullptr
)
49
, d_1_2_Deprecated(
nullptr
)
50
, d_1_3_Deprecated(
nullptr
)
51
, d_1_4_Deprecated(
nullptr
)
52
, d_3_3_Deprecated(
nullptr
)
53
{
54
}
55
56
QOpenGLFunctions_3_3_Compatibility::~QOpenGLFunctions_3_3_Compatibility
()
57
{
58
if
(d_1_0_Core) {
59
d_1_0_Core->
refs
.
deref
();
60
Q_ASSERT
(d_1_0_Core->
refs
.
loadRelaxed
());
61
}
62
if
(d_1_1_Core) {
63
d_1_1_Core->
refs
.
deref
();
64
Q_ASSERT
(d_1_1_Core->
refs
.
loadRelaxed
());
65
}
66
if
(d_1_2_Core) {
67
d_1_2_Core->
refs
.
deref
();
68
Q_ASSERT
(d_1_2_Core->
refs
.
loadRelaxed
());
69
}
70
if
(d_1_3_Core) {
71
d_1_3_Core->
refs
.
deref
();
72
Q_ASSERT
(d_1_3_Core->
refs
.
loadRelaxed
());
73
}
74
if
(d_1_4_Core) {
75
d_1_4_Core->
refs
.
deref
();
76
Q_ASSERT
(d_1_4_Core->
refs
.
loadRelaxed
());
77
}
78
if
(d_1_5_Core) {
79
d_1_5_Core->
refs
.
deref
();
80
Q_ASSERT
(d_1_5_Core->
refs
.
loadRelaxed
());
81
}
82
if
(d_2_0_Core) {
83
d_2_0_Core->
refs
.
deref
();
84
Q_ASSERT
(d_2_0_Core->
refs
.
loadRelaxed
());
85
}
86
if
(d_2_1_Core) {
87
d_2_1_Core->
refs
.
deref
();
88
Q_ASSERT
(d_2_1_Core->
refs
.
loadRelaxed
());
89
}
90
if
(d_3_0_Core) {
91
d_3_0_Core->
refs
.
deref
();
92
Q_ASSERT
(d_3_0_Core->
refs
.
loadRelaxed
());
93
}
94
if
(d_3_1_Core) {
95
d_3_1_Core->
refs
.
deref
();
96
Q_ASSERT
(d_3_1_Core->
refs
.
loadRelaxed
());
97
}
98
if
(d_3_2_Core) {
99
d_3_2_Core->
refs
.
deref
();
100
Q_ASSERT
(d_3_2_Core->
refs
.
loadRelaxed
());
101
}
102
if
(d_3_3_Core) {
103
d_3_3_Core->
refs
.
deref
();
104
Q_ASSERT
(d_3_3_Core->
refs
.
loadRelaxed
());
105
}
106
if
(d_1_0_Deprecated) {
107
d_1_0_Deprecated->
refs
.
deref
();
108
Q_ASSERT
(d_1_0_Deprecated->
refs
.
loadRelaxed
());
109
}
110
if
(d_1_1_Deprecated) {
111
d_1_1_Deprecated->
refs
.
deref
();
112
Q_ASSERT
(d_1_1_Deprecated->
refs
.
loadRelaxed
());
113
}
114
if
(d_1_2_Deprecated) {
115
d_1_2_Deprecated->
refs
.
deref
();
116
Q_ASSERT
(d_1_2_Deprecated->
refs
.
loadRelaxed
());
117
}
118
if
(d_1_3_Deprecated) {
119
d_1_3_Deprecated->
refs
.
deref
();
120
Q_ASSERT
(d_1_3_Deprecated->
refs
.
loadRelaxed
());
121
}
122
if
(d_1_4_Deprecated) {
123
d_1_4_Deprecated->
refs
.
deref
();
124
Q_ASSERT
(d_1_4_Deprecated->
refs
.
loadRelaxed
());
125
}
126
if
(d_3_3_Deprecated) {
127
d_3_3_Deprecated->
refs
.
deref
();
128
Q_ASSERT
(d_3_3_Deprecated->
refs
.
loadRelaxed
());
129
}
130
}
131
132
bool
QOpenGLFunctions_3_3_Compatibility::initializeOpenGLFunctions
()
133
{
134
if
(
isInitialized
() )
135
return
true
;
136
137
QOpenGLContext
*
context
=
QOpenGLContext::currentContext
();
138
139
// If owned by a context object make sure it is current.
140
// Also check that current context is capable of resolving all needed functions
141
if
(((
owningContext
() &&
owningContext
() ==
context
) || !
owningContext
())
142
&& QOpenGLFunctions_3_3_Compatibility::isContextCompatible(
context
))
143
{
144
// Associate with private implementation, creating if necessary
145
// Function pointers in the backends are resolved at creation time
146
QOpenGLVersionFunctionsBackend
*
d
=
nullptr
;
147
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_0_CoreBackend::versionStatus
());
148
d_1_0_Core =
static_cast<
QOpenGLFunctions_1_0_CoreBackend
*
>
(
d
);
149
d
->refs.ref();
150
151
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_1_CoreBackend::versionStatus
());
152
d_1_1_Core =
static_cast<
QOpenGLFunctions_1_1_CoreBackend
*
>
(
d
);
153
d
->refs.ref();
154
155
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_2_CoreBackend::versionStatus
());
156
d_1_2_Core =
static_cast<
QOpenGLFunctions_1_2_CoreBackend
*
>
(
d
);
157
d
->refs.ref();
158
159
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_3_CoreBackend::versionStatus
());
160
d_1_3_Core =
static_cast<
QOpenGLFunctions_1_3_CoreBackend
*
>
(
d
);
161
d
->refs.ref();
162
163
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_4_CoreBackend::versionStatus
());
164
d_1_4_Core =
static_cast<
QOpenGLFunctions_1_4_CoreBackend
*
>
(
d
);
165
d
->refs.ref();
166
167
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_5_CoreBackend::versionStatus
());
168
d_1_5_Core =
static_cast<
QOpenGLFunctions_1_5_CoreBackend
*
>
(
d
);
169
d
->refs.ref();
170
171
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_2_0_CoreBackend::versionStatus
());
172
d_2_0_Core =
static_cast<
QOpenGLFunctions_2_0_CoreBackend
*
>
(
d
);
173
d
->refs.ref();
174
175
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_2_1_CoreBackend::versionStatus
());
176
d_2_1_Core =
static_cast<
QOpenGLFunctions_2_1_CoreBackend
*
>
(
d
);
177
d
->refs.ref();
178
179
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_0_CoreBackend::versionStatus
());
180
d_3_0_Core =
static_cast<
QOpenGLFunctions_3_0_CoreBackend
*
>
(
d
);
181
d
->refs.ref();
182
183
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_1_CoreBackend::versionStatus
());
184
d_3_1_Core =
static_cast<
QOpenGLFunctions_3_1_CoreBackend
*
>
(
d
);
185
d
->refs.ref();
186
187
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_2_CoreBackend::versionStatus
());
188
d_3_2_Core =
static_cast<
QOpenGLFunctions_3_2_CoreBackend
*
>
(
d
);
189
d
->refs.ref();
190
191
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_3_CoreBackend::versionStatus
());
192
d_3_3_Core =
static_cast<
QOpenGLFunctions_3_3_CoreBackend
*
>
(
d
);
193
d
->refs.ref();
194
195
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus
());
196
d_1_0_Deprecated =
static_cast<
QOpenGLFunctions_1_0_DeprecatedBackend
*
>
(
d
);
197
d
->refs.ref();
198
199
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus
());
200
d_1_1_Deprecated =
static_cast<
QOpenGLFunctions_1_1_DeprecatedBackend
*
>
(
d
);
201
d
->refs.ref();
202
203
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus
());
204
d_1_2_Deprecated =
static_cast<
QOpenGLFunctions_1_2_DeprecatedBackend
*
>
(
d
);
205
d
->refs.ref();
206
207
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus
());
208
d_1_3_Deprecated =
static_cast<
QOpenGLFunctions_1_3_DeprecatedBackend
*
>
(
d
);
209
d
->refs.ref();
210
211
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus
());
212
d_1_4_Deprecated =
static_cast<
QOpenGLFunctions_1_4_DeprecatedBackend
*
>
(
d
);
213
d
->refs.ref();
214
215
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus
());
216
d_3_3_Deprecated =
static_cast<
QOpenGLFunctions_3_3_DeprecatedBackend
*
>
(
d
);
217
d
->refs.ref();
218
219
QAbstractOpenGLFunctions::initializeOpenGLFunctions
();
220
}
221
return
isInitialized
();
222
}
223
224
bool
QOpenGLFunctions_3_3_Compatibility::isContextCompatible(
QOpenGLContext
*
context
)
225
{
226
Q_ASSERT
(
context
);
227
QSurfaceFormat
f
=
context
->format();
228
const
QPair<int, int>
v
=
qMakePair
(
f
.majorVersion(),
f
.minorVersion());
229
if
(
v
<
qMakePair
(3, 3))
230
return
false
;
231
232
if
(
f
.profile() ==
QSurfaceFormat::CoreProfile
)
233
return
false
;
234
235
return
true
;
236
}
237
238
QOpenGLVersionProfile
QOpenGLFunctions_3_3_Compatibility::versionProfile()
239
{
240
QOpenGLVersionProfile
v
;
241
v
.setVersion(3, 3);
242
v
.setProfile(
QSurfaceFormat::CompatibilityProfile
);
243
return
v
;
244
}
245
246
QT_END_NAMESPACE
QAbstractOpenGLFunctionsPrivate::functionsBackend
static QOpenGLVersionFunctionsBackend * functionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v)
Definition
qopenglversionfunctions.cpp:111
QAbstractOpenGLFunctions
\inmodule QtOpenGL
Definition
qopenglversionfunctions.h:175
QAbstractOpenGLFunctions::owningContext
QOpenGLContext * owningContext() const
Definition
qopenglversionfunctions.cpp:294
QAbstractOpenGLFunctions::initializeOpenGLFunctions
virtual bool initializeOpenGLFunctions()
Definition
qopenglversionfunctions.cpp:257
QAbstractOpenGLFunctions::isInitialized
bool isInitialized() const
Definition
qopenglversionfunctions.cpp:278
QBasicAtomicInteger::deref
bool deref() noexcept
Definition
qbasicatomic.h:48
QBasicAtomicInteger::loadRelaxed
T loadRelaxed() const noexcept
Definition
qbasicatomic.h:36
QOpenGLContext
\inmodule QtGui
Definition
qopenglcontext.h:67
QOpenGLContext::currentContext
static QOpenGLContext * currentContext()
Returns the last context which called makeCurrent in the current thread, or \nullptr,...
Definition
qopenglcontext.cpp:209
QOpenGLFunctions_1_0_CoreBackend
Definition
qopenglversionfunctions.h:204
QOpenGLFunctions_1_0_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:212
QOpenGLFunctions_1_0_DeprecatedBackend
Definition
qopenglversionfunctions.h:1209
QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:1217
QOpenGLFunctions_1_1_CoreBackend
Definition
qopenglversionfunctions.h:270
QOpenGLFunctions_1_1_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:278
QOpenGLFunctions_1_1_DeprecatedBackend
Definition
qopenglversionfunctions.h:1485
QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:1493
QOpenGLFunctions_1_2_CoreBackend
Definition
qopenglversionfunctions.h:304
QOpenGLFunctions_1_2_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:312
QOpenGLFunctions_1_2_DeprecatedBackend
Definition
qopenglversionfunctions.h:1520
QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:1528
QOpenGLFunctions_1_3_CoreBackend
Definition
qopenglversionfunctions.h:328
QOpenGLFunctions_1_3_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:336
QOpenGLFunctions_1_3_DeprecatedBackend
Definition
qopenglversionfunctions.h:1570
QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:1578
QOpenGLFunctions_1_4_CoreBackend
Definition
qopenglversionfunctions.h:355
QOpenGLFunctions_1_4_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:363
QOpenGLFunctions_1_4_DeprecatedBackend
Definition
qopenglversionfunctions.h:1625
QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:1633
QOpenGLFunctions_1_5_CoreBackend
Definition
qopenglversionfunctions.h:380
QOpenGLFunctions_1_5_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:388
QOpenGLFunctions_2_0_CoreBackend
Definition
qopenglversionfunctions.h:417
QOpenGLFunctions_2_0_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:425
QOpenGLFunctions_2_1_CoreBackend
Definition
qopenglversionfunctions.h:528
QOpenGLFunctions_2_1_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:536
QOpenGLFunctions_3_0_CoreBackend
Definition
qopenglversionfunctions.h:552
QOpenGLFunctions_3_0_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:560
QOpenGLFunctions_3_1_CoreBackend
Definition
qopenglversionfunctions.h:654
QOpenGLFunctions_3_1_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:662
QOpenGLFunctions_3_2_CoreBackend
Definition
qopenglversionfunctions.h:684
QOpenGLFunctions_3_2_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:692
QOpenGLFunctions_3_3_Compatibility::QOpenGLFunctions_3_3_Compatibility
QOpenGLFunctions_3_3_Compatibility()
Definition
qopenglfunctions_3_3_compatibility.cpp:33
QOpenGLFunctions_3_3_Compatibility::~QOpenGLFunctions_3_3_Compatibility
~QOpenGLFunctions_3_3_Compatibility()
Definition
qopenglfunctions_3_3_compatibility.cpp:56
QOpenGLFunctions_3_3_Compatibility::initializeOpenGLFunctions
bool initializeOpenGLFunctions() override
Definition
qopenglfunctions_3_3_compatibility.cpp:132
QOpenGLFunctions_3_3_CoreBackend
Definition
qopenglversionfunctions.h:721
QOpenGLFunctions_3_3_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:729
QOpenGLFunctions_3_3_DeprecatedBackend
Definition
qopenglversionfunctions.h:1773
QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:1781
QOpenGLVersionFunctionsBackend
Definition
qopenglversionfunctions.h:97
QOpenGLVersionFunctionsBackend::refs
QAtomicInt refs
Definition
qopenglversionfunctions.h:140
QOpenGLVersionProfile
\inmodule QtOpenGL
Definition
qopenglversionprofile.h:20
QSurfaceFormat
The QSurfaceFormat class represents the format of a QSurface. \inmodule QtGui.
Definition
qsurfaceformat.h:17
QSurfaceFormat::CompatibilityProfile
@ CompatibilityProfile
Definition
qsurfaceformat.h:49
QSurfaceFormat::CoreProfile
@ CoreProfile
Definition
qsurfaceformat.h:48
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
context
static void * context
Definition
qandroidaudiosource.cpp:42
QPair
std::pair< T1, T2 > QPair
Definition
qcontainerfwd.h:25
qopenglcontext.h
v
GLsizei const GLfloat * v
[13]
Definition
qopengles2ext.h:788
f
GLfloat GLfloat f
Definition
qopengles2ext.h:795
qopenglfunctions_3_3_compatibility.h
qMakePair
constexpr decltype(auto) qMakePair(T1 &&value1, T2 &&value2) noexcept(noexcept(std::make_pair(std::forward< T1 >(value1), std::forward< T2 >(value2))))
Definition
qpair.h:19
Q_ASSERT
#define Q_ASSERT(cond)
Definition
qrandom.cpp:47
nullptr
QObject::connect nullptr
Definition
src_corelib_kernel_qobject.cpp:255
d
double d
Definition
src_corelib_text_qlocale.cpp:9
qtbase
src
opengl
qopenglfunctions_3_3_compatibility.cpp
Generated by
1.9.7