summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl/qopenglfunctions_1_5.cpp
diff options
context:
space:
mode:
authorLiang Qi <[email protected]>2016-03-22 07:24:57 +0100
committerLiang Qi <[email protected]>2016-03-22 07:28:42 +0100
commita02863234d76abb6c9f289026ae4ea3145924f30 (patch)
treeaef6381d0000a78ba69ac80eb03739b1c8ca5fc3 /src/gui/opengl/qopenglfunctions_1_5.cpp
parente77b13621f0057374d83a2b884f03dd2e5b7b88c (diff)
parente4d79e1fdeb6b26ba0b12b578daacf7cd672b960 (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: configure mkspecs/common/wince/qplatformdefs.h src/plugins/platforms/directfb/qdirectfbbackingstore.cpp src/plugins/platforms/xcb/qxcbbackingstore.cpp Change-Id: Ied4d31264a9afca9514b51a7eb1494c28712793c
Diffstat (limited to 'src/gui/opengl/qopenglfunctions_1_5.cpp')
-rw-r--r--src/gui/opengl/qopenglfunctions_1_5.cpp121
1 files changed, 33 insertions, 88 deletions
diff --git a/src/gui/opengl/qopenglfunctions_1_5.cpp b/src/gui/opengl/qopenglfunctions_1_5.cpp
index b0cf705dc49..d07f1decec7 100644
--- a/src/gui/opengl/qopenglfunctions_1_5.cpp
+++ b/src/gui/opengl/qopenglfunctions_1_5.cpp
@@ -83,50 +83,39 @@ QOpenGLFunctions_1_5::QOpenGLFunctions_1_5()
QOpenGLFunctions_1_5::~QOpenGLFunctions_1_5()
{
- if (d_1_0_Core && !d_1_0_Core->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus());
- delete d_1_0_Core;
- }
- if (d_1_1_Core && !d_1_1_Core->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus());
- delete d_1_1_Core;
- }
- if (d_1_2_Core && !d_1_2_Core->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus());
- delete d_1_2_Core;
- }
- if (d_1_3_Core && !d_1_3_Core->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus());
- delete d_1_3_Core;
- }
- if (d_1_4_Core && !d_1_4_Core->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus());
- delete d_1_4_Core;
- }
- if (d_1_5_Core && !d_1_5_Core->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus());
- delete d_1_5_Core;
- }
- if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus());
- delete d_1_0_Deprecated;
- }
- if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus());
- delete d_1_1_Deprecated;
- }
- if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus());
- delete d_1_2_Deprecated;
- }
- if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus());
- delete d_1_3_Deprecated;
- }
- if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) {
- QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus());
- delete d_1_4_Deprecated;
- }
+ if (d_1_0_Core)
+ d_1_0_Core->refs.deref();
+ Q_ASSERT(d_1_0_Core->refs.load());
+ if (d_1_1_Core)
+ d_1_1_Core->refs.deref();
+ Q_ASSERT(d_1_1_Core->refs.load());
+ if (d_1_2_Core)
+ d_1_2_Core->refs.deref();
+ Q_ASSERT(d_1_2_Core->refs.load());
+ if (d_1_3_Core)
+ d_1_3_Core->refs.deref();
+ Q_ASSERT(d_1_3_Core->refs.load());
+ if (d_1_4_Core)
+ d_1_4_Core->refs.deref();
+ Q_ASSERT(d_1_4_Core->refs.load());
+ if (d_1_5_Core)
+ d_1_5_Core->refs.deref();
+ Q_ASSERT(d_1_5_Core->refs.load());
+ if (d_1_0_Deprecated)
+ d_1_0_Deprecated->refs.deref();
+ Q_ASSERT(d_1_0_Deprecated->refs.load());
+ if (d_1_1_Deprecated)
+ d_1_1_Deprecated->refs.deref();
+ Q_ASSERT(d_1_1_Deprecated->refs.load());
+ if (d_1_2_Deprecated)
+ d_1_2_Deprecated->refs.deref();
+ Q_ASSERT(d_1_2_Deprecated->refs.load());
+ if (d_1_3_Deprecated)
+ d_1_3_Deprecated->refs.deref();
+ Q_ASSERT(d_1_3_Deprecated->refs.load());
+ if (d_1_4_Deprecated)
+ d_1_4_Deprecated->refs.deref();
+ Q_ASSERT(d_1_4_Deprecated->refs.load());
}
bool QOpenGLFunctions_1_5::initializeOpenGLFunctions()
@@ -145,90 +134,46 @@ bool QOpenGLFunctions_1_5::initializeOpenGLFunctions()
// Function pointers in the backends are resolved at creation time
QOpenGLVersionFunctionsBackend* d = 0;
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_0_CoreBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d);
- }
d_1_0_Core = static_cast<QOpenGLFunctions_1_0_CoreBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_1_CoreBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d);
- }
d_1_1_Core = static_cast<QOpenGLFunctions_1_1_CoreBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_2_CoreBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d);
- }
d_1_2_Core = static_cast<QOpenGLFunctions_1_2_CoreBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_3_CoreBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d);
- }
d_1_3_Core = static_cast<QOpenGLFunctions_1_3_CoreBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_4_CoreBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d);
- }
d_1_4_Core = static_cast<QOpenGLFunctions_1_4_CoreBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_5_CoreBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d);
- }
d_1_5_Core = static_cast<QOpenGLFunctions_1_5_CoreBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_0_DeprecatedBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d);
- }
d_1_0_Deprecated = static_cast<QOpenGLFunctions_1_0_DeprecatedBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_1_DeprecatedBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d);
- }
d_1_1_Deprecated = static_cast<QOpenGLFunctions_1_1_DeprecatedBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_2_DeprecatedBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d);
- }
d_1_2_Deprecated = static_cast<QOpenGLFunctions_1_2_DeprecatedBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_3_DeprecatedBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d);
- }
d_1_3_Deprecated = static_cast<QOpenGLFunctions_1_3_DeprecatedBackend*>(d);
d->refs.ref();
d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus());
- if (!d) {
- d = new QOpenGLFunctions_1_4_DeprecatedBackend(context);
- QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d);
- }
d_1_4_Deprecated = static_cast<QOpenGLFunctions_1_4_DeprecatedBackend*>(d);
d->refs.ref();