From af495c2042b6c460580041fd0c39697c144e45f7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 6 Feb 2015 12:28:25 +0100 Subject: Windows: Use QVersionNumber in GPU driver version. Remove custom class. Task-number: QTBUG-43263 Change-Id: I3399f86bbbe287560917ccda00334e348ac7da4c Reviewed-by: Laszlo Agocs --- .../platforms/windows/qwindowsopengltester.cpp | 60 +++++----------------- .../platforms/windows/qwindowsopengltester.h | 30 +---------- 2 files changed, 14 insertions(+), 76 deletions(-) (limited to 'src/plugins/platforms/windows') diff --git a/src/plugins/platforms/windows/qwindowsopengltester.cpp b/src/plugins/platforms/windows/qwindowsopengltester.cpp index c9125e415f..12d45f432b 100644 --- a/src/plugins/platforms/windows/qwindowsopengltester.cpp +++ b/src/plugins/platforms/windows/qwindowsopengltester.cpp @@ -48,35 +48,6 @@ QT_BEGIN_NAMESPACE -QString GpuDriverVersion::toString() const -{ - return QString::number(product) - + QLatin1Char('.') + QString::number(version) - + QLatin1Char('.') + QString::number(subVersion) - + QLatin1Char('.') + QString::number(build); -} - -int GpuDriverVersion::compare(const GpuDriverVersion &rhs) const -{ - if (product < rhs.product) - return -1; - if (product > rhs.product) - return 1; - if (version < rhs.version) - return -1; - if (version > rhs.version) - return 1; - if (subVersion < rhs.subVersion) - return -1; - if (subVersion > rhs.subVersion) - return 1; - if (build < rhs.build) - return -1; - if (build > rhs.build) - return 1; - return 0; -} - GpuDescription GpuDescription::detect() { #ifndef Q_OS_WINCE @@ -100,32 +71,25 @@ GpuDescription GpuDescription::detect() result.deviceId = int(adapterIdentifier.DeviceId); result.revision = int(adapterIdentifier.Revision); result.subSysId = int(adapterIdentifier.SubSysId); - result.driverVersion.product = HIWORD(adapterIdentifier.DriverVersion.HighPart); - result.driverVersion.version = LOWORD(adapterIdentifier.DriverVersion.HighPart); - result.driverVersion.subVersion = HIWORD(adapterIdentifier.DriverVersion.LowPart); - result.driverVersion.build = LOWORD(adapterIdentifier.DriverVersion.LowPart); + QVector version(4, 0); + version[0] = HIWORD(adapterIdentifier.DriverVersion.HighPart); // Product + version[1] = LOWORD(adapterIdentifier.DriverVersion.HighPart); // Version + version[2] = HIWORD(adapterIdentifier.DriverVersion.LowPart); // Sub version + version[3] = LOWORD(adapterIdentifier.DriverVersion.LowPart); // build + result.driverVersion = QVersionNumber(version); result.driverName = adapterIdentifier.Driver; result.description = adapterIdentifier.Description; } return result; #else // !Q_OS_WINCE GpuDescription result; - result.vendorId = result.deviceId = result.revision - = result.driverVersion.product = result.driverVersion.version - = result.driverVersion.build = 1; + result.vendorId = result.deviceId = result.revision =1; + result.driverVersion = QVersionNumber(1, 1, 1); result.driverName = result.description = QByteArrayLiteral("Generic"); return result; #endif } -QDebug operator<<(QDebug d, const GpuDriverVersion &v) -{ - QDebugStateSaver s(d); - d.nospace(); - d << v.product << '.' << v.version << '.' << v.subVersion << '.' << v.build; - return d; -} - QDebug operator<<(QDebug d, const GpuDescription &gd) { QDebugStateSaver s(d); @@ -163,10 +127,10 @@ QVariant GpuDescription::toVariant() const result.insert(QStringLiteral("subSysId"),QVariant(subSysId)); result.insert(QStringLiteral("revision"), QVariant(revision)); result.insert(QStringLiteral("driver"), QVariant(QLatin1String(driverName))); - result.insert(QStringLiteral("driverProduct"), QVariant(driverVersion.product)); - result.insert(QStringLiteral("driverVersion"), QVariant(driverVersion.version)); - result.insert(QStringLiteral("driverSubVersion"), QVariant(driverVersion.subVersion)); - result.insert(QStringLiteral("driverBuild"), QVariant(driverVersion.build)); + result.insert(QStringLiteral("driverProduct"), QVariant(driverVersion.segmentAt(0))); + result.insert(QStringLiteral("driverVersion"), QVariant(driverVersion.segmentAt(1))); + result.insert(QStringLiteral("driverSubVersion"), QVariant(driverVersion.segmentAt(2))); + result.insert(QStringLiteral("driverBuild"), QVariant(driverVersion.segmentAt(3))); result.insert(QStringLiteral("driverVersionString"), driverVersion.toString()); result.insert(QStringLiteral("description"), QVariant(QLatin1String(description))); result.insert(QStringLiteral("printable"), QVariant(toString())); diff --git a/src/plugins/platforms/windows/qwindowsopengltester.h b/src/plugins/platforms/windows/qwindowsopengltester.h index 59091c3ccd..f58bf305fc 100644 --- a/src/plugins/platforms/windows/qwindowsopengltester.h +++ b/src/plugins/platforms/windows/qwindowsopengltester.h @@ -38,39 +38,13 @@ #include #include +#include QT_BEGIN_NAMESPACE class QDebug; class QVariant; -struct GpuDriverVersion // ### fixme: Use QVersionNumber in Qt 5.5? -{ - GpuDriverVersion(int p = 0, int v = 0, int sv =0, int b = 0) : product(p), version(v), subVersion(sv), build(b) {} - QString toString() const; - int compare(const GpuDriverVersion &rhs) const; - - int product; - int version; - int subVersion; - int build; -}; - -inline bool operator==(const GpuDriverVersion &v1, const GpuDriverVersion &v2) - { return !v1.compare(v2); } -inline bool operator!=(const GpuDriverVersion &v1, const GpuDriverVersion &v2) - { return v1.compare(v2); } -inline bool operator< (const GpuDriverVersion &v1, const GpuDriverVersion &v2) - { return v1.compare(v2) < 0; } -inline bool operator<=(const GpuDriverVersion &v1, const GpuDriverVersion &v2) - { return v1.compare(v2) <= 0; } -inline bool operator> (const GpuDriverVersion &v1, const GpuDriverVersion &v2) - { return v1.compare(v2) > 0; } -inline bool operator>=(const GpuDriverVersion &v1, const GpuDriverVersion &v2) - { return v1.compare(v2) >= 0; } - -QDebug operator<<(QDebug d, const GpuDriverVersion &gd); - struct GpuDescription { GpuDescription() : vendorId(0), deviceId(0), revision(0), subSysId(0) {} @@ -83,7 +57,7 @@ struct GpuDescription int deviceId; int revision; int subSysId; - GpuDriverVersion driverVersion; + QVersionNumber driverVersion; QByteArray driverName; QByteArray description; }; -- cgit v1.2.3