agsgetcrossfiregpucount

Agsgetcrossfiregpucount [FAST]

link_directories(${AGS_ROOT}/lib)

CrossFireInfo CrossFireDetector::GetCrossFireInfo() { CrossFireInfo info; info.isCrossFireEnabled = false; info.gpuCount = 0; info.isAMDPlatform = initialized;

initialized = true; return true; }

bool CrossFireDetector::Initialize() { // Initialize AGS AGSReturnCode result = agsInit(&agsContext, nullptr, &gpuInfo); if (result != AGS_SUCCESS) { initialized = false; return false; } agsgetcrossfiregpucount

// Get CrossFire GPU count directly int crossfireCount = detector.GetCrossFireGPUCout();

int CrossFireDetector::GetCrossFireGPUCout() { if (!initialized) { return 0; }

if (!detector.Initialize()) { std::cout << "Failed to initialize AMD AGS. Non-AMD system?" << std::endl; return -1; } info.isCrossFireEnabled = false

int crossfireGPUs = 0; // Core function: agsGetCrossfireGPUCount AGSReturnCode result = agsGetCrossfireGPUCount(agsContext, &crossfireGPUs); if (result != AGS_SUCCESS) { std::cerr << "Failed to get CrossFire GPU count. Error code: " << result << std::endl; return 0; }

CrossFireDetector::CrossFireDetector() : agsContext(nullptr), initialized(false) { ZeroMemory(&gpuInfo, sizeof(AGSGPUInfo)); }

// 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)); } } info.gpuCount = 0

struct CrossFireInfo { bool isCrossFireEnabled; int gpuCount; std::vector<std::string> gpuNames; bool isAMDPlatform; std::string errorMessage; };

// CrossFireGPUDetector.cpp #include "CrossFireGPUDetector.h" #include <iostream>

// Get CrossFire GPU count using agsGetCrossfireGPUCount int GetCrossFireGPUCout();

if (!initialized) { info.errorMessage = "AGS not initialized"; return info; }


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot

Powered by Yo vBulletin Torrent Tracker v.2.0


DISCLAIMER - ВНИМАНИЕ

Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!

Please don't upload copyrighted or illegal files! All logos and trademarks in this site are property of their respective owner.The comments are property of their posters, all the rest ©.

Время генерации страницы 0.05194 секунды с 17 запросами