Windows: Use QVersionNumber in GPU driver version.

Remove custom class.

Task-number: QTBUG-43263
Change-Id: I3399f86bbbe287560917ccda00334e348ac7da4c
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
bb10
Friedemann Kleint 2015-02-06 12:28:25 +01:00
parent 1c4e2b02aa
commit af495c2042
2 changed files with 14 additions and 76 deletions

View File

@ -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<int> 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()));

View File

@ -38,39 +38,13 @@
#include <QtCore/QByteArray>
#include <QtCore/QFlags>
#include <private/qversionnumber_p.h>
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;
};