forked from pool/libqt5-qtbase
Qt 5.15 Alpha
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt5/libqt5-qtbase?expand=0&rev=2
This commit is contained in:
parent
c482c62836
commit
281c7502cd
@ -0,0 +1,40 @@
|
||||
From 8a053986b4c43a133f6824f839bd78a476d183e3 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Date: Wed, 19 Feb 2020 11:42:06 +0100
|
||||
Subject: [PATCH] Don't white-list recent Mesa versions for multithreading
|
||||
|
||||
It's not stable.
|
||||
---
|
||||
.../gl_integrations/xcb_glx/qglxintegration.cpp | 16 ----------------
|
||||
1 file changed, 16 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
index 75189a9c80..e328ea2d4b 100644
|
||||
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
@@ -764,22 +764,6 @@ void QGLXContext::queryDummyContext()
|
||||
m_supportsThreading = false;
|
||||
}
|
||||
|
||||
- if (mesaVersionStr) {
|
||||
- // The issue was fixed in Xcb 1.11, but we can't check for that
|
||||
- // at runtime, so instead assume it fixed with recent Mesa versions
|
||||
- // released several years after the Xcb fix.
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
- QRegularExpression versionTest(QStringLiteral("Mesa (\\d+)"));
|
||||
- QRegularExpressionMatch result = versionTest.match(QString::fromLatin1(mesaVersionStr));
|
||||
- int versionNr = 0;
|
||||
- if (result.hasMatch())
|
||||
- versionNr = result.captured(1).toInt();
|
||||
- if (versionNr >= 17) {
|
||||
- // White-listed
|
||||
- m_supportsThreading = true;
|
||||
- }
|
||||
-#endif
|
||||
- }
|
||||
if (!m_supportsThreading) {
|
||||
qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
|
||||
"blacklisted vendor \"Mesa Project\"";
|
||||
--
|
||||
2.23.0
|
||||
|
@ -1,50 +0,0 @@
|
||||
From 7525dcc085d0453209bd7c321adac9c54487afa6 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Date: Thu, 14 Mar 2019 10:30:14 +0100
|
||||
Subject: [PATCH 1/3] Revert "Blacklist nouveau and llvmpipe for
|
||||
multithreading"
|
||||
|
||||
This reverts commit 96f6cab22cab252cbe7a98bbeadde95497e0bd75.
|
||||
---
|
||||
.../xcb_glx/qglxintegration.cpp | 18 ------------------
|
||||
1 file changed, 18 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
index 476de6d1e5..d42a33c22b 100644
|
||||
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
@@ -652,12 +652,6 @@ static const char *qglx_threadedgl_blacklist_renderer[] = {
|
||||
0
|
||||
};
|
||||
|
||||
-static const char *qglx_threadedgl_blacklist_vendor[] = {
|
||||
- "llvmpipe", // QTCREATORBUG-10666
|
||||
- "nouveau", // https://bugs.freedesktop.org/show_bug.cgi?id=91632
|
||||
- nullptr
|
||||
-};
|
||||
-
|
||||
void QGLXContext::queryDummyContext()
|
||||
{
|
||||
if (m_queriedDummyContext)
|
||||
@@ -716,18 +710,6 @@ void QGLXContext::queryDummyContext()
|
||||
}
|
||||
}
|
||||
}
|
||||
- if (const char *vendor = (const char *) glGetString(GL_VENDOR)) {
|
||||
- for (int i = 0; qglx_threadedgl_blacklist_vendor[i]; ++i) {
|
||||
- if (strstr(vendor, qglx_threadedgl_blacklist_vendor[i]) != 0) {
|
||||
- qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
|
||||
- "blacklisted vendor \""
|
||||
- << qglx_threadedgl_blacklist_vendor[i]
|
||||
- << "\"";
|
||||
- m_supportsThreading = false;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
|
||||
if (glxvendor && m_supportsThreading) {
|
||||
// Blacklist Mesa drivers due to QTCREATORBUG-10875 (crash in creator),
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,280 +0,0 @@
|
||||
From 4f28ec6c8526d754849bd26c55e4c5faf61f4eb0 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Date: Thu, 14 Mar 2019 10:32:10 +0100
|
||||
Subject: [PATCH 2/3] Revert "qtlite: Fix build libs with
|
||||
-no-feature-regularexpression"
|
||||
|
||||
This reverts commit 3b514f853595c686d4ed8830567c1f27ea533faf.
|
||||
---
|
||||
src/corelib/kernel/qvariant.cpp | 4 ----
|
||||
src/corelib/serialization/qcborvalue.cpp | 12 ------------
|
||||
src/corelib/serialization/qcborvalue.h | 10 +---------
|
||||
src/corelib/serialization/qjsoncbor.cpp | 7 -------
|
||||
.../platforms/eglfs/api/qeglfsdeviceintegration.cpp | 4 +---
|
||||
.../xcb/gl_integrations/xcb_glx/qglxintegration.cpp | 6 +-----
|
||||
src/testlib/qtaptestlogger.cpp | 11 +----------
|
||||
7 files changed, 4 insertions(+), 50 deletions(-)
|
||||
|
||||
Index: qtbase-everywhere-src-5.13.0-beta2/src/corelib/kernel/qvariant.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/corelib/kernel/qvariant.cpp
|
||||
+++ qtbase-everywhere-src-5.13.0-beta2/src/corelib/kernel/qvariant.cpp
|
||||
@@ -1052,13 +1052,11 @@ static bool convert(const QVariant::Priv
|
||||
return false;
|
||||
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
case QMetaType::QRegularExpression:
|
||||
if (d->type != QMetaType::QCborValue || !v_cast<QCborValue>(d)->isRegularExpression())
|
||||
return false;
|
||||
*static_cast<QRegularExpression *>(result) = v_cast<QCborValue>(d)->toRegularExpression();
|
||||
break;
|
||||
-#endif
|
||||
case QMetaType::QJsonValue:
|
||||
switch (d->type) {
|
||||
case QMetaType::Nullptr:
|
||||
@@ -1234,11 +1232,9 @@ static bool convert(const QVariant::Priv
|
||||
case QVariant::Url:
|
||||
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QUrl>(d));
|
||||
break;
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
case QVariant::RegularExpression:
|
||||
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QRegularExpression>(d));
|
||||
break;
|
||||
-#endif
|
||||
case QVariant::Uuid:
|
||||
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QUuid>(d));
|
||||
break;
|
||||
Index: qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qcborvalue.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/corelib/serialization/qcborvalue.cpp
|
||||
+++ qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qcborvalue.cpp
|
||||
@@ -1772,7 +1772,6 @@ QCborValue::QCborValue(const QUrl &url)
|
||||
container->elements[1].type = String;
|
||||
}
|
||||
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
/*!
|
||||
Creates a QCborValue object of the regular expression pattern extended type
|
||||
and containing the value represented by \a rx. The value can later be retrieved
|
||||
@@ -1791,7 +1790,6 @@ QCborValue::QCborValue(const QRegularExp
|
||||
// change type
|
||||
t = RegularExpression;
|
||||
}
|
||||
-#endif // QT_CONFIG(regularexpression)
|
||||
|
||||
/*!
|
||||
Creates a QCborValue object of the UUID extended type and containing the
|
||||
@@ -1945,7 +1943,6 @@ QUrl QCborValue::toUrl(const QUrl &defau
|
||||
return QUrl::fromEncoded(byteData->asByteArrayView());
|
||||
}
|
||||
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
/*!
|
||||
Returns the regular expression value stored in this QCborValue, if it is of
|
||||
the regular expression pattern extended type. Otherwise, it returns \a
|
||||
@@ -1964,7 +1961,6 @@ QRegularExpression QCborValue::toRegular
|
||||
Q_ASSERT(n == -1);
|
||||
return QRegularExpression(container->stringAt(1));
|
||||
}
|
||||
-#endif // QT_CONFIG(regularexpression)
|
||||
|
||||
/*!
|
||||
Returns the UUID value stored in this QCborValue, if it is of the UUID
|
||||
@@ -2874,16 +2870,12 @@ uint qHash(const QCborValue &value, uint
|
||||
return qHash(value.toDateTime(), seed);
|
||||
case QCborValue::Url:
|
||||
return qHash(value.toUrl(), seed);
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
case QCborValue::RegularExpression:
|
||||
return qHash(value.toRegularExpression(), seed);
|
||||
-#endif
|
||||
case QCborValue::Uuid:
|
||||
return qHash(value.toUuid(), seed);
|
||||
case QCborValue::Invalid:
|
||||
return seed;
|
||||
- default:
|
||||
- break;
|
||||
}
|
||||
|
||||
Q_ASSERT(value.isSimpleType());
|
||||
@@ -2928,16 +2920,12 @@ static QDebug debugContents(QDebug &dbg,
|
||||
return dbg << v.toDateTime();
|
||||
case QCborValue::Url:
|
||||
return dbg << v.toUrl();
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
case QCborValue::RegularExpression:
|
||||
return dbg << v.toRegularExpression();
|
||||
-#endif
|
||||
case QCborValue::Uuid:
|
||||
return dbg << v.toUuid();
|
||||
case QCborValue::Invalid:
|
||||
return dbg << "<invalid>";
|
||||
- default:
|
||||
- break;
|
||||
}
|
||||
if (v.isSimpleType())
|
||||
return dbg << v.toSimpleType();
|
||||
Index: qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qcborvalue.h
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/corelib/serialization/qcborvalue.h
|
||||
+++ qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qcborvalue.h
|
||||
@@ -43,9 +43,7 @@
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qdatetime.h>
|
||||
#include <QtCore/qcborcommon.h>
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
-# include <QtCore/qregularexpression.h>
|
||||
-#endif
|
||||
+#include <QtCore/qregularexpression.h>
|
||||
#include <QtCore/qstring.h>
|
||||
#include <QtCore/qstringview.h>
|
||||
#include <QtCore/qurl.h>
|
||||
@@ -159,9 +157,7 @@ public:
|
||||
|
||||
explicit QCborValue(const QDateTime &dt);
|
||||
explicit QCborValue(const QUrl &url);
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
explicit QCborValue(const QRegularExpression &rx);
|
||||
-#endif
|
||||
explicit QCborValue(const QUuid &uuid);
|
||||
|
||||
~QCborValue() { if (container) dispose(); }
|
||||
@@ -239,9 +235,7 @@ public:
|
||||
QString toString(const QString &defaultValue = {}) const;
|
||||
QDateTime toDateTime(const QDateTime &defaultValue = {}) const;
|
||||
QUrl toUrl(const QUrl &defaultValue = {}) const;
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
QRegularExpression toRegularExpression(const QRegularExpression &defaultValue = {}) const;
|
||||
-#endif
|
||||
QUuid toUuid(const QUuid &defaultValue = {}) const;
|
||||
|
||||
// only forward-declared, need split functions
|
||||
@@ -386,10 +380,8 @@ public:
|
||||
{ return concrete().toDateTime(defaultValue); }
|
||||
QUrl toUrl(const QUrl &defaultValue = {}) const
|
||||
{ return concrete().toUrl(defaultValue); }
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
QRegularExpression toRegularExpression(const QRegularExpression &defaultValue = {}) const
|
||||
{ return concrete().toRegularExpression(defaultValue); }
|
||||
-#endif
|
||||
QUuid toUuid(const QUuid &defaultValue = {}) const
|
||||
{ return concrete().toUuid(defaultValue); }
|
||||
|
||||
Index: qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qjsoncbor.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/corelib/serialization/qjsoncbor.cpp
|
||||
+++ qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qjsoncbor.cpp
|
||||
@@ -543,19 +543,14 @@ QVariant QCborValue::toVariant() const
|
||||
case Url:
|
||||
return toUrl();
|
||||
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
case RegularExpression:
|
||||
return toRegularExpression();
|
||||
-#endif
|
||||
|
||||
case Uuid:
|
||||
return toUuid();
|
||||
|
||||
case Invalid:
|
||||
return QVariant();
|
||||
-
|
||||
- default:
|
||||
- break;
|
||||
}
|
||||
|
||||
if (isSimpleType())
|
||||
@@ -719,10 +714,8 @@ QCborValue QCborValue::fromVariant(const
|
||||
case QVariant::Hash:
|
||||
return QCborMap::fromVariantHash(variant.toHash());
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
case QVariant::RegularExpression:
|
||||
return QCborValue(variant.toRegularExpression());
|
||||
-#endif
|
||||
case QMetaType::QJsonValue:
|
||||
return fromJsonValue(variant.toJsonValue());
|
||||
case QMetaType::QJsonObject:
|
||||
Index: qtbase-everywhere-src-5.13.0-beta2/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp
|
||||
+++ qtbase-everywhere-src-5.13.0-beta2/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp
|
||||
@@ -51,9 +51,7 @@
|
||||
#include <private/qguiapplication_p.h>
|
||||
#include <QScreen>
|
||||
#include <QDir>
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
-# include <QRegularExpression>
|
||||
-#endif
|
||||
+#include <QRegularExpression>
|
||||
#include <QLoggingCategory>
|
||||
|
||||
#if defined(Q_OS_LINUX)
|
||||
Index: qtbase-everywhere-src-5.13.0-beta2/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
+++ qtbase-everywhere-src-5.13.0-beta2/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
@@ -48,9 +48,7 @@
|
||||
#undef register
|
||||
#include <GL/glx.h>
|
||||
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
-# include <QtCore/QRegularExpression>
|
||||
-#endif
|
||||
+#include <QtCore/QRegularExpression>
|
||||
#include <QtGui/QOpenGLContext>
|
||||
#include <QtGui/QOffscreenSurface>
|
||||
|
||||
@@ -724,7 +722,6 @@ void QGLXContext::queryDummyContext()
|
||||
// The issue was fixed in Xcb 1.11, but we can't check for that
|
||||
// at runtime, so instead assume it fixed with recent Mesa versions
|
||||
// released several years after the Xcb fix.
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
QRegularExpression versionTest(QStringLiteral("Mesa (\\d+)"));
|
||||
QRegularExpressionMatch result = versionTest.match(QString::fromLatin1(mesaVersionStr));
|
||||
int versionNr = 0;
|
||||
@@ -734,7 +731,6 @@ void QGLXContext::queryDummyContext()
|
||||
// White-listed
|
||||
m_supportsThreading = true;
|
||||
}
|
||||
-#endif
|
||||
}
|
||||
if (!m_supportsThreading) {
|
||||
qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
|
||||
Index: qtbase-everywhere-src-5.13.0-beta2/src/testlib/qtaptestlogger.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/testlib/qtaptestlogger.cpp
|
||||
+++ qtbase-everywhere-src-5.13.0-beta2/src/testlib/qtaptestlogger.cpp
|
||||
@@ -43,9 +43,7 @@
|
||||
#include "qtestresult_p.h"
|
||||
#include "qtestassert.h"
|
||||
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
-# include <QtCore/qregularexpression.h>
|
||||
-#endif
|
||||
+#include <QtCore/qregularexpression.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
@@ -150,7 +148,6 @@ void QTapTestLogger::addIncident(Inciden
|
||||
outputString(YAML_INDENT "---\n");
|
||||
|
||||
if (type != XFail) {
|
||||
-#if QT_CONFIG(regularexpression)
|
||||
// This is fragile, but unfortunately testlib doesn't plumb
|
||||
// the expected and actual values to the loggers (yet).
|
||||
static QRegularExpression verifyRegex(
|
||||
@@ -211,12 +208,6 @@ void QTapTestLogger::addIncident(Inciden
|
||||
YAML_INDENT "# %s\n", description);
|
||||
outputString(unparsableDescription.data());
|
||||
}
|
||||
-#else
|
||||
- QTestCharBuffer unparsableDescription;
|
||||
- QTest::qt_asprintf(&unparsableDescription,
|
||||
- YAML_INDENT "# %s\n", description);
|
||||
- outputString(unparsableDescription.data());
|
||||
-#endif
|
||||
}
|
||||
|
||||
if (file) {
|
@ -22,11 +22,11 @@ Change-Id: Ifbad6284483ee282ad129db54606f5d0d9ddd633
|
||||
src/widgets/kernel/qwidgetwindow.cpp | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
|
||||
index fbc71cd0ea..729a7f701a 100644
|
||||
--- a/src/widgets/kernel/qwidgetwindow.cpp
|
||||
+++ b/src/widgets/kernel/qwidgetwindow.cpp
|
||||
@@ -1051,6 +1051,18 @@ void QWidgetWindow::handleTabletEvent(QTabletEvent *event)
|
||||
Index: qtbase-everywhere-src-5.15.0-alpha/src/widgets/kernel/qwidgetwindow.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.15.0-alpha.orig/src/widgets/kernel/qwidgetwindow.cpp
|
||||
+++ qtbase-everywhere-src-5.15.0-alpha/src/widgets/kernel/qwidgetwindow.cpp
|
||||
@@ -1075,6 +1075,18 @@ void QWidgetWindow::handleTabletEvent(QT
|
||||
event->setAccepted(ev.isAccepted());
|
||||
}
|
||||
|
||||
@ -43,8 +43,5 @@ index fbc71cd0ea..729a7f701a 100644
|
||||
+ }
|
||||
+
|
||||
if (event->type() == QEvent::TabletRelease && event->buttons() == Qt::NoButton)
|
||||
qt_tablet_target = 0;
|
||||
qt_tablet_target = nullptr;
|
||||
}
|
||||
--
|
||||
2.21.0
|
||||
|
||||
|
@ -1,102 +0,0 @@
|
||||
From e0bf494295398cbc3ba5a84380525f9c00e3f8ad Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Date: Thu, 14 Mar 2019 10:32:16 +0100
|
||||
Subject: [PATCH 3/3] Revert "White-list more recent Mesa version for
|
||||
multi-threading"
|
||||
|
||||
This reverts commit 97600d2c2885e667ced0926815b5a12a7f25285c.
|
||||
---
|
||||
.../xcb_glx/qglxintegration.cpp | 60 +++++++++++--------
|
||||
1 file changed, 35 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
index ddb8f45188..41012c0b04 100644
|
||||
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||
@@ -48,7 +48,6 @@
|
||||
#undef register
|
||||
#include <GL/glx.h>
|
||||
|
||||
-#include <QtCore/QRegularExpression>
|
||||
#include <QtGui/QOpenGLContext>
|
||||
#include <QtGui/QOffscreenSurface>
|
||||
|
||||
@@ -650,6 +649,32 @@ static const char *qglx_threadedgl_blacklist_renderer[] = {
|
||||
0
|
||||
};
|
||||
|
||||
+// This disables threaded rendering on anything using mesa, e.g.
|
||||
+// - nvidia/nouveau
|
||||
+// - amd/gallium
|
||||
+// - intel
|
||||
+// - some software opengl implementations
|
||||
+//
|
||||
+// The client glx vendor string is used to identify those setups as that seems to show the least
|
||||
+// variance between the bad configurations. It's always "Mesa Project and SGI". There are some
|
||||
+// configurations which don't use mesa and which can do threaded rendering (amd and nvidia chips
|
||||
+// with their own proprietary drivers).
|
||||
+//
|
||||
+// This, of course, is very broad and disables threaded rendering on a lot of devices which would
|
||||
+// be able to use it. However, the bugs listed below don't follow any easily recognizable pattern
|
||||
+// and we should rather be safe.
|
||||
+//
|
||||
+// http://cgit.freedesktop.org/xcb/libxcb/commit/?id=be0fe56c3bcad5124dcc6c47a2fad01acd16f71a will
|
||||
+// fix some of the issues. Basically, the proprietary drivers seem to have a way of working around
|
||||
+// a fundamental flaw with multithreaded access to xcb, but mesa doesn't. The blacklist should be
|
||||
+// reevaluated once that patch is released in some version of xcb.
|
||||
+static const char *qglx_threadedgl_blacklist_vendor[] = {
|
||||
+ "Mesa Project and SGI", // QTCREATORBUG-10875 (crash in creator)
|
||||
+ // QTBUG-34492 (flickering in fullscreen)
|
||||
+ // QTBUG-38221
|
||||
+ 0
|
||||
+};
|
||||
+
|
||||
void QGLXContext::queryDummyContext()
|
||||
{
|
||||
if (m_queriedDummyContext)
|
||||
@@ -709,33 +734,18 @@ void QGLXContext::queryDummyContext()
|
||||
}
|
||||
}
|
||||
|
||||
- if (glxvendor && m_supportsThreading) {
|
||||
- // Blacklist Mesa drivers due to QTCREATORBUG-10875 (crash in creator),
|
||||
- // QTBUG-34492 (flickering in fullscreen) and QTBUG-38221
|
||||
- const char *mesaVersionStr = nullptr;
|
||||
- if (strstr(glxvendor, "Mesa Project") != 0) {
|
||||
- mesaVersionStr = (const char *) glGetString(GL_VERSION);
|
||||
- m_supportsThreading = false;
|
||||
- }
|
||||
+ if (glxvendor) {
|
||||
+ for (int i = 0; qglx_threadedgl_blacklist_vendor[i]; ++i) {
|
||||
+ if (strstr(glxvendor, qglx_threadedgl_blacklist_vendor[i]) != 0) {
|
||||
+ qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
|
||||
+ "blacklisted vendor \""
|
||||
+ << qglx_threadedgl_blacklist_vendor[i]
|
||||
+ << "\"";
|
||||
|
||||
- if (mesaVersionStr) {
|
||||
- // The issue was fixed in Xcb 1.11, but we can't check for that
|
||||
- // at runtime, so instead assume it fixed with recent Mesa versions
|
||||
- // released several years after the Xcb fix.
|
||||
- QRegularExpression versionTest(QStringLiteral("Mesa (\\d+)"));
|
||||
- QRegularExpressionMatch result = versionTest.match(QString::fromLatin1(mesaVersionStr));
|
||||
- int versionNr = 0;
|
||||
- if (result.hasMatch())
|
||||
- versionNr = result.captured(1).toInt();
|
||||
- if (versionNr >= 17) {
|
||||
- // White-listed
|
||||
- m_supportsThreading = true;
|
||||
+ m_supportsThreading = false;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
- if (!m_supportsThreading) {
|
||||
- qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
|
||||
- "blacklisted vendor \"Mesa Project\"";
|
||||
- }
|
||||
}
|
||||
|
||||
context.doneCurrent();
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,3 +1,17 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 19 10:16:14 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 5.15.0-alpha:
|
||||
* New feature release
|
||||
* For more details please see:
|
||||
https://wiki.qt.io/New_Features_in_Qt_5.15
|
||||
- Replace patches with single patch
|
||||
0001-Don-t-white-list-recent-Mesa-versions-for-multithrea.patch:
|
||||
* 0001-Revert-Blacklist-nouveau-and-llvmpipe-for-multithrea.patch
|
||||
* 0002-Revert-qtlite-Fix-build-libs-with-no-feature-regular.patch:
|
||||
* 0003-Revert-White-list-more-recent-Mesa-version-for-multi.patch
|
||||
- Refresh 0002-Synthesize-Enter-LeaveEvent-for-accepted-QTabletEven.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 27 13:13:57 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
|
@ -36,17 +36,17 @@
|
||||
%endif
|
||||
|
||||
Name: libqt5-qtbase
|
||||
Version: 5.14.1
|
||||
Version: 5.15.0~alpha
|
||||
Release: 0
|
||||
Summary: C++ Program Library, Core Components
|
||||
License: LGPL-3.0-only or GPL-3.0-with-Qt-Company-Qt-exception-1.1
|
||||
Group: System/Libraries
|
||||
Url: https://www.qt.io
|
||||
%define base_name libqt5
|
||||
%define real_version 5.14.1
|
||||
%define so_version 5.14.1
|
||||
%define tar_version qtbase-everywhere-src-5.14.1
|
||||
Source: https://download.qt.io/official_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||
%define real_version 5.15.0-alpha
|
||||
%define so_version 5.15.0
|
||||
%define tar_version qtbase-everywhere-src-5.15.0-alpha
|
||||
Source: https://download.qt.io/development_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||
# to get mtime of file:
|
||||
Source1: libqt5-qtbase.changes
|
||||
Source2: macros.qt5
|
||||
@ -61,9 +61,7 @@ Patch10: libqt5-prioritise-gtk2-platformtheme.patch
|
||||
# PATCH-FEATURE-OPENSUSE 0001-Add-remote-print-queue-support.patch fate#322052 -- Automatically recognize and allow printing to remote cups servers
|
||||
Patch12: 0001-Add-remote-print-queue-support.patch
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch21: 0001-Revert-Blacklist-nouveau-and-llvmpipe-for-multithrea.patch
|
||||
Patch22: 0002-Revert-qtlite-Fix-build-libs-with-no-feature-regular.patch
|
||||
Patch23: 0003-Revert-White-list-more-recent-Mesa-version-for-multi.patch
|
||||
Patch21: 0001-Don-t-white-list-recent-Mesa-versions-for-multithrea.patch
|
||||
Patch24: fix-fixqt4headers.patch
|
||||
# patches 1000-2000 and above from upstream 5.14 branch #
|
||||
# patches 2000-3000 and above from upstream 5.15/dev branch #
|
||||
@ -867,7 +865,8 @@ echo yes | ./configure \
|
||||
-no-separate-debug-info \
|
||||
-force-debug-info \
|
||||
-shared \
|
||||
-xkb \
|
||||
-xkbcommon \
|
||||
-no-bundled-xcb-xinput \
|
||||
-dbus-linked \
|
||||
-sm \
|
||||
-no-rpath \
|
||||
@ -1058,6 +1057,8 @@ chmod 644 %{buildroot}%{libqt5_docdir}/global/template/images/*.png
|
||||
%{libqt5_libdir}/cmake/Qt5/
|
||||
%{libqt5_libdir}/pkgconfig/Qt5Core.pc
|
||||
%{libqt5_includedir}/QtCore/
|
||||
%dir %{libqt5_libdir}/metatypes/
|
||||
%{libqt5_libdir}/metatypes/qt5core_metatypes.json
|
||||
%exclude %{libqt5_includedir}/QtCore/%{so_version}
|
||||
%{libqt5_docdir}
|
||||
|
||||
@ -1185,6 +1186,7 @@ chmod 644 %{buildroot}%{libqt5_docdir}/global/template/images/*.png
|
||||
%{libqt5_libdir}/cmake/Qt5Widgets/
|
||||
%{libqt5_libdir}/pkgconfig/Qt5Widgets.pc
|
||||
%{libqt5_includedir}/QtWidgets/
|
||||
%{libqt5_libdir}/metatypes/qt5widgets_metatypes.json
|
||||
%exclude %{libqt5_includedir}/QtWidgets/%{so_version}
|
||||
|
||||
%files -n libQt5Gui5
|
||||
@ -1237,6 +1239,7 @@ chmod 644 %{buildroot}%{libqt5_docdir}/global/template/images/*.png
|
||||
%{libqt5_includedir}/QtGui/
|
||||
%{libqt5_includedir}/QtEglFSDeviceIntegration/
|
||||
%{libqt5_includedir}/QtXkbCommonSupport
|
||||
%{libqt5_libdir}/metatypes/qt5gui_metatypes.json
|
||||
%exclude %{libqt5_includedir}/QtGui/%{so_version}
|
||||
%exclude %{libqt5_includedir}/QtEglFSDeviceIntegration/%{so_version}
|
||||
%exclude %{libqt5_includedir}/QtXkbCommonSupport/%{so_version}
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d9d423a6e7bcf1055c0372fc029f14a6fe67dd62c67b83095cde68b60b762cf7
|
||||
size 49828188
|
3
qtbase-everywhere-src-5.15.0-alpha.tar.xz
Normal file
3
qtbase-everywhere-src-5.15.0-alpha.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7294f5f97ad3ee30dc3f1274375013772b103c69738c40db69d202de7938adec
|
||||
size 49873976
|
Loading…
Reference in New Issue
Block a user