I'm currently analizing AMD ADL sdk and found very intresting function
int FindTController(const int iAdapter)
{
for (int i = 0; ; i++)
{
ADLThermalControllerInfo tcinfo;
tcinfo.iSize = sizeof(tcinfo);
if (ADL_OK == ADL_Overdrive5_ThermalDevices_Enum(iAdapter, i, &tcinfo))
{
if (tcinfo.iThermalDomain) // if GPU domain
return i;
//tcinfo.iDomainIndex;
//tcinfo.iFlags;
}
}
return 0;
}
I understand that this function is searching for responsive AMD GPU thermal device, but why its needed in functions such
void SetDefaultFanSpeed(const int iAdapter, const int iTController)
{
if (ADL_OK != ADL_Overdrive5_FanSpeedToDefault_Set(iAdapter, iTController))
{
fprintf(stderr, "Error: cannot set Fan Speed to default.\n");
}
}
int ADL_Overdrive5_FanSpeedToDefault_Set(int iAdapterIndex, int iThermalControllerIndex)
{
return Error = ((int (*)(int,int)) (mProcAddress[E_ADL_Overdrive5_FanSpeedToDefault_Set]))
(iAdapterIndex, iThermalControllerIndex);
}
Almost all amd ADL functions is using this FindTController function, is it really important or just snake oil?