add_executable(CrossFireDetector main.cpp CrossFireGPUDetector.cpp)
// Retrieve GPU names from gpuInfo for (int i = 0; i < gpuInfo.numDevices && i < AGS_MAX_GPUS; i++) { if (gpuInfo.devices[i].deviceName[0] != '\0') { info.gpuNames.push_back(std::string(gpuInfo.devices[i].deviceName)); } }
CrossFireDetector::CrossFireDetector() : agsContext(nullptr), initialized(false) { ZeroMemory(&gpuInfo, sizeof(AGSGPUInfo)); } agsgetcrossfiregpucount
if (!initialized) { info.errorMessage = "AGS not initialized"; return info; }
return crossfireGPUs; }
if (!detector.Initialize()) { std::cout << "Failed to initialize AMD AGS. Non-AMD system?" << std::endl; return -1; }
initialized = true; return true; }
if (info.gpuCount > 0) { std::cout << "Detected GPUs:" << std::endl; for (size_t i = 0; i < info.gpuNames.size(); i++) { std::cout << " GPU " << i << ": " << info.gpuNames[i] << std::endl; } }
class CrossFireDetector { public: CrossFireDetector(); ~CrossFireDetector(); add_executable(CrossFireDetector main