Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qopenglfunctions_4_4_core.cpp
Go to the documentation of this file.
1// Copyright (C) 2015 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
15#include "qopenglcontext.h"
16
18
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 , d_4_1_Core(nullptr)
49 , d_4_2_Core(nullptr)
50 , d_4_3_Core(nullptr)
51 , d_4_4_Core(nullptr)
52{
53}
54
56{
57 if (d_1_0_Core) {
58 d_1_0_Core->refs.deref();
59 Q_ASSERT(d_1_0_Core->refs.loadRelaxed());
60 }
61 if (d_1_1_Core) {
62 d_1_1_Core->refs.deref();
63 Q_ASSERT(d_1_1_Core->refs.loadRelaxed());
64 }
65 if (d_1_2_Core) {
66 d_1_2_Core->refs.deref();
67 Q_ASSERT(d_1_2_Core->refs.loadRelaxed());
68 }
69 if (d_1_3_Core) {
70 d_1_3_Core->refs.deref();
71 Q_ASSERT(d_1_3_Core->refs.loadRelaxed());
72 }
73 if (d_1_4_Core) {
74 d_1_4_Core->refs.deref();
75 Q_ASSERT(d_1_4_Core->refs.loadRelaxed());
76 }
77 if (d_1_5_Core) {
78 d_1_5_Core->refs.deref();
79 Q_ASSERT(d_1_5_Core->refs.loadRelaxed());
80 }
81 if (d_2_0_Core) {
82 d_2_0_Core->refs.deref();
83 Q_ASSERT(d_2_0_Core->refs.loadRelaxed());
84 }
85 if (d_2_1_Core) {
86 d_2_1_Core->refs.deref();
87 Q_ASSERT(d_2_1_Core->refs.loadRelaxed());
88 }
89 if (d_3_0_Core) {
90 d_3_0_Core->refs.deref();
91 Q_ASSERT(d_3_0_Core->refs.loadRelaxed());
92 }
93 if (d_3_1_Core) {
94 d_3_1_Core->refs.deref();
95 Q_ASSERT(d_3_1_Core->refs.loadRelaxed());
96 }
97 if (d_3_2_Core) {
98 d_3_2_Core->refs.deref();
99 Q_ASSERT(d_3_2_Core->refs.loadRelaxed());
100 }
101 if (d_3_3_Core) {
102 d_3_3_Core->refs.deref();
103 Q_ASSERT(d_3_3_Core->refs.loadRelaxed());
104 }
105 if (d_4_0_Core) {
106 d_4_0_Core->refs.deref();
107 Q_ASSERT(d_4_0_Core->refs.loadRelaxed());
108 }
109 if (d_4_1_Core) {
110 d_4_1_Core->refs.deref();
111 Q_ASSERT(d_4_1_Core->refs.loadRelaxed());
112 }
113 if (d_4_2_Core) {
114 d_4_2_Core->refs.deref();
115 Q_ASSERT(d_4_2_Core->refs.loadRelaxed());
116 }
117 if (d_4_3_Core) {
118 d_4_3_Core->refs.deref();
119 Q_ASSERT(d_4_3_Core->refs.loadRelaxed());
120 }
121 if (d_4_4_Core) {
122 d_4_4_Core->refs.deref();
123 Q_ASSERT(d_4_4_Core->refs.loadRelaxed());
124 }
125}
126
128{
129 if ( isInitialized() )
130 return true;
131
133
134 // If owned by a context object make sure it is current.
135 // Also check that current context is capable of resolving all needed functions
136 if (((owningContext() && owningContext() == context) || !owningContext())
137 && QOpenGLFunctions_4_4_Core::isContextCompatible(context))
138 {
139 // Associate with private implementation, creating if necessary
140 // Function pointers in the backends are resolved at creation time
143 d_1_0_Core = static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
144 d->refs.ref();
145
147 d_1_1_Core = static_cast<QOpenGLFunctions_1_1_CoreBackend*>(d);
148 d->refs.ref();
149
151 d_1_2_Core = static_cast<QOpenGLFunctions_1_2_CoreBackend*>(d);
152 d->refs.ref();
153
155 d_1_3_Core = static_cast<QOpenGLFunctions_1_3_CoreBackend*>(d);
156 d->refs.ref();
157
159 d_1_4_Core = static_cast<QOpenGLFunctions_1_4_CoreBackend*>(d);
160 d->refs.ref();
161
163 d_1_5_Core = static_cast<QOpenGLFunctions_1_5_CoreBackend*>(d);
164 d->refs.ref();
165
167 d_2_0_Core = static_cast<QOpenGLFunctions_2_0_CoreBackend*>(d);
168 d->refs.ref();
169
171 d_2_1_Core = static_cast<QOpenGLFunctions_2_1_CoreBackend*>(d);
172 d->refs.ref();
173
175 d_3_0_Core = static_cast<QOpenGLFunctions_3_0_CoreBackend*>(d);
176 d->refs.ref();
177
179 d_3_1_Core = static_cast<QOpenGLFunctions_3_1_CoreBackend*>(d);
180 d->refs.ref();
181
183 d_3_2_Core = static_cast<QOpenGLFunctions_3_2_CoreBackend*>(d);
184 d->refs.ref();
185
187 d_3_3_Core = static_cast<QOpenGLFunctions_3_3_CoreBackend*>(d);
188 d->refs.ref();
189
191 d_4_0_Core = static_cast<QOpenGLFunctions_4_0_CoreBackend*>(d);
192 d->refs.ref();
193
195 d_4_1_Core = static_cast<QOpenGLFunctions_4_1_CoreBackend*>(d);
196 d->refs.ref();
197
199 d_4_2_Core = static_cast<QOpenGLFunctions_4_2_CoreBackend*>(d);
200 d->refs.ref();
201
203 d_4_3_Core = static_cast<QOpenGLFunctions_4_3_CoreBackend*>(d);
204 d->refs.ref();
205
207 d_4_4_Core = static_cast<QOpenGLFunctions_4_4_CoreBackend*>(d);
208 d->refs.ref();
209
211 }
212 return isInitialized();
213}
214
215bool QOpenGLFunctions_4_4_Core::isContextCompatible(QOpenGLContext *context)
216{
218 QSurfaceFormat f = context->format();
219 const QPair<int, int> v = qMakePair(f.majorVersion(), f.minorVersion());
220 if (v < qMakePair(4, 4))
221 return false;
222
223 return true;
224}
225
226QOpenGLVersionProfile QOpenGLFunctions_4_4_Core::versionProfile()
227{
229 v.setVersion(4, 4);
230 v.setProfile(QSurfaceFormat::CoreProfile);
231 return v;
232}
233
static QOpenGLVersionFunctionsBackend * functionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v)
QOpenGLContext * owningContext() const
bool ref() noexcept
bool deref() noexcept
T loadRelaxed() const noexcept
\inmodule QtGui
static QOpenGLContext * currentContext()
Returns the last context which called makeCurrent in the current thread, or \nullptr,...
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
static constexpr Version versionStatus()
void setVersion(int majorVersion, int minorVersion)
Sets the major and minor version numbers to majorVersion and minorVersion respectively.
The QSurfaceFormat class represents the format of a QSurface. \inmodule QtGui.
Combined button and popup list for selecting options.
static void * context
GLsizei const GLfloat * v
[13]
GLfloat GLfloat f
QT_BEGIN_NAMESPACE 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
#define Q_ASSERT(cond)
Definition qrandom.cpp:47
QObject::connect nullptr