void PStateAMD::GetCurrentPState(PStateStruct& state) { ADL_Overdrive5_CurrentActivity_Get(0, &m_activity); state.ID = m_activity.iCurrentPerformanceLevel; state.gpuClock = m_activity.iEngineClock * 10; state.memClock = m_activity.iMemoryClock * 10; state.shaderClock = state.gpuClock; state.coreVoltage = m_activity.iVddc; state.gpuUtil = m_activity.iActivityPercent; }
int hc_ADL_Overdrive_CurrentActivity_Get (HM_LIB hDLL, int iAdapterIndex, ADLPMActivity *lpActivity) { HC_ADL_OVERDRIVE5_CURRENTACTIVITY_GET ADL_Overdrive5_CurrentActivity_Get = (HC_ADL_OVERDRIVE5_CURRENTACTIVITY_GET) GetProcAddress (hDLL, "ADL_Overdrive5_CurrentActivity_Get"); if (ADL_Overdrive5_CurrentActivity_Get == NULL) { log_error ("ERROR: %s\n", "ADL_Overdrive5_CurrentActivity_Get() is missing"); exit (-1); } int ADL_rc = ADL_Overdrive5_CurrentActivity_Get (iAdapterIndex, lpActivity); if (ADL_rc != ADL_OK) { log_info ("WARN: %s: %d\n", "ADL_Overdrive5_CurrentActivity_Get()", ADL_rc); } return (ADL_rc); }
unsigned int PStateAMD::GetGPUUtil() { ADL_Overdrive5_CurrentActivity_Get(0, &m_activity); return m_activity.iActivityPercent; }
unsigned int PStateAMD::GetCurrentPStateID() { ADL_Overdrive5_CurrentActivity_Get(0, &m_activity); return m_activity.iCurrentPerformanceLevel; }