Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qopenglfunctions_1_0.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_0_Deprecated(nullptr)
37{
38}
39
41{
42 if (d_1_0_Core) {
43 d_1_0_Core->refs.deref();
44 Q_ASSERT(d_1_0_Core->refs.loadRelaxed());
45 }
46 if (d_1_0_Deprecated) {
47 d_1_0_Deprecated->refs.deref();
48 Q_ASSERT(d_1_0_Deprecated->refs.loadRelaxed());
49 }
50}
51
53{
54 if ( isInitialized() )
55 return true;
56
58
59 // If owned by a context object make sure it is current.
60 // Also check that current context is capable of resolving all needed functions
61 if (((owningContext() && owningContext() == context) || !owningContext())
62 && QOpenGLFunctions_1_0::isContextCompatible(context))
63 {
64 // Associate with private implementation, creating if necessary
65 // Function pointers in the backends are resolved at creation time
68 d_1_0_Core = static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
69 d->refs.ref();
70
72 d_1_0_Deprecated = static_cast<QOpenGLFunctions_1_0_DeprecatedBackend*>(d);
73 d->refs.ref();
74
76 }
77 return isInitialized();
78}
79
80bool QOpenGLFunctions_1_0::isContextCompatible(QOpenGLContext *context)
81{
83 QSurfaceFormat f = context->format();
84 const QPair<int, int> v = qMakePair(f.majorVersion(), f.minorVersion());
85 if (v < qMakePair(1, 0))
86 return false;
87
88 if (f.profile() == QSurfaceFormat::CoreProfile)
89 return false;
90
91 return true;
92}
93
94QOpenGLVersionProfile QOpenGLFunctions_1_0::versionProfile()
95{
97 v.setVersion(1, 0);
98 return v;
99}
100
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()
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