Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jp7677/dxvk-nvapi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJens Peters <jp7677@gmail.com>2022-01-08 22:26:30 +0300
committerJens Peters <jp7677@gmail.com>2022-01-08 22:26:30 +0300
commitc0d1425f922aa995331db26596154d42ebe89aff (patch)
treee4067fa79dd70288a4f2ea032f172de9382853bc /tests
parent08731f374cb0471425977528f540852f692fe21c (diff)
tests: Use vulkaninfo-like LUID output
Also still show the Windows high-part/low-part presentation.
Diffstat (limited to 'tests')
-rw-r--r--tests/nvapi_system.cpp27
1 files changed, 18 insertions, 9 deletions
diff --git a/tests/nvapi_system.cpp b/tests/nvapi_system.cpp
index 9e6c509..0f5dffe 100644
--- a/tests/nvapi_system.cpp
+++ b/tests/nvapi_system.cpp
@@ -35,7 +35,7 @@ T GetNvAPIProcAddress(PFN_NvAPI_QueryInterface nvAPI_QueryInterface, const char*
return reinterpret_cast<T>(nvAPI_QueryInterface(it->id));
}
-std::string ToGpuType(NV_GPU_TYPE type) {
+static std::string ToGpuType(NV_GPU_TYPE type) {
switch (type) {
case NV_SYSTEM_TYPE_DGPU:
return "Discrete";
@@ -46,7 +46,7 @@ std::string ToGpuType(NV_GPU_TYPE type) {
}
}
-std::string ToGpuArchitecture(NV_GPU_ARCHITECTURE_ID id) {
+static std::string ToGpuArchitecture(NV_GPU_ARCHITECTURE_ID id) {
switch (id) {
case NV_GPU_ARCHITECTURE_GA100:
return "Ampere";
@@ -72,6 +72,18 @@ std::string ToGpuArchitecture(NV_GPU_ARCHITECTURE_ID id) {
}
}
+static std::string ToFormattedLuid(LUID& luid) {
+ auto uid = static_cast<uint8_t*>(static_cast<void*>(&luid));
+
+ std::stringstream ss;
+ ss << std::hex << std::setfill('0');
+ for (auto i = 0U; i < sizeof(luid); i++) {
+ if (i == 4) ss << '-';
+ ss << std::setw(2) << static_cast<unsigned>(uid[i]);
+ }
+ return ss.str();
+}
+
TEST_CASE("Sysinfo methods succeed against local system", "[system]") {
const auto nvapiModuleName = "nvapi64.dll";
auto nvapiModule = ::LoadLibraryA(nvapiModuleName);
@@ -147,14 +159,11 @@ TEST_CASE("Sysinfo methods succeed against local system", "[system]") {
LUID luid;
result = nvAPI_GPU_GetAdapterIdFromPhysicalGpu(handle, static_cast<void*>(&luid));
- std::cout << " LUID high part: ";
- result == NVAPI_OK
- ? std::cout << "0x" << std::setfill('0') << std::setw(8) << std::hex << luid.HighPart << std::endl
- : std::cout << "N/A" << std::endl;
-
- std::cout << " LUID low part: ";
+ std::cout << " Adapter ID/LUID: ";
result == NVAPI_OK
- ? std::cout << "0x" << std::setfill('0') << std::setw(8) << std::hex << luid.LowPart << std::endl
+ ? std::cout << ToFormattedLuid(luid) <<
+ " (" << "0x" << std::setfill('0') << std::setw(8) << std::hex << luid.HighPart <<
+ "/" << "0x" << std::setfill('0') << std::setw(8) << std::hex << luid.LowPart << ")" << std::endl
: std::cout << "N/A" << std::endl;
NV_GPU_ARCH_INFO archInfo;