Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qopenglfunctions_1_2.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_0_Deprecated(nullptr)
39 , d_1_1_Deprecated(nullptr)
40 , d_1_2_Deprecated(nullptr)
41{
42}
43
45{
46 if (d_1_0_Core) {
47 d_1_0_Core->refs.deref();
48 Q_ASSERT(d_1_0_Core->refs.loadRelaxed());
49 }
50 if (d_1_1_Core) {
51 d_1_1_Core->refs.deref();
52 Q_ASSERT(d_1_1_Core->refs.loadRelaxed());
53 }
54 if (d_1_2_Core) {
55 d_1_2_Core->refs.deref();
56 Q_ASSERT(d_1_2_Core->refs.loadRelaxed());
57 }
58 if (d_1_0_Deprecated) {
59 d_1_0_Deprecated->refs.deref();
60 Q_ASSERT(d_1_0_Deprecated->refs.loadRelaxed());
61 }
62 if (d_1_1_Deprecated) {
63 d_1_1_Deprecated->refs.deref();
64 Q_ASSERT(d_1_1_Deprecated->refs.loadRelaxed());
65 }
66 if (d_1_2_Deprecated) {
67 d_1_2_Deprecated->refs.deref();
68 Q_ASSERT(d_1_2_Deprecated->refs.loadRelaxed());
69 }
70}
71
73{
74 if ( isInitialized() )
75 return true;
76
78
79 // If owned by a context object make sure it is current.
80 // Also check that current context is capable of resolving all needed functions
81 if (((owningContext() && owningContext() == context) || !owningContext())
82 && QOpenGLFunctions_1_2::isContextCompatible(context))
83 {
84 // Associate with private implementation, creating if necessary
85 // Function pointers in the backends are resolved at creation time
88 d_1_0_Core = static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
89 d->refs.ref();
90
92 d_1_1_Core = static_cast<QOpenGLFunctions_1_1_CoreBackend*>(d);
93 d->refs.ref();
94
96 d_1_2_Core = static_cast<QOpenGLFunctions_1_2_CoreBackend*>(d);
97 d->refs.ref();
98
100 d_1_0_Deprecated = static_cast<QOpenGLFunctions_1_0_DeprecatedBackend*>(d);
101 d->refs.ref();
102
104 d_1_1_Deprecated = static_cast<QOpenGLFunctions_1_1_DeprecatedBackend*>(d);
105 d->refs.ref();
106
108 d_1_2_Deprecated = static_cast<QOpenGLFunctions_1_2_DeprecatedBackend*>(d);
109 d->refs.ref();
110
112 }
113 return isInitialized();
114}
115
116bool QOpenGLFunctions_1_2::isContextCompatible(QOpenGLContext *context)
117{
119 QSurfaceFormat f = context->format();
120 const QPair<int, int> v = qMakePair(f.majorVersion(), f.minorVersion());
121 if (v < qMakePair(1, 2))
122 return false;
123
124 if (f.profile() == QSurfaceFormat::CoreProfile)
125 return false;
126
127 return true;
128}
129
130QOpenGLVersionProfile QOpenGLFunctions_1_2::versionProfile()
131{
133 v.setVersion(1, 2);
134 return v;
135}
136
static QOpenGLVersionFunctionsBackend * functionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v)
QOpenGLContext * owningContext() const
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()
bool initializeOpenGLFunctions() override
The QSurfaceFormat class represents the format of a QSurface. \inmodule QtGui.
Combined button and popup list for selecting options.
static void * context
std::pair< T1, T2 > QPair
GLsizei const GLfloat * v
[13]
GLfloat GLfloat f
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