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_5_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 , d_4_5_Core(nullptr)
53{
54}
55
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_4_0_Core) {
107 d_4_0_Core->refs.deref();
108 Q_ASSERT(d_4_0_Core->refs.loadRelaxed());
109 }
110 if (d_4_1_Core) {
111 d_4_1_Core->refs.deref();
112 Q_ASSERT(d_4_1_Core->refs.loadRelaxed());
113 }
114 if (d_4_2_Core) {
115 d_4_2_Core->refs.deref();
116 Q_ASSERT(d_4_2_Core->refs.loadRelaxed());
117 }
118 if (d_4_3_Core) {
119 d_4_3_Core->refs.deref();
120 Q_ASSERT(d_4_3_Core->refs.loadRelaxed());
121 }
122 if (d_4_4_Core) {
123 d_4_4_Core->refs.deref();
124 Q_ASSERT(d_4_4_Core->refs.loadRelaxed());
125 }
126 if (d_4_5_Core) {
127 d_4_5_Core->refs.deref();
128 Q_ASSERT(d_4_5_Core->refs.loadRelaxed());
129 }
130}
131
133{
134 if ( isInitialized() )
135 return true;
136
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_4_5_Core::isContextCompatible(context))
143 {
144 // Associate with private implementation, creating if necessary
145 // Function pointers in the backends are resolved at creation time
148 d_1_0_Core = static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
149 d->refs.ref();
150
152 d_1_1_Core = static_cast<QOpenGLFunctions_1_1_CoreBackend*>(d);
153 d->refs.ref();
154
156 d_1_2_Core = static_cast<QOpenGLFunctions_1_2_CoreBackend*>(d);
157 d->refs.ref();
158
160 d_1_3_Core = static_cast<QOpenGLFunctions_1_3_CoreBackend*>(d);
161 d->refs.ref();
162
164 d_1_4_Core = static_cast<QOpenGLFunctions_1_4_CoreBackend*>(d);
165 d->refs.ref();
166
168 d_1_5_Core = static_cast<QOpenGLFunctions_1_5_CoreBackend*>(d);
169 d->refs.ref();
170
172 d_2_0_Core = static_cast<QOpenGLFunctions_2_0_CoreBackend*>(d);
173 d->refs.ref();
174
176 d_2_1_Core = static_cast<QOpenGLFunctions_2_1_CoreBackend*>(d);
177 d->refs.ref();
178
180 d_3_0_Core = static_cast<QOpenGLFunctions_3_0_CoreBackend*>(d);
181 d->refs.ref();
182
184 d_3_1_Core = static_cast<QOpenGLFunctions_3_1_CoreBackend*>(d);
185 d->refs.ref();
186
188 d_3_2_Core = static_cast<QOpenGLFunctions_3_2_CoreBackend*>(d);
189 d->refs.ref();
190
192 d_3_3_Core = static_cast<QOpenGLFunctions_3_3_CoreBackend*>(d);
193 d->refs.ref();
194
196 d_4_0_Core = static_cast<QOpenGLFunctions_4_0_CoreBackend*>(d);
197 d->refs.ref();
198
200 d_4_1_Core = static_cast<QOpenGLFunctions_4_1_CoreBackend*>(d);
201 d->refs.ref();
202
204 d_4_2_Core = static_cast<QOpenGLFunctions_4_2_CoreBackend*>(d);
205 d->refs.ref();
206
208 d_4_3_Core = static_cast<QOpenGLFunctions_4_3_CoreBackend*>(d);
209 d->refs.ref();
210
212 d_4_4_Core = static_cast<QOpenGLFunctions_4_4_CoreBackend*>(d);
213 d->refs.ref();
214
216 d_4_5_Core = static_cast<QOpenGLFunctions_4_5_CoreBackend*>(d);
217 d->refs.ref();
218
220 }
221 return isInitialized();
222}
223
224bool QOpenGLFunctions_4_5_Core::isContextCompatible(QOpenGLContext *context)
225{
227 QSurfaceFormat f = context->format();
228 const QPair<int, int> v = qMakePair(f.majorVersion(), f.minorVersion());
229 if (v < qMakePair(4, 5))
230 return false;
231
232 return true;
233}
234
235QOpenGLVersionProfile QOpenGLFunctions_4_5_Core::versionProfile()
236{
238 v.setVersion(4, 5);
239 v.setProfile(QSurfaceFormat::CoreProfile);
240 return v;
241}
242
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