48QOpenGLFunctions_3_1::~QOpenGLFunctions_3_1()
51 d_1_0_Core->refs.deref();
52 Q_ASSERT(d_1_0_Core->refs.loadRelaxed());
55 d_1_1_Core->refs.deref();
56 Q_ASSERT(d_1_1_Core->refs.loadRelaxed());
59 d_1_2_Core->refs.deref();
60 Q_ASSERT(d_1_2_Core->refs.loadRelaxed());
63 d_1_3_Core->refs.deref();
64 Q_ASSERT(d_1_3_Core->refs.loadRelaxed());
67 d_1_4_Core->refs.deref();
68 Q_ASSERT(d_1_4_Core->refs.loadRelaxed());
71 d_1_5_Core->refs.deref();
72 Q_ASSERT(d_1_5_Core->refs.loadRelaxed());
75 d_2_0_Core->refs.deref();
76 Q_ASSERT(d_2_0_Core->refs.loadRelaxed());
79 d_2_1_Core->refs.deref();
80 Q_ASSERT(d_2_1_Core->refs.loadRelaxed());
83 d_3_0_Core->refs.deref();
84 Q_ASSERT(d_3_0_Core->refs.loadRelaxed());
87 d_3_1_Core->refs.deref();
88 Q_ASSERT(d_3_1_Core->refs.loadRelaxed());
92bool QOpenGLFunctions_3_1::initializeOpenGLFunctions()
94 if ( isInitialized() )
97 QOpenGLContext* context = QOpenGLContext::currentContext();
101 if (((owningContext() && owningContext() == context) || !owningContext())
102 && QOpenGLFunctions_3_1::isContextCompatible(context))
106 QOpenGLVersionFunctionsBackend* d =
nullptr;
107 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus());
108 d_1_0_Core =
static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
111 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus());
112 d_1_1_Core =
static_cast<QOpenGLFunctions_1_1_CoreBackend*>(d);
115 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus());
116 d_1_2_Core =
static_cast<QOpenGLFunctions_1_2_CoreBackend*>(d);
119 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus());
120 d_1_3_Core =
static_cast<QOpenGLFunctions_1_3_CoreBackend*>(d);
123 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus());
124 d_1_4_Core =
static_cast<QOpenGLFunctions_1_4_CoreBackend*>(d);
127 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus());
128 d_1_5_Core =
static_cast<QOpenGLFunctions_1_5_CoreBackend*>(d);
131 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus());
132 d_2_0_Core =
static_cast<QOpenGLFunctions_2_0_CoreBackend*>(d);
135 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus());
136 d_2_1_Core =
static_cast<QOpenGLFunctions_2_1_CoreBackend*>(d);
139 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus());
140 d_3_0_Core =
static_cast<QOpenGLFunctions_3_0_CoreBackend*>(d);
143 d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus());
144 d_3_1_Core =
static_cast<QOpenGLFunctions_3_1_CoreBackend*>(d);
147 QAbstractOpenGLFunctions::initializeOpenGLFunctions();
149 return isInitialized();