Extended the support for ADL (AMD Display Library) Overdrive8 GPU sensors.

This commit is contained in:
Michael Möller 2020-03-01 22:36:10 +01:00
parent ced93443b7
commit 122f626df6

View File

@ -22,19 +22,26 @@ namespace OpenHardwareMonitor.Hardware.ATI {
private readonly Sensor temperatureMemory; private readonly Sensor temperatureMemory;
private readonly Sensor temperatureVrmCore; private readonly Sensor temperatureVrmCore;
private readonly Sensor temperatureVrmMemory; private readonly Sensor temperatureVrmMemory;
private readonly Sensor temperatureVrmMemory0;
private readonly Sensor temperatureVrmMemory1;
private readonly Sensor temperatureLiquid; private readonly Sensor temperatureLiquid;
private readonly Sensor temperaturePlx; private readonly Sensor temperaturePlx;
private readonly Sensor temperatureHotSpot; private readonly Sensor temperatureHotSpot;
private readonly Sensor temperatureVrmSoc;
private readonly Sensor powerCore; private readonly Sensor powerCore;
private readonly Sensor powerPpt; private readonly Sensor powerPpt;
private readonly Sensor powerSocket; private readonly Sensor powerSocket;
private readonly Sensor powerTotal; private readonly Sensor powerTotal;
private readonly Sensor powerSoc;
private readonly Sensor fan; private readonly Sensor fan;
private readonly Sensor coreClock; private readonly Sensor coreClock;
private readonly Sensor memoryClock; private readonly Sensor memoryClock;
private readonly Sensor socClock;
private readonly Sensor coreVoltage; private readonly Sensor coreVoltage;
private readonly Sensor memoryVoltage; private readonly Sensor memoryVoltage;
private readonly Sensor socVoltage;
private readonly Sensor coreLoad; private readonly Sensor coreLoad;
private readonly Sensor memoryLoad;
private readonly Sensor controlSensor; private readonly Sensor controlSensor;
private readonly Control fanControl; private readonly Control fanControl;
@ -66,24 +73,38 @@ namespace OpenHardwareMonitor.Hardware.ATI {
new Sensor("GPU VRM Core", 2, SensorType.Temperature, this, settings); new Sensor("GPU VRM Core", 2, SensorType.Temperature, this, settings);
this.temperatureVrmMemory = this.temperatureVrmMemory =
new Sensor("GPU VRM Memory", 3, SensorType.Temperature, this, settings); new Sensor("GPU VRM Memory", 3, SensorType.Temperature, this, settings);
this.temperatureVrmMemory0 =
new Sensor("GPU VRM Memory #1", 4, SensorType.Temperature, this, settings);
this.temperatureVrmMemory1 =
new Sensor("GPU VRM Memory #2", 5, SensorType.Temperature, this, settings);
this.temperatureVrmSoc =
new Sensor("GPU VRM SOC", 6, SensorType.Temperature, this, settings);
this.temperatureLiquid = this.temperatureLiquid =
new Sensor("GPU Liquid", 4, SensorType.Temperature, this, settings); new Sensor("GPU Liquid", 7, SensorType.Temperature, this, settings);
this.temperaturePlx = this.temperaturePlx =
new Sensor("GPU PLX", 5, SensorType.Temperature, this, settings); new Sensor("GPU PLX", 8, SensorType.Temperature, this, settings);
this.temperatureHotSpot = this.temperatureHotSpot =
new Sensor("GPU Hot Spot", 6, SensorType.Temperature, this, settings); new Sensor("GPU Hot Spot", 9, SensorType.Temperature, this, settings);
this.powerTotal = new Sensor("GPU Total", 0, SensorType.Power, this, settings); this.powerTotal = new Sensor("GPU Total", 0, SensorType.Power, this, settings);
this.powerCore = new Sensor("GPU Core", 1, SensorType.Power, this, settings); this.powerCore = new Sensor("GPU Core", 1, SensorType.Power, this, settings);
this.powerPpt = new Sensor("GPU PPT", 2, SensorType.Power, this, settings); this.powerPpt = new Sensor("GPU PPT", 2, SensorType.Power, this, settings);
this.powerSocket = new Sensor("GPU Socket", 3, SensorType.Power, this, settings); this.powerSocket = new Sensor("GPU Socket", 3, SensorType.Power, this, settings);
this.powerSoc = new Sensor("GPU SOC", 4, SensorType.Power, this, settings);
this.fan = new Sensor("GPU Fan", 0, SensorType.Fan, this, settings); this.fan = new Sensor("GPU Fan", 0, SensorType.Fan, this, settings);
this.coreClock = new Sensor("GPU Core", 0, SensorType.Clock, this, settings); this.coreClock = new Sensor("GPU Core", 0, SensorType.Clock, this, settings);
this.memoryClock = new Sensor("GPU Memory", 1, SensorType.Clock, this, settings); this.memoryClock = new Sensor("GPU Memory", 1, SensorType.Clock, this, settings);
this.socClock = new Sensor("GPU SOC", 2, SensorType.Clock, this, settings);
this.coreVoltage = new Sensor("GPU Core", 0, SensorType.Voltage, this, settings); this.coreVoltage = new Sensor("GPU Core", 0, SensorType.Voltage, this, settings);
this.memoryVoltage = new Sensor("GPU Memory", 1, SensorType.Voltage, this, settings); this.memoryVoltage = new Sensor("GPU Memory", 1, SensorType.Voltage, this, settings);
this.socVoltage = new Sensor("GPU SOC", 2, SensorType.Voltage, this, settings);
this.coreLoad = new Sensor("GPU Core", 0, SensorType.Load, this, settings); this.coreLoad = new Sensor("GPU Core", 0, SensorType.Load, this, settings);
this.memoryLoad = new Sensor("GPU Memory", 1, SensorType.Load, this, settings);
this.controlSensor = new Sensor("GPU Fan", 0, SensorType.Control, this, settings); this.controlSensor = new Sensor("GPU Fan", 0, SensorType.Control, this, settings);
ADLFanSpeedInfo afsi = new ADLFanSpeedInfo(); ADLFanSpeedInfo afsi = new ADLFanSpeedInfo();
@ -275,17 +296,24 @@ namespace OpenHardwareMonitor.Hardware.ATI {
GetPMLog(data, ADLSensorType.TEMPERATURE_MEM, temperatureMemory); GetPMLog(data, ADLSensorType.TEMPERATURE_MEM, temperatureMemory);
GetPMLog(data, ADLSensorType.TEMPERATURE_VRVDDC, temperatureVrmCore); GetPMLog(data, ADLSensorType.TEMPERATURE_VRVDDC, temperatureVrmCore);
GetPMLog(data, ADLSensorType.TEMPERATURE_VRMVDD, temperatureVrmMemory); GetPMLog(data, ADLSensorType.TEMPERATURE_VRMVDD, temperatureVrmMemory);
GetPMLog(data, ADLSensorType.TEMPERATURE_VRMVDD0, temperatureVrmMemory0);
GetPMLog(data, ADLSensorType.TEMPERATURE_VRMVDD1, temperatureVrmMemory1);
GetPMLog(data, ADLSensorType.TEMPERATURE_VRSOC, temperatureVrmSoc);
GetPMLog(data, ADLSensorType.TEMPERATURE_LIQUID, temperatureLiquid); GetPMLog(data, ADLSensorType.TEMPERATURE_LIQUID, temperatureLiquid);
GetPMLog(data, ADLSensorType.TEMPERATURE_PLX, temperaturePlx); GetPMLog(data, ADLSensorType.TEMPERATURE_PLX, temperaturePlx);
GetPMLog(data, ADLSensorType.TEMPERATURE_HOTSPOT, temperatureHotSpot); GetPMLog(data, ADLSensorType.TEMPERATURE_HOTSPOT, temperatureHotSpot);
GetPMLog(data, ADLSensorType.GFX_POWER, powerCore); GetPMLog(data, ADLSensorType.GFX_POWER, powerCore);
GetPMLog(data, ADLSensorType.ASIC_POWER, powerTotal); GetPMLog(data, ADLSensorType.ASIC_POWER, powerTotal);
GetPMLog(data, ADLSensorType.SOC_POWER, powerSoc);
GetPMLog(data, ADLSensorType.FAN_RPM, fan); GetPMLog(data, ADLSensorType.FAN_RPM, fan);
GetPMLog(data, ADLSensorType.CLK_GFXCLK, coreClock); GetPMLog(data, ADLSensorType.CLK_GFXCLK, coreClock);
GetPMLog(data, ADLSensorType.CLK_MEMCLK, memoryClock); GetPMLog(data, ADLSensorType.CLK_MEMCLK, memoryClock);
GetPMLog(data, ADLSensorType.CLK_SOCCLK, socClock);
GetPMLog(data, ADLSensorType.GFX_VOLTAGE, coreVoltage, 0.001f); GetPMLog(data, ADLSensorType.GFX_VOLTAGE, coreVoltage, 0.001f);
GetPMLog(data, ADLSensorType.MEM_VOLTAGE, memoryVoltage, 0.001f); GetPMLog(data, ADLSensorType.MEM_VOLTAGE, memoryVoltage, 0.001f);
GetPMLog(data, ADLSensorType.SOC_VOLTAGE, socVoltage, 0.001f);
GetPMLog(data, ADLSensorType.INFO_ACTIVITY_GFX, coreLoad); GetPMLog(data, ADLSensorType.INFO_ACTIVITY_GFX, coreLoad);
GetPMLog(data, ADLSensorType.INFO_ACTIVITY_MEM, memoryLoad);
GetPMLog(data, ADLSensorType.FAN_PERCENTAGE, controlSensor); GetPMLog(data, ADLSensorType.FAN_PERCENTAGE, controlSensor);
} else { } else {
if (context != IntPtr.Zero && overdriveVersion >= 7) { if (context != IntPtr.Zero && overdriveVersion >= 7) {