From 77f67833df8f22f4d30c1cdcb47cfc257ea35ec0 Mon Sep 17 00:00:00 2001 From: Krzysztof Bogacki Date: Sat, 25 Jun 2022 14:13:20 +0200 Subject: tests: Use macros to simplify finding functions --- tests/nvapi_system.cpp | 64 +++++++++++++++++++------------------------------- 1 file changed, 24 insertions(+), 40 deletions(-) diff --git a/tests/nvapi_system.cpp b/tests/nvapi_system.cpp index 5fedb0a..ca4daa9 100644 --- a/tests/nvapi_system.cpp +++ b/tests/nvapi_system.cpp @@ -6,26 +6,6 @@ #include "../inc/catch.hpp" typedef void* (*PFN_NvAPI_QueryInterface)(uint32_t id); -typedef decltype(&NvAPI_Initialize) PFN_NvAPI_Initialize; -typedef decltype(&NvAPI_Unload) PFN_NvAPI_Unload; -typedef decltype(&NvAPI_GetInterfaceVersionString) PFN_NvAPI_GetInterfaceVersionString; -typedef decltype(&NvAPI_SYS_GetDriverAndBranchVersion) PFN_NvAPI_SYS_GetDriverAndBranchVersion; -typedef decltype(&NvAPI_EnumPhysicalGPUs) PFN_NvAPI_EnumPhysicalGPUs; -typedef decltype(&NvAPI_GetGPUIDfromPhysicalGPU) PFN_NvAPI_GetGPUIDfromPhysicalGPU; -typedef decltype(&NvAPI_GPU_GetGPUType) PFN_NvAPI_GPU_GetGPUType; -typedef decltype(&NvAPI_GPU_GetPCIIdentifiers) PFN_NvAPI_GPU_GetPCIIdentifiers; -typedef decltype(&NvAPI_GPU_GetFullName) PFN_NvAPI_GPU_GetFullName; -typedef decltype(&NvAPI_GPU_GetBusId) PFN_NvAPI_GPU_GetBusId; -typedef decltype(&NvAPI_GPU_GetBusSlotId) PFN_NvAPI_GPU_GetBusSlotId; -typedef decltype(&NvAPI_GPU_GetPhysicalFrameBufferSize) PFN_NvAPI_GPU_GetPhysicalFrameBufferSize; -typedef decltype(&NvAPI_GPU_GetAdapterIdFromPhysicalGpu) PFN_NvAPI_GPU_GetAdapterIdFromPhysicalGpu; -typedef decltype(&NvAPI_GPU_GetArchInfo) PFN_NvAPI_GPU_GetArchInfo; -typedef decltype(&NvAPI_GPU_CudaEnumComputeCapableGpus) PFN_NvAPI_GPU_CudaEnumComputeCapableGpus; -typedef decltype(&NvAPI_GPU_GetVbiosVersionString) PFN_NvAPI_GPU_GetVbiosVersionString; -typedef decltype(&NvAPI_GPU_GetDynamicPstatesInfoEx) PFN_NvAPI_GPU_GetDynamicPstatesInfoEx; -typedef decltype(&NvAPI_GPU_GetThermalSettings) PFN_NvAPI_GPU_GetThermalSettings; -typedef decltype(&NvAPI_GPU_GetCurrentPstate) PFN_NvAPI_GPU_GetCurrentPstate; -typedef decltype(&NvAPI_GPU_GetAllClockFrequencies) PFN_NvAPI_GPU_GetAllClockFrequencies; template T GetNvAPIProcAddress(PFN_NvAPI_QueryInterface nvAPI_QueryInterface, const char* name) { @@ -99,26 +79,30 @@ TEST_CASE("Sysinfo methods succeed against local system", "[system]") { REQUIRE(nvAPI_QueryInterface); - auto nvAPI_Initialize = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_Initialize"); - auto nvAPI_Unload = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_Unload"); - auto nvAPI_GetInterfaceVersionString = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GetInterfaceVersionString"); - auto nvAPI_SYS_GetDriverAndBranchVersion = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_SYS_GetDriverAndBranchVersion"); - auto nvAPI_EnumPhysicalGPUs = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_EnumPhysicalGPUs"); - auto nvAPI_GetGPUIDfromPhysicalGPU = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GetGPUIDfromPhysicalGPU"); - auto nvAPI_GPU_GetGPUType = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetGPUType"); - auto nvAPI_GPU_GetPCIIdentifiers = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetPCIIdentifiers"); - auto nvAPI_GPU_GetFullName = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetFullName"); - auto nvAPI_GPU_GetBusId = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetBusId"); - auto nvAPI_GPU_GetBusSlotId = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetBusSlotId"); - auto nvAPI_GPU_GetPhysicalFrameBufferSize = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetPhysicalFrameBufferSize"); - auto nvAPI_GPU_GetAdapterIdFromPhysicalGpu = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetAdapterIdFromPhysicalGpu"); - auto nvAPI_GPU_GetArchInfo = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetArchInfo"); - auto nvAPI_GPU_CudaEnumComputeCapableGpus = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_CudaEnumComputeCapableGpus"); - auto nvAPI_GPU_GetVbiosVersionString = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetVbiosVersionString"); - auto nvAPI_GPU_GetDynamicPstatesInfoEx = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetDynamicPstatesInfoEx"); - auto nvAPI_GPU_GetThermalSettings = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetThermalSettings"); - auto nvAPI_GPU_GetCurrentPstate = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetCurrentPstate"); - auto nvAPI_GPU_GetAllClockFrequencies = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_GPU_GetAllClockFrequencies"); +#define GETNVAPIPROCADDR(x) auto nvAPI_##x = GetNvAPIProcAddress(nvAPI_QueryInterface, "NvAPI_" #x) + + GETNVAPIPROCADDR(Initialize); + GETNVAPIPROCADDR(Unload); + GETNVAPIPROCADDR(GetInterfaceVersionString); + GETNVAPIPROCADDR(SYS_GetDriverAndBranchVersion); + GETNVAPIPROCADDR(EnumPhysicalGPUs); + GETNVAPIPROCADDR(GetGPUIDfromPhysicalGPU); + GETNVAPIPROCADDR(GPU_GetGPUType); + GETNVAPIPROCADDR(GPU_GetPCIIdentifiers); + GETNVAPIPROCADDR(GPU_GetFullName); + GETNVAPIPROCADDR(GPU_GetBusId); + GETNVAPIPROCADDR(GPU_GetBusSlotId); + GETNVAPIPROCADDR(GPU_GetPhysicalFrameBufferSize); + GETNVAPIPROCADDR(GPU_GetAdapterIdFromPhysicalGpu); + GETNVAPIPROCADDR(GPU_GetArchInfo); + GETNVAPIPROCADDR(GPU_CudaEnumComputeCapableGpus); + GETNVAPIPROCADDR(GPU_GetVbiosVersionString); + GETNVAPIPROCADDR(GPU_GetDynamicPstatesInfoEx); + GETNVAPIPROCADDR(GPU_GetThermalSettings); + GETNVAPIPROCADDR(GPU_GetCurrentPstate); + GETNVAPIPROCADDR(GPU_GetAllClockFrequencies); + +#undef GETNVAPIPROCADDR REQUIRE(nvAPI_Initialize); REQUIRE(nvAPI_Unload); -- cgit v1.2.3