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_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
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{
49}
50
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
108{
109 if ( isInitialized() )
110 return true;
111
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
123 d_1_0_Core = static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
124 d->refs.ref();
125
127 d_1_1_Core = static_cast<QOpenGLFunctions_1_1_CoreBackend*>(d);
128 d->refs.ref();
129
131 d_1_2_Core = static_cast<QOpenGLFunctions_1_2_CoreBackend*>(d);
132 d->refs.ref();
133
135 d_1_3_Core = static_cast<QOpenGLFunctions_1_3_CoreBackend*>(d);
136 d->refs.ref();
137
139 d_1_4_Core = static_cast<QOpenGLFunctions_1_4_CoreBackend*>(d);
140 d->refs.ref();
141
143 d_1_5_Core = static_cast<QOpenGLFunctions_1_5_CoreBackend*>(d);
144 d->refs.ref();
145
147 d_2_0_Core = static_cast<QOpenGLFunctions_2_0_CoreBackend*>(d);
148 d->refs.ref();
149
151 d_2_1_Core = static_cast<QOpenGLFunctions_2_1_CoreBackend*>(d);
152 d->refs.ref();
153
155 d_3_0_Core = static_cast<QOpenGLFunctions_3_0_CoreBackend*>(d);
156 d->refs.ref();
157
159 d_3_1_Core = static_cast<QOpenGLFunctions_3_1_CoreBackend*>(d);
160 d->refs.ref();
161
163 d_3_2_Core = static_cast<QOpenGLFunctions_3_2_CoreBackend*>(d);
164 d->refs.ref();
165
167 d_3_3_Core = static_cast<QOpenGLFunctions_3_3_CoreBackend*>(d);
168 d->refs.ref();
169
171 d_4_0_Core = static_cast<QOpenGLFunctions_4_0_CoreBackend*>(d);
172 d->refs.ref();
173
175 }
176 return isInitialized();
177}
178
179bool QOpenGLFunctions_4_0_Core::isContextCompatible(QOpenGLContext *context)
180{
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
190QOpenGLVersionProfile QOpenGLFunctions_4_0_Core::versionProfile()
191{
193 v.setVersion(4, 0);
194 v.setProfile(QSurfaceFormat::CoreProfile);
195 return v;
196}
197
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()
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