Hardware/ATI/ATIGroup.cs
changeset 3 1a0928afac6b
parent 1 361e324a0ed4
child 6 56c9d6c8c08b
     1.1 --- a/Hardware/ATI/ATIGroup.cs	Wed Jan 27 18:12:51 2010 +0000
     1.2 +++ b/Hardware/ATI/ATIGroup.cs	Wed Jan 27 19:30:10 2010 +0000
     1.3 @@ -73,6 +73,16 @@
     1.4                  report.AppendLine(adapterInfo[i].AdapterName);     
     1.5                  report.Append("UDID: ");
     1.6                  report.AppendLine(adapterInfo[i].UDID);
     1.7 +                report.Append("Present: ");
     1.8 +                report.AppendLine(adapterInfo[i].Present.ToString());
     1.9 +                report.Append("VendorID: ");
    1.10 +                report.AppendLine(adapterInfo[i].VendorID.ToString());
    1.11 +                report.Append("BusNumber: ");
    1.12 +                report.AppendLine(adapterInfo[i].BusNumber.ToString());
    1.13 +                report.Append("DeviceNumber: ");
    1.14 +                report.AppendLine(adapterInfo[i].DeviceNumber.ToString());
    1.15 +                report.Append("FunctionNumber: ");
    1.16 +                report.AppendLine(adapterInfo[i].FunctionNumber.ToString());
    1.17                  report.AppendLine();
    1.18  
    1.19                  if (isActive == 1) {
    1.20 @@ -80,10 +90,25 @@
    1.21                    ADL.ADL_Adapter_ID_Get(adapterInfo[i].AdapterIndex,
    1.22                      out adapterID);
    1.23  
    1.24 -                  if (adapterID > 0 && adapterInfo[i].UDID != "") {
    1.25 -                    hardware.Add(new ATIGPU(
    1.26 -                      adapterInfo[i].AdapterName,
    1.27 -                      adapterInfo[i].AdapterIndex));
    1.28 +                  if (adapterID > 0 && 
    1.29 +                    adapterInfo[i].UDID != "" && 
    1.30 +                    adapterInfo[i].Present > 0 &&
    1.31 +                    (adapterInfo[i].VendorID == ADL.ATI_VENDOR_ID1 ||
    1.32 +                     adapterInfo[i].VendorID == ADL.ATI_VENDOR_ID2)) 
    1.33 +                  {
    1.34 +                    bool found = false;
    1.35 +                    foreach (ATIGPU gpu in hardware)
    1.36 +                      if (gpu.BusNumber == adapterInfo[i].BusNumber &&
    1.37 +                        gpu.DeviceNumber == adapterInfo[i].DeviceNumber) {
    1.38 +                        found = true;
    1.39 +                        break;
    1.40 +                      }
    1.41 +                    if (!found)
    1.42 +                      hardware.Add(new ATIGPU(
    1.43 +                        adapterInfo[i].AdapterName,
    1.44 +                        adapterInfo[i].AdapterIndex,
    1.45 +                        adapterInfo[i].BusNumber, 
    1.46 +                        adapterInfo[i].DeviceNumber));
    1.47                    }
    1.48                  }
    1.49                }