1.1 --- a/Hardware/Nvidia/NvidiaGPU.cs Thu Aug 05 19:28:50 2010 +0000
1.2 +++ b/Hardware/Nvidia/NvidiaGPU.cs Sun Aug 08 13:57:26 2010 +0000
1.3 @@ -37,14 +37,12 @@
1.4
1.5 using System;
1.6 using System.Collections.Generic;
1.7 -using System.Drawing;
1.8 using System.Text;
1.9
1.10 namespace OpenHardwareMonitor.Hardware.Nvidia {
1.11 - public class NvidiaGPU : Hardware, IHardware {
1.12 + internal class NvidiaGPU : Hardware, IHardware {
1.13
1.14 private string name;
1.15 - private Image icon;
1.16 private int adapterIndex;
1.17 private NvPhysicalGpuHandle handle;
1.18 private NvDisplayHandle? displayHandle;
1.19 @@ -57,7 +55,7 @@
1.20 private Sensor memoryLoad;
1.21
1.22 public NvidiaGPU(int adapterIndex, NvPhysicalGpuHandle handle,
1.23 - NvDisplayHandle? displayHandle)
1.24 + NvDisplayHandle? displayHandle, ISettings settings)
1.25 {
1.26 string gpuName;
1.27 if (NVAPI.NvAPI_GPU_GetFullName(handle, out gpuName) == NvStatus.OK) {
1.28 @@ -65,15 +63,14 @@
1.29 } else {
1.30 this.name = "NVIDIA";
1.31 }
1.32 - this.icon = Utilities.EmbeddedResources.GetImage("nvidia.png");
1.33 this.adapterIndex = adapterIndex;
1.34 this.handle = handle;
1.35 this.displayHandle = displayHandle;
1.36
1.37 - NvGPUThermalSettings settings = GetThermalSettings();
1.38 - temperatures = new Sensor[settings.Count];
1.39 + NvGPUThermalSettings thermalSettings = GetThermalSettings();
1.40 + temperatures = new Sensor[thermalSettings.Count];
1.41 for (int i = 0; i < temperatures.Length; i++) {
1.42 - NvSensor sensor = settings.Sensor[i];
1.43 + NvSensor sensor = thermalSettings.Sensor[i];
1.44 string name;
1.45 switch (sensor.Target) {
1.46 case NvThermalTarget.BOARD: name = "GPU Board"; break;
1.47 @@ -83,8 +80,8 @@
1.48 case NvThermalTarget.UNKNOWN: name = "GPU Unknown"; break;
1.49 default: name = "GPU"; break;
1.50 }
1.51 - temperatures[i] = new Sensor(name, i, SensorType.Temperature, this,
1.52 - new ParameterDescription[0]);
1.53 + temperatures[i] = new Sensor(name, i, SensorType.Temperature, this,
1.54 + new ParameterDescription[0], settings);
1.55 ActivateSensor(temperatures[i]);
1.56 }
1.57
1.58 @@ -92,25 +89,25 @@
1.59 if (NVAPI.NvAPI_GPU_GetTachReading != null &&
1.60 NVAPI.NvAPI_GPU_GetTachReading(handle, out value) == NvStatus.OK) {
1.61 if (value > 0) {
1.62 - fan = new Sensor("GPU", 0, SensorType.Fan, this);
1.63 + fan = new Sensor("GPU", 0, SensorType.Fan, this, settings);
1.64 ActivateSensor(fan);
1.65 }
1.66 }
1.67
1.68 clocks = new Sensor[3];
1.69 - clocks[0] = new Sensor("GPU Core", 0, SensorType.Clock, this);
1.70 - clocks[1] = new Sensor("GPU Memory", 1, SensorType.Clock, this);
1.71 - clocks[2] = new Sensor("GPU Shader", 2, SensorType.Clock, this);
1.72 + clocks[0] = new Sensor("GPU Core", 0, SensorType.Clock, this, settings);
1.73 + clocks[1] = new Sensor("GPU Memory", 1, SensorType.Clock, this, settings);
1.74 + clocks[2] = new Sensor("GPU Shader", 2, SensorType.Clock, this, settings);
1.75 for (int i = 0; i < clocks.Length; i++)
1.76 ActivateSensor(clocks[i]);
1.77
1.78 loads = new Sensor[3];
1.79 - loads[0] = new Sensor("GPU Core", 0, SensorType.Load, this);
1.80 - loads[1] = new Sensor("GPU Memory Controller", 1, SensorType.Load, this);
1.81 - loads[2] = new Sensor("GPU Video Engine", 2, SensorType.Load, this);
1.82 - memoryLoad = new Sensor("GPU Memory", 3, SensorType.Load, this);
1.83 + loads[0] = new Sensor("GPU Core", 0, SensorType.Load, this, settings);
1.84 + loads[1] = new Sensor("GPU Memory Controller", 1, SensorType.Load, this, settings);
1.85 + loads[2] = new Sensor("GPU Video Engine", 2, SensorType.Load, this, settings);
1.86 + memoryLoad = new Sensor("GPU Memory", 3, SensorType.Load, this, settings);
1.87
1.88 - control = new Sensor("GPU Fan", 0, SensorType.Control, this);
1.89 + control = new Sensor("GPU Fan", 0, SensorType.Control, this, settings);
1.90 }
1.91
1.92 public override string Name {
1.93 @@ -121,8 +118,8 @@
1.94 get { return new Identifier("nvidiagpu", adapterIndex.ToString()); }
1.95 }
1.96
1.97 - public override Image Icon {
1.98 - get { return icon; }
1.99 + public override HardwareType HardwareType {
1.100 + get { return HardwareType.GPU; }
1.101 }
1.102
1.103 private NvGPUThermalSettings GetThermalSettings() {