| 736 | } |
| 737 | |
| 738 | NVAPI_INTERFACE |
| 739 | NvAPI_GPU_GetAdapterIdFromPhysicalGpu(NvPhysicalGpuHandle hPhysicalGpu, void *pOSAdapterId) { |
| 740 | if (!pOSAdapterId) |
| 741 | return NVAPI_INVALID_ARGUMENT; |
| 742 | |
| 743 | auto registry_id = uint64_t(hPhysicalGpu); |
| 744 | auto devices = WMT::CopyAllDevices(); |
| 745 | auto adapter_count = devices.count(); |
| 746 | if (adapter_count == 0) |
| 747 | return NVAPI_INVALID_ARGUMENT; |
| 748 | |
| 749 | WMT::Device target_device{}; |
| 750 | for (unsigned i = 0; i < adapter_count; i++) { |
| 751 | if (registry_id == devices.object(i).registryID()) { |
| 752 | target_device = devices.object(i); |
| 753 | break; |
| 754 | } |
| 755 | } |
| 756 | if (!target_device) |
| 757 | return NVAPI_INVALID_ARGUMENT; |
| 758 | |
| 759 | *reinterpret_cast<LUID *>(pOSAdapterId) = GetAdapterLuid(target_device); |
| 760 | return NVAPI_OK; |
| 761 | } |
| 762 | |
| 763 | NVAPI_INTERFACE |
| 764 | NvAPI_GPU_GetLogicalGpuInfo(NvLogicalGpuHandle hLogicalGpu, NV_LOGICAL_GPU_DATA *pLogicalGpuData) { |
nothing calls this directly
no test coverage detected