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_2_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
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{
51}
52
54{
55 if (d_1_0_Core) {
56 d_1_0_Core->refs.deref();
57 Q_ASSERT(d_1_0_Core->refs.loadRelaxed());
58 }
59 if (d_1_1_Core) {
60 d_1_1_Core->refs.deref();
61 Q_ASSERT(d_1_1_Core->refs.loadRelaxed());
62 }
63 if (d_1_2_Core) {
64 d_1_2_Core->refs.deref();
65 Q_ASSERT(d_1_2_Core->refs.loadRelaxed());
66 }
67 if (d_1_3_Core) {
68 d_1_3_Core->refs.deref();
69 Q_ASSERT(d_1_3_Core->refs.loadRelaxed());
70 }
71 if (d_1_4_Core) {
72 d_1_4_Core->refs.deref();
73 Q_ASSERT(d_1_4_Core->refs.loadRelaxed());
74 }
75 if (d_1_5_Core) {
76 d_1_5_Core->refs.deref();
77 Q_ASSERT(d_1_5_Core->refs.loadRelaxed());
78 }
79 if (d_2_0_Core) {
80 d_2_0_Core->refs.deref();
81 Q_ASSERT(d_2_0_Core->refs.loadRelaxed());
82 }
83 if (d_2_1_Core) {
84 d_2_1_Core->refs.deref();
85 Q_ASSERT(d_2_1_Core->refs.loadRelaxed());
86 }
87 if (d_3_0_Core) {
88 d_3_0_Core->refs.deref();
89 Q_ASSERT(d_3_0_Core->refs.loadRelaxed());
90 }
91 if (d_3_1_Core) {
92 d_3_1_Core->refs.deref();
93 Q_ASSERT(d_3_1_Core->refs.loadRelaxed());
94 }
95 if (d_3_2_Core) {
96 d_3_2_Core->refs.deref();
97 Q_ASSERT(d_3_2_Core->refs.loadRelaxed());
98 }
99 if (d_3_3_Core) {
100 d_3_3_Core->refs.deref();
101 Q_ASSERT(d_3_3_Core->refs.loadRelaxed());
102 }
103 if (d_4_0_Core) {
104 d_4_0_Core->refs.deref();
105 Q_ASSERT(d_4_0_Core->refs.loadRelaxed());
106 }
107 if (d_4_1_Core) {
108 d_4_1_Core->refs.deref();
109 Q_ASSERT(d_4_1_Core->refs.loadRelaxed());
110 }
111 if (d_4_2_Core) {
112 d_4_2_Core->refs.deref();
113 Q_ASSERT(d_4_2_Core->refs.loadRelaxed());
114 }
115}
116
118{
119 if ( isInitialized() )
120 return true;
121
123
124 // If owned by a context object make sure it is current.
125 // Also check that current context is capable of resolving all needed functions
126 if (((owningContext() && owningContext() == context) || !owningContext())
127 && QOpenGLFunctions_4_2_Core::isContextCompatible(context))
128 {
129 // Associate with private implementation, creating if necessary
130 // Function pointers in the backends are resolved at creation time
133 d_1_0_Core = static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
134 d->refs.ref();
135
137 d_1_1_Core = static_cast<QOpenGLFunctions_1_1_CoreBackend*>(d);
138 d->refs.ref();
139
141 d_1_2_Core = static_cast<QOpenGLFunctions_1_2_CoreBackend*>(d);
142 d->refs.ref();
143
145 d_1_3_Core = static_cast<QOpenGLFunctions_1_3_CoreBackend*>(d);
146 d->refs.ref();
147
149 d_1_4_Core = static_cast<QOpenGLFunctions_1_4_CoreBackend*>(d);
150 d->refs.ref();
151
153 d_1_5_Core = static_cast<QOpenGLFunctions_1_5_CoreBackend*>(d);
154 d->refs.ref();
155
157 d_2_0_Core = static_cast<QOpenGLFunctions_2_0_CoreBackend*>(d);
158 d->refs.ref();
159
161 d_2_1_Core = static_cast<QOpenGLFunctions_2_1_CoreBackend*>(d);
162 d->refs.ref();
163
165 d_3_0_Core = static_cast<QOpenGLFunctions_3_0_CoreBackend*>(d);
166 d->refs.ref();
167
169 d_3_1_Core = static_cast<QOpenGLFunctions_3_1_CoreBackend*>(d);
170 d->refs.ref();
171
173 d_3_2_Core = static_cast<QOpenGLFunctions_3_2_CoreBackend*>(d);
174 d->refs.ref();
175
177 d_3_3_Core = static_cast<QOpenGLFunctions_3_3_CoreBackend*>(d);
178 d->refs.ref();
179
181 d_4_0_Core = static_cast<QOpenGLFunctions_4_0_CoreBackend*>(d);
182 d->refs.ref();
183
185 d_4_1_Core = static_cast<QOpenGLFunctions_4_1_CoreBackend*>(d);
186 d->refs.ref();
187
189 d_4_2_Core = static_cast<QOpenGLFunctions_4_2_CoreBackend*>(d);
190 d->refs.ref();
191
193 }
194 return isInitialized();
195}
196
197bool QOpenGLFunctions_4_2_Core::isContextCompatible(QOpenGLContext *context)
198{
200 QSurfaceFormat f = context->format();
201 const QPair<int, int> v = qMakePair(f.majorVersion(), f.minorVersion());
202 if (v < qMakePair(4, 2))
203 return false;
204
205 return true;
206}
207
208QOpenGLVersionProfile QOpenGLFunctions_4_2_Core::versionProfile()
209{
211 v.setVersion(4, 2);
212 v.setProfile(QSurfaceFormat::CoreProfile);
213 return v;
214}
215
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