internal GPUPerformanceStateVoltage(IPerformanceStates20VoltageEntry states20BaseVoltageEntry) { VoltageDomain = states20BaseVoltageEntry.DomainId; IsReadOnly = !states20BaseVoltageEntry.IsEditable; CurrentVoltageInMicroVolt = states20BaseVoltageEntry.ValueInMicroVolt; VoltageDeltaInMicroVolt = states20BaseVoltageEntry.ValueDeltaInMicroVolt.DeltaValue; BaseVoltageInMicroVolt = (int)(CurrentVoltageInMicroVolt - VoltageDeltaInMicroVolt); VoltageDeltaRangeInMicroVolt = new GPUPerformanceStateValueRange( states20BaseVoltageEntry.ValueDeltaInMicroVolt.DeltaRange.Minimum, states20BaseVoltageEntry.ValueDeltaInMicroVolt.DeltaRange.Maximum ); }
internal GPUPerformanceStateClock(IPerformanceStates20ClockEntry states20ClockEntry) { ClockDomain = states20ClockEntry.DomainId; IsReadOnly = !states20ClockEntry.IsEditable; ClockDeltaInkHz = states20ClockEntry.FrequencyDeltaInkHz.DeltaValue; ClockDeltaRangeInkHz = new GPUPerformanceStateValueRange( states20ClockEntry.FrequencyDeltaInkHz.DeltaRange.Minimum, states20ClockEntry.FrequencyDeltaInkHz.DeltaRange.Maximum ); if (states20ClockEntry.ClockType == PerformanceStates20ClockType.Range) { CurrentClockInkHz = new GPUPerformanceStateValueRange( states20ClockEntry.FrequencyRange.MinimumFrequencyInkHz, states20ClockEntry.FrequencyRange.MaximumFrequencyInkHz ); BaseClockInkHz = new GPUPerformanceStateValueRange( CurrentClockInkHz.Minimum - ClockDeltaInkHz, CurrentClockInkHz.Maximum - ClockDeltaInkHz ); DependentVoltageDomain = states20ClockEntry.FrequencyRange.VoltageDomainId; DependentVoltageRangeInMicroVolt = new GPUPerformanceStateValueRange( states20ClockEntry.FrequencyRange.MinimumVoltageInMicroVolt, states20ClockEntry.FrequencyRange.MaximumVoltageInMicroVolt ); } else { CurrentClockInkHz = new GPUPerformanceStateValueRange( states20ClockEntry.SingleFrequency.FrequencyInkHz ); BaseClockInkHz = new GPUPerformanceStateValueRange( CurrentClockInkHz.Minimum - ClockDeltaInkHz ); DependentVoltageDomain = PerformanceVoltageDomain.Undefined; DependentVoltageRangeInMicroVolt = null; } }