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
                );
        }
Esempio n. 2
0
        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;
            }
        }