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_1_5.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_1_0_Deprecated(nullptr)
42 , d_1_1_Deprecated(nullptr)
43 , d_1_2_Deprecated(nullptr)
44 , d_1_3_Deprecated(nullptr)
45 , d_1_4_Deprecated(nullptr)
46{
47}
48
50{
51 if (d_1_0_Core) {
52 d_1_0_Core->refs.deref();
53 Q_ASSERT(d_1_0_Core->refs.loadRelaxed());
54 }
55 if (d_1_1_Core) {
56 d_1_1_Core->refs.deref();
57 Q_ASSERT(d_1_1_Core->refs.loadRelaxed());
58 }
59 if (d_1_2_Core) {
60 d_1_2_Core->refs.deref();
61 Q_ASSERT(d_1_2_Core->refs.loadRelaxed());
62 }
63 if (d_1_3_Core) {
64 d_1_3_Core->refs.deref();
65 Q_ASSERT(d_1_3_Core->refs.loadRelaxed());
66 }
67 if (d_1_4_Core) {
68 d_1_4_Core->refs.deref();
69 Q_ASSERT(d_1_4_Core->refs.loadRelaxed());
70 }
71 if (d_1_5_Core) {
72 d_1_5_Core->refs.deref();
73 Q_ASSERT(d_1_5_Core->refs.loadRelaxed());
74 }
75 if (d_1_0_Deprecated) {
76 d_1_0_Deprecated->refs.deref();
77 Q_ASSERT(d_1_0_Deprecated->refs.loadRelaxed());
78 }
79 if (d_1_1_Deprecated) {
80 d_1_1_Deprecated->refs.deref();
81 Q_ASSERT(d_1_1_Deprecated->refs.loadRelaxed());
82 }
83 if (d_1_2_Deprecated) {
84 d_1_2_Deprecated->refs.deref();
85 Q_ASSERT(d_1_2_Deprecated->refs.loadRelaxed());
86 }
87 if (d_1_3_Deprecated) {
88 d_1_3_Deprecated->refs.deref();
89 Q_ASSERT(d_1_3_Deprecated->refs.loadRelaxed());
90 }
91 if (d_1_4_Deprecated) {
92 d_1_4_Deprecated->refs.deref();
93 Q_ASSERT(d_1_4_Deprecated->refs.loadRelaxed());
94 }
95}
96
98{
99 if ( isInitialized() )
100 return true;
101
103
104 // If owned by a context object make sure it is current.
105 // Also check that current context is capable of resolving all needed functions
106 if (((owningContext() && owningContext() == context) || !owningContext())
107 && QOpenGLFunctions_1_5::isContextCompatible(context))
108 {
109 // Associate with private implementation, creating if necessary
110 // Function pointers in the backends are resolved at creation time
113 d_1_0_Core = static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
114 d->refs.ref();
115
117 d_1_1_Core = static_cast<QOpenGLFunctions_1_1_CoreBackend*>(d);
118 d->refs.ref();
119
121 d_1_2_Core = static_cast<QOpenGLFunctions_1_2_CoreBackend*>(d);
122 d->refs.ref();
123
125 d_1_3_Core = static_cast<QOpenGLFunctions_1_3_CoreBackend*>(d);
126 d->refs.ref();
127
129 d_1_4_Core = static_cast<QOpenGLFunctions_1_4_CoreBackend*>(d);
130 d->refs.ref();
131
133 d_1_5_Core = static_cast<QOpenGLFunctions_1_5_CoreBackend*>(d);
134 d->refs.ref();
135
137 d_1_0_Deprecated = static_cast<QOpenGLFunctions_1_0_DeprecatedBackend*>(d);
138 d->refs.ref();
139
141 d_1_1_Deprecated = static_cast<QOpenGLFunctions_1_1_DeprecatedBackend*>(d);
142 d->refs.ref();
143
145 d_1_2_Deprecated = static_cast<QOpenGLFunctions_1_2_DeprecatedBackend*>(d);
146 d->refs.ref();
147
149 d_1_3_Deprecated = static_cast<QOpenGLFunctions_1_3_DeprecatedBackend*>(d);
150 d->refs.ref();
151
153 d_1_4_Deprecated = static_cast<QOpenGLFunctions_1_4_DeprecatedBackend*>(d);
154 d->refs.ref();
155
157 }
158 return isInitialized();
159}
160
161bool QOpenGLFunctions_1_5::isContextCompatible(QOpenGLContext *context)
162{
164 QSurfaceFormat f = context->format();
165 const QPair<int, int> v = qMakePair(f.majorVersion(), f.minorVersion());
166 if (v < qMakePair(1, 5))
167 return false;
168
169 if (f.profile() == QSurfaceFormat::CoreProfile)
170 return false;
171
172 return true;
173}
174
175QOpenGLVersionProfile QOpenGLFunctions_1_5::versionProfile()
176{
178 v.setVersion(1, 5);
179 return v;
180}
181
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()
bool initializeOpenGLFunctions() override
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