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;
}
示例#2
0
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;
}