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