summaryrefslogtreecommitdiffstats
path: root/gfx/angle/checkout/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/angle/checkout/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp')
-rw-r--r--gfx/angle/checkout/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/gfx/angle/checkout/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp b/gfx/angle/checkout/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp
new file mode 100644
index 0000000000..1709f82868
--- /dev/null
+++ b/gfx/angle/checkout/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp
@@ -0,0 +1,26 @@
+//
+// Copyright 2020 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// driver_utils_d3d.cpp: Information specific to the D3D driver
+
+#include "libANGLE/renderer/d3d/driver_utils_d3d.h"
+
+namespace rx
+{
+
+std::string GetDriverVersionString(LARGE_INTEGER driverVersion)
+{
+ std::stringstream versionString;
+ uint64_t intVersion = driverVersion.QuadPart;
+ constexpr uint64_t kMask16 = std::numeric_limits<uint16_t>::max();
+ versionString << ((intVersion >> 48) & kMask16) << ".";
+ versionString << ((intVersion >> 32) & kMask16) << ".";
+ versionString << ((intVersion >> 16) & kMask16) << ".";
+ versionString << (intVersion & kMask16);
+ return versionString.str();
+}
+
+} // namespace rx