Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qopenglfunctions_4_0_core.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_4_0_core.h
"
15
#include "
qopenglcontext.h
"
16
17
QT_BEGIN_NAMESPACE
18
33
QOpenGLFunctions_4_0_Core::QOpenGLFunctions_4_0_Core
()
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_4_0_Core(
nullptr
)
48
{
49
}
50
51
QOpenGLFunctions_4_0_Core::~QOpenGLFunctions_4_0_Core
()
52
{
53
if
(d_1_0_Core) {
54
d_1_0_Core->
refs
.
deref
();
55
Q_ASSERT
(d_1_0_Core->
refs
.
loadRelaxed
());
56
}
57
if
(d_1_1_Core) {
58
d_1_1_Core->
refs
.
deref
();
59
Q_ASSERT
(d_1_1_Core->
refs
.
loadRelaxed
());
60
}
61
if
(d_1_2_Core) {
62
d_1_2_Core->
refs
.
deref
();
63
Q_ASSERT
(d_1_2_Core->
refs
.
loadRelaxed
());
64
}
65
if
(d_1_3_Core) {
66
d_1_3_Core->
refs
.
deref
();
67
Q_ASSERT
(d_1_3_Core->
refs
.
loadRelaxed
());
68
}
69
if
(d_1_4_Core) {
70
d_1_4_Core->
refs
.
deref
();
71
Q_ASSERT
(d_1_4_Core->
refs
.
loadRelaxed
());
72
}
73
if
(d_1_5_Core) {
74
d_1_5_Core->
refs
.
deref
();
75
Q_ASSERT
(d_1_5_Core->
refs
.
loadRelaxed
());
76
}
77
if
(d_2_0_Core) {
78
d_2_0_Core->
refs
.
deref
();
79
Q_ASSERT
(d_2_0_Core->
refs
.
loadRelaxed
());
80
}
81
if
(d_2_1_Core) {
82
d_2_1_Core->
refs
.
deref
();
83
Q_ASSERT
(d_2_1_Core->
refs
.
loadRelaxed
());
84
}
85
if
(d_3_0_Core) {
86
d_3_0_Core->
refs
.
deref
();
87
Q_ASSERT
(d_3_0_Core->
refs
.
loadRelaxed
());
88
}
89
if
(d_3_1_Core) {
90
d_3_1_Core->
refs
.
deref
();
91
Q_ASSERT
(d_3_1_Core->
refs
.
loadRelaxed
());
92
}
93
if
(d_3_2_Core) {
94
d_3_2_Core->
refs
.
deref
();
95
Q_ASSERT
(d_3_2_Core->
refs
.
loadRelaxed
());
96
}
97
if
(d_3_3_Core) {
98
d_3_3_Core->
refs
.
deref
();
99
Q_ASSERT
(d_3_3_Core->
refs
.
loadRelaxed
());
100
}
101
if
(d_4_0_Core) {
102
d_4_0_Core->
refs
.
deref
();
103
Q_ASSERT
(d_4_0_Core->
refs
.
loadRelaxed
());
104
}
105
}
106
107
bool
QOpenGLFunctions_4_0_Core::initializeOpenGLFunctions
()
108
{
109
if
(
isInitialized
() )
110
return
true
;
111
112
QOpenGLContext
*
context
=
QOpenGLContext::currentContext
();
113
114
// If owned by a context object make sure it is current.
115
// Also check that current context is capable of resolving all needed functions
116
if
(((
owningContext
() &&
owningContext
() ==
context
) || !
owningContext
())
117
&& QOpenGLFunctions_4_0_Core::isContextCompatible(
context
))
118
{
119
// Associate with private implementation, creating if necessary
120
// Function pointers in the backends are resolved at creation time
121
QOpenGLVersionFunctionsBackend
*
d
=
nullptr
;
122
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_0_CoreBackend::versionStatus
());
123
d_1_0_Core =
static_cast<
QOpenGLFunctions_1_0_CoreBackend
*
>
(
d
);
124
d
->refs.ref();
125
126
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_1_CoreBackend::versionStatus
());
127
d_1_1_Core =
static_cast<
QOpenGLFunctions_1_1_CoreBackend
*
>
(
d
);
128
d
->refs.ref();
129
130
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_2_CoreBackend::versionStatus
());
131
d_1_2_Core =
static_cast<
QOpenGLFunctions_1_2_CoreBackend
*
>
(
d
);
132
d
->refs.ref();
133
134
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_3_CoreBackend::versionStatus
());
135
d_1_3_Core =
static_cast<
QOpenGLFunctions_1_3_CoreBackend
*
>
(
d
);
136
d
->refs.ref();
137
138
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_4_CoreBackend::versionStatus
());
139
d_1_4_Core =
static_cast<
QOpenGLFunctions_1_4_CoreBackend
*
>
(
d
);
140
d
->refs.ref();
141
142
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_1_5_CoreBackend::versionStatus
());
143
d_1_5_Core =
static_cast<
QOpenGLFunctions_1_5_CoreBackend
*
>
(
d
);
144
d
->refs.ref();
145
146
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_2_0_CoreBackend::versionStatus
());
147
d_2_0_Core =
static_cast<
QOpenGLFunctions_2_0_CoreBackend
*
>
(
d
);
148
d
->refs.ref();
149
150
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_2_1_CoreBackend::versionStatus
());
151
d_2_1_Core =
static_cast<
QOpenGLFunctions_2_1_CoreBackend
*
>
(
d
);
152
d
->refs.ref();
153
154
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_0_CoreBackend::versionStatus
());
155
d_3_0_Core =
static_cast<
QOpenGLFunctions_3_0_CoreBackend
*
>
(
d
);
156
d
->refs.ref();
157
158
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_1_CoreBackend::versionStatus
());
159
d_3_1_Core =
static_cast<
QOpenGLFunctions_3_1_CoreBackend
*
>
(
d
);
160
d
->refs.ref();
161
162
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_2_CoreBackend::versionStatus
());
163
d_3_2_Core =
static_cast<
QOpenGLFunctions_3_2_CoreBackend
*
>
(
d
);
164
d
->refs.ref();
165
166
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_3_3_CoreBackend::versionStatus
());
167
d_3_3_Core =
static_cast<
QOpenGLFunctions_3_3_CoreBackend
*
>
(
d
);
168
d
->refs.ref();
169
170
d
=
QAbstractOpenGLFunctionsPrivate::functionsBackend
(
context
,
QOpenGLFunctions_4_0_CoreBackend::versionStatus
());
171
d_4_0_Core =
static_cast<
QOpenGLFunctions_4_0_CoreBackend
*
>
(
d
);
172
d
->refs.ref();
173
174
QAbstractOpenGLFunctions::initializeOpenGLFunctions
();
175
}
176
return
isInitialized
();
177
}
178
179
bool
QOpenGLFunctions_4_0_Core::isContextCompatible(
QOpenGLContext
*
context
)
180
{
181
Q_ASSERT
(
context
);
182
QSurfaceFormat
f
=
context
->format();
183
const
QPair<int, int>
v
=
qMakePair
(
f
.majorVersion(),
f
.minorVersion());
184
if
(
v
<
qMakePair
(4, 0))
185
return
false
;
186
187
return
true
;
188
}
189
190
QOpenGLVersionProfile
QOpenGLFunctions_4_0_Core::versionProfile()
191
{
192
QOpenGLVersionProfile
v
;
193
v
.setVersion(4, 0);
194
v
.setProfile(
QSurfaceFormat::CoreProfile
);
195
return
v
;
196
}
197
198
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_1_CoreBackend
Definition
qopenglversionfunctions.h:270
QOpenGLFunctions_1_1_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:278
QOpenGLFunctions_1_2_CoreBackend
Definition
qopenglversionfunctions.h:304
QOpenGLFunctions_1_2_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:312
QOpenGLFunctions_1_3_CoreBackend
Definition
qopenglversionfunctions.h:328
QOpenGLFunctions_1_3_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:336
QOpenGLFunctions_1_4_CoreBackend
Definition
qopenglversionfunctions.h:355
QOpenGLFunctions_1_4_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:363
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_CoreBackend
Definition
qopenglversionfunctions.h:721
QOpenGLFunctions_3_3_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:729
QOpenGLFunctions_4_0_CoreBackend
Definition
qopenglversionfunctions.h:797
QOpenGLFunctions_4_0_CoreBackend::versionStatus
static constexpr Version versionStatus()
Definition
qopenglversionfunctions.h:805
QOpenGLFunctions_4_0_Core::~QOpenGLFunctions_4_0_Core
~QOpenGLFunctions_4_0_Core()
Definition
qopenglfunctions_4_0_core.cpp:51
QOpenGLFunctions_4_0_Core::initializeOpenGLFunctions
bool initializeOpenGLFunctions() override
Definition
qopenglfunctions_4_0_core.cpp:107
QOpenGLFunctions_4_0_Core::QOpenGLFunctions_4_0_Core
QOpenGLFunctions_4_0_Core()
Definition
qopenglfunctions_4_0_core.cpp:33
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::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_4_0_core.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_4_0_core.cpp
Generated by
1.9.7