cancel
Showing results for 
Search instead for 
Did you mean: 

GPU Developer Tools

Adept I
Adept I

ADL questions.

I have a few questions regarding the ADL.

I have ported all of the ADL to Python and I am now in the process of creating an easy to use interface to access the settings and information the ADL provides. This interface is going to be a series of classes that represent groupings of ADL functions.

So there is a main class for the adapter. each adapter in the system will be represented by it's own adapter class instance.

through the adapter class instance a user will be able to get an array of connector class instances. each connector class instance represents a single physical connector on the adapter. From there a user can get an array of supported connector type class instances for each connector. What I am having trouble with is identifying what display is attached to what connector. I cannot seem to locate any function that makes this link.

I have tried ADL2_Adapter_BoardLayout_Get hoping that ADLConnectorInfo.iConnectorId might be something that can be used and I have not found a display function that would provide a matching integer. ADL2_Adapter_ConnectionState_Get can fetch the displayId if one is attached but that function always returns ADL_ERR_NOT_SUPPORTED.

The description of ADLConnectorInfo.iConnectorId is "used for display identification" and I am not sure how it is used for this purpose. I am also not sure why I am getting the not supported error, I am running the latest driver version. There are other functions that also kick back that they are not supported as well I do not remember what they are off the top of my head I would have to go and check. Also I am not sure as to why my video card does not support EDID management. It is an R7 so I would imagine that it is new enough to support EDID. I have tried to get available EDID data and it returns nothing.

any help would be appreciated.

Thanks

Kevin

0 Kudos
Reply
7 Replies
Staff
Staff

Re: ADL questions.

Thank you for the above ADL related queries queries. I'll forward these to the appropriate team.

Thanks.

0 Kudos
Reply
Staff
Staff

Re: ADL questions.

The ADL team has replied that, before using ADL2_Adapter_BoardLayout_Get, you should use ADL2_Adapter_EDIDManagement_Caps to check if the related adapter ID supports EDID. Please refer to this EDID sample for details:
display-library/Sample/EDIDSampleTool at master · GPUOpen-LibrariesAndSDKs/display-library · GitHub 

Thanks.

0 Kudos
Reply
Adept I
Adept I

Re: ADL questions.

what in the world would EDID have anything to do with the connectors on the board? That simply does not make a bit of sence.

There is something broken with the ADL2_Adapter_BoardLayout_Get function when loading the 32bit dll and calling the same function I get this as an error.

Procedure called with not enough arguments (2602576 bytes missing) or wrong calling convention

Now that is a whole lot of bytes to be off when passing parameters considering most of the parameters being pased are pointers. and calling the function using the 64bit dll it works fine.

Now the ADL2_Adapter_EDIDManagement_Caps always returns information telling me that there is no EDID support. However the ADL2_Adapter_BoardLayout_Get function works

however when i use the function ADL2_Display_DisplayInfo_Get I am not able to setermine if a display is connected every single display including stale unconnected displays get reported as being connected. so at that point i "wing it" and marry the display connector type to a type of connector on the adapter. I know this is a bad way to go about doing it but it is the only thing that seems to work at the moment for knowing what displays are physically connected to an adapter. I even get stale returned records even with the force a scan set to true when calling the function.

Also in that link you provided for the example it shows the use of ADL_Adapter_ConnectionState_Get. This function does not work either. In the example it does not show having to call  ADL2_Adapter_EDIDManagement_Caps before calling ADL_Adapter_ConnectionState_Get

I am also getting an error code of -100 for the function ADL2_Overdrive5_ThermalDevices_Enum . I do not know what this error is as it is not defined in the ADL

 

I am getting this error for the the following functions.

Generic Error. Most likely one or more of the Escape calls to the driver failed! (-1)

ADL2_Adapter_Crossfire_Caps

ADL2_Adapter_Crossfire_Get

ADL2_Adapter_EDC_ErrorRecords_Get

ADL2_Display_SupportedPixelFormat_Get

ADL2_Display_PixelFormat_Get

ADL2_Display_DisplayContent_Cap

ADL2_Display_FilterSVideo_Get

ADL2_Display_Overscan_Get

ADL2_Display_UnderscanSupport_Get

ADL2_Display_Underscan_Get

ADL2_Display_Position_Get

ADL2_Display_Size_Get

There are issues with the examples provided in the display library repo. They do not compile. I spent quite a bit of time updating the examples so they now do work. I have submitted a PR which has gone unanswered.

The only thing that seems to be getting done with that repo are version bumps when nothing is changing. This is a bad practice. the SDK should be identical to what is available in the ADL. As such the functions listed below are apart of the ADL but there is no information on them in the SDK

If there is a way you could get me the description, parameter types and descriptions and also if a passed parameter is an ADL structure or enumeration of some kind then I am going to need all of the information on those as well. including field names and data types as well as a description of each field.

As you will notice by the sheer size of this list of undocumented functions the display library SDK has not been updated in a long long time This list only contains the functions that are not in the SDK. If you get me the information I will update the display library SDK and get the information into it.

ADL2_ADC_CurrentProfileFromDrv_Get
ADL2_ADC_Display_AdapterDeviceProfileEx_Get
ADL2_ADC_DrvDataToProfile_Copy
ADL2_ADC_FindClosestMode_Get
ADL2_ADC_IsDevModeEqual_Get
ADL2_ADC_Profile_Apply
ADL2_APO_AudioDelayAdjustmentInfo_Get
ADL2_APO_AudioDelay_Restore
ADL2_APO_AudioDelay_Set
ADL2_AdapterLimitation_Caps
ADL2_Adapter_ASICInfo_Get
ADL2_Adapter_AceDefaults_Restore
ADL2_Adapter_AdapterInfoX3_Get
ADL2_Adapter_AdapterInfoX4_Get
ADL2_Adapter_AdapterList_Disable
ADL2_Adapter_AdapterLocationPath_Get
ADL2_Adapter_AudioChannelSplitConfiguration_Get
ADL2_Adapter_AudioChannelSplit_Disable
ADL2_Adapter_AudioChannelSplit_Enable
ADL2_Adapter_BigSw_Info_Get
ADL2_Adapter_BlackAndWhiteLevelSupport_Get
ADL2_Adapter_BlackAndWhiteLevel_Get
ADL2_Adapter_BlackAndWhiteLevel_Set
ADL2_Adapter_Caps
ADL2_Adapter_ChipSetInfo_Get
ADL2_Adapter_ConfigMemory_Cap
ADL2_Adapter_ConfigureState_Get
ADL2_Adapter_CrossfireX2_Get
ADL2_Adapter_DefaultAudioChannelTable_Load
ADL2_Adapter_Desktop_Caps
ADL2_Adapter_Desktop_SupportedSLSGridTypes_Get
ADL2_Adapter_DeviceID_Get
ADL2_Adapter_DisplayAudioEndpoint_Enable
ADL2_Adapter_DisplayAudioEndpoint_Mute
ADL2_Adapter_DisplayAudioInfo_Get
ADL2_Adapter_DisplayGTCCaps_Get
ADL2_Adapter_DriverSettings_Get
ADL2_Adapter_DriverSettings_Set
ADL2_Adapter_ECC_ErrorInjection_Set
ADL2_Adapter_ECC_ErrorRecords_Get
ADL2_Adapter_ExtInfo_Get
ADL2_Adapter_Feature_Caps
ADL2_Adapter_FrameMetrics_Caps
ADL2_Adapter_FrameMetrics_FrameDuration_Disable
ADL2_Adapter_FrameMetrics_FrameDuration_Enable
ADL2_Adapter_FrameMetrics_FrameDuration_Get
ADL2_Adapter_FrameMetrics_FrameDuration_Start
ADL2_Adapter_FrameMetrics_FrameDuration_Stop
ADL2_Adapter_FrameMetrics_Get
ADL2_Adapter_FrameMetrics_Start
ADL2_Adapter_FrameMetrics_Stop
ADL2_Adapter_Gamma_Get
ADL2_Adapter_Gamma_Set
ADL2_Adapter_HBC_Caps
ADL2_Adapter_HBM_ECC_UC_Check
ADL2_Adapter_Headless_Get
ADL2_Adapter_IsGamingDriver_Info_Get
ADL2_Adapter_LocalDisplayConfig_Get
ADL2_Adapter_LocalDisplayConfig_Set
ADL2_Adapter_LocalDisplayState_Get
ADL2_Adapter_MaxCursorSize_Get
ADL2_Adapter_MemoryInfo2_Get
ADL2_Adapter_MirabilisSupport_Get
ADL2_Adapter_Modes_ReEnumerate
ADL2_Adapter_PreFlipPostProcessing_Disable
ADL2_Adapter_PreFlipPostProcessing_Enable
ADL2_Adapter_PreFlipPostProcessing_Get_Status
ADL2_Adapter_PreFlipPostProcessing_Select_LUT_Algorithm
ADL2_Adapter_PreFlipPostProcessing_Select_LUT_Buffer
ADL2_Adapter_PreFlipPostProcessing_Unselect_LUT_Buffer
ADL2_Adapter_RAS_ErrorInjection_Set
ADL2_Adapter_RegValueInt_Get
ADL2_Adapter_RegValueInt_Set
ADL2_Adapter_SWInfo_Get
ADL2_Adapter_TRNG_Get
ADL2_Adapter_VRAMUsage_Get
ADL2_Adapter_VariBrightEnable_Set
ADL2_Adapter_VariBrightLevel_Get
ADL2_Adapter_VariBrightLevel_Set
ADL2_Adapter_VariBright_Caps
ADL2_Adapter_VerndorID_Int_get
ADL2_Adapter_VideoTheaterModeInfo_Get
ADL2_Adapter_VideoTheaterModeInfo_Set
ADL2_Adapter_XConnectSupport_Get
ADL2_ApplicationProfilesX2_AppInterceptionList_Set
ADL2_ApplicationProfilesX2_AppStartStopInfo_Get
ADL2_ApplicationProfiles_AppInterceptionList_Set
ADL2_ApplicationProfiles_AppInterception_Set
ADL2_ApplicationProfiles_AppStartStopInfo_Get
ADL2_ApplicationProfiles_AppStartStop_Resume
ADL2_ApplicationProfiles_Applications_Get
ADL2_ApplicationProfiles_ConvertToCompact
ADL2_ApplicationProfiles_DriverAreaPrivacy_Get
ADL2_ApplicationProfiles_GetCustomization
ADL2_ApplicationProfiles_ProfileApplicationX2_Assign
ADL2_ApplicationProfiles_ProfileApplication_Assign
ADL2_ApplicationProfiles_ProfileOfAnApplicationX2_Search
ADL2_ApplicationProfiles_ProfileOfAnApplication_InMemorySearch
ADL2_ApplicationProfiles_Profile_Create
ADL2_ApplicationProfiles_Profile_Exist
ADL2_ApplicationProfiles_Profile_Remove
ADL2_ApplicationProfiles_PropertyType_Get
ADL2_ApplicationProfiles_Release_Get
ADL2_ApplicationProfiles_RemoveApplication
ADL2_ApplicationProfiles_StatusInfo_Get
ADL2_Audio_CurrentSampleRate_Get
ADL2_Blockchain_BlockchainMode_Caps
ADL2_Blockchain_BlockchainMode_Get
ADL2_Blockchain_BlockchainMode_Set
ADL2_Blockchain_Hashrate_Set
ADL2_Chill_Caps_Get
ADL2_Chill_Settings_Get
ADL2_Chill_Settings_Notify
ADL2_Chill_Settings_Set
ADL2_DVRSupport_Get
ADL2_Desktop_DOPP_Enable
ADL2_Desktop_DOPP_EnableX2
ADL2_Desktop_Detach
ADL2_Desktop_Device_Create
ADL2_Desktop_Device_Destroy
ADL2_Desktop_ExclusiveModeX2_Get
ADL2_Desktop_HardwareCursor_SetBitmap
ADL2_Desktop_HardwareCursor_SetPosition
ADL2_Desktop_HardwareCursor_Toggle
ADL2_Desktop_PFPAComplete_Set
ADL2_Desktop_PFPAState_Get
ADL2_Desktop_PrimaryInfo_Get
ADL2_Desktop_TextureState_Get
ADL2_Desktop_Texture_Enable
ADL2_DisplayScaling_Set
ADL2_Display_AudioMappingInfo_Get
ADL2_Display_AvivoColor_Get
ADL2_Display_AvivoCurrentColor_Set
ADL2_Display_AvivoDefaultColor_Set
ADL2_Display_BackLight_Get
ADL2_Display_BackLight_Set
ADL2_Display_ContainerID_Get
ADL2_Display_DisplayMapConfigX2_Set
ADL2_Display_DpMstAuxMsg_Get
ADL2_Display_DummyVirtual_Destroy
ADL2_Display_DummyVirtual_Get
ADL2_Display_EdidData_Set
ADL2_Display_EnumDisplays_Get
ADL2_Display_GamutMapping_Get
ADL2_Display_GamutMapping_Reset
ADL2_Display_GamutMapping_Set
ADL2_Display_Gamut_Caps
ADL2_Display_Gamut_Get
ADL2_Display_Gamut_Set
ADL2_Display_HDCP_Get
ADL2_Display_HDCP_Set
ADL2_Display_HDRState_Get
ADL2_Display_HDRState_Set
ADL2_Display_InfoPacket_Get
ADL2_Display_InfoPacket_Set
ADL2_Display_IsVirtual_Get
ADL2_Display_LCDRefreshRateCapability_Get
ADL2_Display_LCDRefreshRateOptions_Get
ADL2_Display_LCDRefreshRateOptions_Set
ADL2_Display_LCDRefreshRate_Get
ADL2_Display_LCDRefreshRate_Set
ADL2_Display_Limits_Get
ADL2_Display_ModeTimingOverrideInfo_Get
ADL2_Display_ModeTimingOverrideListX3_Get
ADL2_Display_ModeTimingOverrideX2_Set
ADL2_Display_ModeTimingOverrideX3_Get
ADL2_Display_Modes_X2_Get
ADL2_Display_MonitorPowerState_Set
ADL2_Display_NativeAUXChannel_Access
ADL2_Display_NeedWorkaroundFor5Clone_Get
ADL2_Display_Overlap_NotifyAdjustment
ADL2_Display_PowerXpressActvieGPUR2_Get
ADL2_Display_PreferredMode_Get
ADL2_Display_RcDisplayAdjustment
ADL2_Display_ReGammaCoefficients_Get
ADL2_Display_ReGammaCoefficients_Set
ADL2_Display_RegammaR1_Get
ADL2_Display_RegammaR1_Set
ADL2_Display_Regamma_Get
ADL2_Display_Regamma_Set
ADL2_Display_SLSBuilder_CommonMode_Get
ADL2_Display_SLSBuilder_Create
ADL2_Display_SLSBuilder_DisplaysCanBeNextCandidateInSLS_Get
ADL2_Display_SLSBuilder_DisplaysCanBeNextCandidateToEnabled_Get
ADL2_Display_SLSBuilder_Get
ADL2_Display_SLSBuilder_IsActive_Notify
ADL2_Display_SLSBuilder_MaxSLSLayoutSize_Get
ADL2_Display_SLSBuilder_TimeOut_Get
ADL2_Display_SLSBuilder_Update
ADL2_Display_SLSMapConfig_ImageCropType_Set
ADL2_Display_SLSMapConfig_SupportedImageCropType_Get
ADL2_Display_SLSMapConfig_Valid
ADL2_Display_Sharpness_Caps
ADL2_Display_Sharpness_Get
ADL2_Display_Sharpness_Info_Get
ADL2_Display_Sharpness_Set
ADL2_Display_SourceContentAttribute_Get
ADL2_Display_SourceContentAttribute_Set
ADL2_Display_SplitDisplay_Caps
ADL2_Display_SplitDisplay_Get
ADL2_Display_SplitDisplay_RestoreDesktopConfiguration
ADL2_Display_SplitDisplay_Set
ADL2_Display_TargetTimingX2_Get
ADL2_Display_Vector_Get
ADL2_Display_VirtualType_Get
ADL2_Display_WriteAndReadI2CLargePayload
ADL2_ElmCompatibilityMode_Caps
ADL2_ElmCompatibilityMode_Status_Get
ADL2_ElmCompatibilityMode_Status_Set
ADL2_ExclusiveModeGet
ADL2_Feature_Settings_Get
ADL2_Feature_Settings_Set
ADL2_GPUVMPageSize_Info_Get
ADL2_GPUVMPageSize_Info_Set
ADL2_GPUVerInfo_Get
ADL2_GcnAsicInfo_Get
ADL2_Graphics_IsDetachableGraphicsPlatform_Get
ADL2_Graphics_IsGfx9AndAbove
ADL2_Graphics_MantleVersion_Get
ADL2_Graphics_VulkanVersion_Get
ADL2_HybridGraphicsGPU_Set
ADL2_MGPUSLS_Status_Set
ADL2_MMD_FeatureList_Get
ADL2_MMD_FeatureValuesX2_Get
ADL2_MMD_FeatureValuesX2_Set
ADL2_MMD_FeatureValues_Get
ADL2_MMD_FeatureValues_Set
ADL2_MMD_FeaturesX2_Caps
ADL2_MMD_Features_Caps
ADL2_MMD_VideoAdjustInfo_Get
ADL2_MMD_VideoAdjustInfo_Set
ADL2_MMD_VideoColor_Caps
ADL2_MMD_VideoColor_Get
ADL2_MMD_VideoColor_Set
ADL2_MMD_Video_Caps
ADL2_Main_Control_GetProcAddress
ADL2_Main_Control_IsFunctionValid
ADL2_Main_LogDebug_Set
ADL2_Main_LogError_Set
ADL2_Overdrive5_PowerControlAbsValue_Caps
ADL2_Overdrive5_PowerControlAbsValue_Get
ADL2_Overdrive5_PowerControlAbsValue_Set
ADL2_Overdrive6_ControlI2C
ADL2_Overdrive6_FuzzyController_Caps
ADL2_Overdrive6_MaxClockAdjust_Get
ADL2_Overdrive6_PowerControlInfo_Get_X2
ADL2_Overdrive6_TemperatureEx_Get
ADL2_OverdriveN_AutoWattman_Caps
ADL2_OverdriveN_AutoWattman_Get
ADL2_OverdriveN_AutoWattman_Set
ADL2_OverdriveN_CountOfEvents_Get
ADL2_OverdriveN_SCLKAutoOverClock_Get
ADL2_OverdriveN_SCLKAutoOverClock_Set
ADL2_OverdriveN_Test_Set
ADL2_OverdriveN_ThrottleNotification_Get
ADL2_PPLogSettings_Get
ADL2_PPLogSettings_Set
ADL2_PPW_Caps
ADL2_PPW_Status_Get
ADL2_PPW_Status_Set
ADL2_PageMigration_Settings_Get
ADL2_PageMigration_Settings_Set
ADL2_PerGPU_GDEvent_Register
ADL2_PerGPU_GDEvent_UnRegister
ADL2_PerfTuning_Status_Get
ADL2_PerfTuning_Status_Set
ADL2_PerformanceTuning_Caps
ADL2_PowerStates_Get
ADL2_PowerXpress_Configuration_Get
ADL2_PowerXpress_ExtendedBatteryMode_Caps
ADL2_PowerXpress_ExtendedBatteryMode_Get
ADL2_PowerXpress_ExtendedBatteryMode_Set
ADL2_PowerXpress_LongIdleDetect_Get
ADL2_PowerXpress_LongIdleDetect_Set
ADL2_PowerXpress_PowerControlMode_Get
ADL2_PowerXpress_PowerControlMode_Set
ADL2_RegisterEvent
ADL2_RegisterEventX2
ADL2_Remap
ADL2_RemoteDisplay_Destroy
ADL2_RemoteDisplay_Display_Acquire
ADL2_RemoteDisplay_Display_Release
ADL2_RemoteDisplay_Display_Release_All
ADL2_RemoteDisplay_Hdcp20_Create
ADL2_RemoteDisplay_Hdcp20_Destroy
ADL2_RemoteDisplay_Hdcp20_Notify
ADL2_RemoteDisplay_Hdcp20_Process
ADL2_RemoteDisplay_IEPort_Set
ADL2_RemoteDisplay_Initialize
ADL2_RemoteDisplay_Nofitiation_Register
ADL2_RemoteDisplay_Notification_UnRegister
ADL2_RemoteDisplay_Support_Caps
ADL2_RemoteDisplay_VirtualWirelessAdapter_InUse_Get
ADL2_RemoteDisplay_VirtualWirelessAdapter_Info_Get
ADL2_RemoteDisplay_VirtualWirelessAdapter_RadioState_Get
ADL2_RemoteDisplay_VirtualWirelessAdapter_WPSSetting_Change
ADL2_RemoteDisplay_VirtualWirelessAdapter_WPSSetting_Get
ADL2_RemoteDisplay_WFDDeviceInfo_Get
ADL2_RemoteDisplay_WFDDeviceName_Change
ADL2_RemoteDisplay_WFDDevice_StatusInfo_Get
ADL2_RemoteDisplay_WFDDiscover_Start
ADL2_RemoteDisplay_WFDDiscover_Stop
ADL2_RemoteDisplay_WFDLink_Connect
ADL2_RemoteDisplay_WFDLink_Creation_Accept
ADL2_RemoteDisplay_WFDLink_Disconnect
ADL2_RemoteDisplay_WFDLink_WPS_Process
ADL2_RemoteDisplay_WFDWDSPSettings_Set
ADL2_RemoteDisplay_WirelessDisplayEnableDisable_Commit
ADL2_RemotePlay_ControlFlags_Set
ADL2_ScreenPoint_AudioMappingInfo_Get
ADL2_Send
ADL2_SendX2
ADL2_Stereo3D_2DPackedFormat_Set
ADL2_Stereo3D_3DCursorOffset_Get
ADL2_Stereo3D_3DCursorOffset_Set
ADL2_Stereo3D_CurrentFormat_Get
ADL2_Stereo3D_Info_Get
ADL2_Stereo3D_Modes_Get
ADL2_TurboSyncSupport_Get
ADL2_UnRegisterEvent
ADL2_UnRegisterEventX2
ADL2_User_Settings_Notify
ADL2_WS_Overdrive_Caps
ADL2_Win_IsHybridAI
ADL2_Workstation_8BitGrayscale_Get
ADL2_Workstation_8BitGrayscale_Set
ADL2_Workstation_DeepBitDepthX2_Get
ADL2_Workstation_DeepBitDepthX2_Set
ADL2_Workstation_GLSyncCounters_Get
ADL2_Workstation_RAS_ErrorCounts_Get
ADL2_Workstation_RAS_ErrorCounts_Reset
ADL2_Workstation_SDISegmentList_Get
ADL2_Workstation_SDI_Caps
ADL2_Workstation_SDI_Get
ADL2_Workstation_SDI_Set
ADL2_Workstation_UnsupportedDisplayModes_Enable
ADL_ADC_CurrentProfileFromDrv_Get
ADL_ADC_Display_AdapterDeviceProfileEx_Get
ADL_ADC_DrvDataToProfile_Copy
ADL_ADC_FindClosestMode_Get
ADL_ADC_IsDevModeEqual_Get
ADL_ADC_Profile_Apply
ADL_APO_AudioDelayAdjustmentInfo_Get
ADL_APO_AudioDelay_Restore
ADL_APO_AudioDelay_Set
ADL_AdapterLimitation_Caps
ADL_Adapter_ASICInfo_Get
ADL_Adapter_AdapterList_Disable
ADL_Adapter_AudioChannelSplitConfiguration_Get
ADL_Adapter_AudioChannelSplit_Disable
ADL_Adapter_AudioChannelSplit_Enable
ADL_Adapter_BigSw_Info_Get
ADL_Adapter_BlackAndWhiteLevelSupport_Get
ADL_Adapter_BlackAndWhiteLevel_Get
ADL_Adapter_BlackAndWhiteLevel_Set
ADL_Adapter_Caps
ADL_Adapter_ChipSetInfo_Get
ADL_Adapter_ConfigMemory_Cap
ADL_Adapter_ConfigureState_Get
ADL_Adapter_CrossfireX2_Get
ADL_Adapter_DefaultAudioChannelTable_Load
ADL_Adapter_DisplayAudioEndpoint_Enable
ADL_Adapter_DisplayAudioEndpoint_Mute
ADL_Adapter_DisplayAudioInfo_Get
ADL_Adapter_DisplayGTCCaps_Get
ADL_Adapter_DriverSettings_Get
ADL_Adapter_DriverSettings_Set
ADL_Adapter_ExtInfo_Get
ADL_Adapter_Gamma_Get
ADL_Adapter_Gamma_Set
ADL_Adapter_LocalDisplayConfig_Get
ADL_Adapter_LocalDisplayConfig_Set
ADL_Adapter_LocalDisplayState_Get
ADL_Adapter_MaxCursorSize_Get
ADL_Adapter_MemoryInfo2_Get
ADL_Adapter_MirabilisSupport_Get
ADL_Adapter_Modes_ReEnumerate
ADL_Adapter_ObservedGameClockInfo_Get
ADL_Adapter_RegValueInt_Get
ADL_Adapter_RegValueInt_Set
ADL_Adapter_SWInfo_Get
ADL_Adapter_Tear_Free_Cap
ADL_Adapter_VariBrightEnable_Set
ADL_Adapter_VariBrightLevel_Get
ADL_Adapter_VariBrightLevel_Set
ADL_Adapter_VariBright_Caps
ADL_Adapter_VideoTheaterModeInfo_Get
ADL_Adapter_VideoTheaterModeInfo_Set
ADL_ApplicationProfiles_Applications_Get
ADL_ApplicationProfiles_ConvertToCompact
ADL_ApplicationProfiles_DriverAreaPrivacy_Get
ADL_ApplicationProfiles_GetCustomization
ADL_ApplicationProfiles_ProfileApplicationX2_Assign
ADL_ApplicationProfiles_ProfileApplication_Assign
ADL_ApplicationProfiles_ProfileOfAnApplicationX2_Search
ADL_ApplicationProfiles_ProfileOfAnApplication_InMemorySearch
ADL_ApplicationProfiles_Profile_Create
ADL_ApplicationProfiles_Profile_Exist
ADL_ApplicationProfiles_Profile_Remove
ADL_ApplicationProfiles_PropertyType_Get
ADL_ApplicationProfiles_Release_Get
ADL_ApplicationProfiles_RemoveApplication
ADL_ApplicationProfiles_StatusInfo_Get
ADL_Audio_CurrentSampleRate_Get
ADL_DisplayScaling_Set
ADL_Display_AudioMappingInfo_Get
ADL_Display_AvivoColor_Get
ADL_Display_AvivoCurrentColor_Set
ADL_Display_AvivoDefaultColor_Set
ADL_Display_BackLight_Get
ADL_Display_BackLight_Set
ADL_Display_ContainerID_Get
ADL_Display_CurrentPixelClock_Get
ADL_Display_EdidData_Set
ADL_Display_EnumDisplays_Get
ADL_Display_GamutMapping_Get
ADL_Display_GamutMapping_Reset
ADL_Display_GamutMapping_Set
ADL_Display_Gamut_Caps
ADL_Display_Gamut_Get
ADL_Display_Gamut_Set
ADL_Display_InfoPacket_Get
ADL_Display_InfoPacket_Set
ADL_Display_LCDRefreshRateCapability_Get
ADL_Display_LCDRefreshRateOptions_Get
ADL_Display_LCDRefreshRateOptions_Set
ADL_Display_LCDRefreshRate_Get
ADL_Display_LCDRefreshRate_Set
ADL_Display_Limits_Get
ADL_Display_ModeTimingOverrideInfo_Get
ADL_Display_MonitorPowerState_Set
ADL_Display_NativeAUXChannel_Access
ADL_Display_NeedWorkaroundFor5Clone_Get
ADL_Display_PixelClockAllowableRange_Set
ADL_Display_PixelClockCaps_Get
ADL_Display_PowerXpressActvieGPUR2_Get
ADL_Display_RcDisplayAdjustment
ADL_Display_ReGammaCoefficients_Get
ADL_Display_ReGammaCoefficients_Set
ADL_Display_RegammaR1_Get
ADL_Display_RegammaR1_Set
ADL_Display_Regamma_Get
ADL_Display_Regamma_Set
ADL_Display_Sharpness_Caps
ADL_Display_Sharpness_Get
ADL_Display_Sharpness_Info_Get
ADL_Display_Sharpness_Set
ADL_Display_SourceContentAttribute_Get
ADL_Display_SourceContentAttribute_Set
ADL_Display_SplitDisplay_Caps
ADL_Display_SplitDisplay_Get
ADL_Display_SplitDisplay_RestoreDesktopConfiguration
ADL_Display_SplitDisplay_Set
ADL_Display_Vector_Get
ADL_Display_WriteAndReadI2CLargePayload
ADL_MMD_FeatureList_Get
ADL_MMD_FeatureValuesX2_Get
ADL_MMD_FeatureValuesX2_Set
ADL_MMD_FeatureValues_Get
ADL_MMD_FeatureValues_Set
ADL_MMD_FeaturesX2_Caps
ADL_MMD_Features_Caps
ADL_MMD_VideoAdjustInfo_Get
ADL_MMD_VideoAdjustInfo_Set
ADL_MMD_VideoColor_Caps
ADL_MMD_VideoColor_Get
ADL_MMD_VideoColor_Set
ADL_MMD_Video_Caps
ADL_Main_Control_GetProcAddress
ADL_Main_Control_IsFunctionValid
ADL_Main_LogDebug_Set
ADL_Main_LogError_Set
ADL_Overdrive5_PowerControlAbsValue_Caps
ADL_Overdrive5_PowerControlAbsValue_Get
ADL_Overdrive5_PowerControlAbsValue_Set
ADL_Overdrive6_FuzzyController_Caps
ADL_Overdrive6_MaxClockAdjust_Get
ADL_PowerXpress_ExtendedBatteryMode_Caps
ADL_PowerXpress_ExtendedBatteryMode_Get
ADL_PowerXpress_ExtendedBatteryMode_Set
ADL_PowerXpress_LongIdleDetect_Get
ADL_PowerXpress_LongIdleDetect_Set
ADL_PowerXpress_PowerControlMode_Get
ADL_PowerXpress_PowerControlMode_Set
ADL_Remap
ADL_RemoteDisplay_Destroy
ADL_RemoteDisplay_Display_Acquire
ADL_RemoteDisplay_Display_Release
ADL_RemoteDisplay_Display_Release_All
ADL_RemoteDisplay_Hdcp20_Create
ADL_RemoteDisplay_Hdcp20_Destroy
ADL_RemoteDisplay_Hdcp20_Notify
ADL_RemoteDisplay_Hdcp20_Process
ADL_RemoteDisplay_IEPort_Set
ADL_RemoteDisplay_Initialize
ADL_RemoteDisplay_Nofitiation_Register
ADL_RemoteDisplay_Notification_UnRegister
ADL_RemoteDisplay_Support_Caps
ADL_RemoteDisplay_VirtualWirelessAdapter_InUse_Get
ADL_RemoteDisplay_VirtualWirelessAdapter_Info_Get
ADL_RemoteDisplay_VirtualWirelessAdapter_RadioState_Get
ADL_RemoteDisplay_VirtualWirelessAdapter_WPSSetting_Change
ADL_RemoteDisplay_VirtualWirelessAdapter_WPSSetting_Get
ADL_RemoteDisplay_WFDDeviceInfo_Get
ADL_RemoteDisplay_WFDDeviceName_Change
ADL_RemoteDisplay_WFDDevice_StatusInfo_Get
ADL_RemoteDisplay_WFDDiscover_Start
ADL_RemoteDisplay_WFDDiscover_Stop
ADL_RemoteDisplay_WFDLink_Connect
ADL_RemoteDisplay_WFDLink_Creation_Accept
ADL_RemoteDisplay_WFDLink_Disconnect
ADL_RemoteDisplay_WFDLink_WPS_Process
ADL_RemoteDisplay_WFDWDSPSettings_Set
ADL_RemoteDisplay_WirelessDisplayEnableDisable_Commit
ADL_ScreenPoint_AudioMappingInfo_Get
ADL_Stereo3D_2DPackedFormat_Set
ADL_Stereo3D_3DCursorOffset_Get
ADL_Stereo3D_3DCursorOffset_Set
ADL_Stereo3D_CurrentFormat_Get
ADL_Stereo3D_Info_Get
ADL_Stereo3D_Modes_Get
ADL_Win_IsHybridAI
ADL_Workstation_8BitGrayscale_Get
ADL_Workstation_8BitGrayscale_Set
ADL_Workstation_DeepBitDepthX2_Get
ADL_Workstation_DeepBitDepthX2_Set
ADL_Workstation_GLSyncCounters_Get
ADL_Workstation_RAS_Get_Error_Counts
ADL_Workstation_RAS_Get_Features
ADL_Workstation_RAS_Reset_Error_Counts
ADL_Workstation_RAS_Set_Features
ADL_Workstation_SDISegmentList_Get
ADL_Workstation_SDI_Caps
ADL_Workstation_SDI_Get
ADL_Workstation_SDI_Set
ADL_Workstation_UnsupportedDisplayModes_Enable
AmdPowerXpressRequestHighPerformance
Desktop_Detach
Send
SendX2

I also wanted to mention that on the download page for the ADL it has an important notice that AMD GPU Services should be used instead of the ADL SDK. This has got to be some kind of a mistake.

https://gpuopen.com/adl/ 

according to the documentation this is what is available in the AGS

functions:
agsCheckDriverVersion
agsSetDisplayMode
agsInit


and those functions allow you to get this information

display information:
name
primary
in an eyefinity group
is preffered display in the eyefinity group
in an  eyefinity group but is in portrait mode
check if freesync, freesync HDR, HDR10, Dolby Vision are supported
max resolution
max refresh rate
current resolution
visible resolution
current refresh rate
eyefinity grid coordinates
chromaticity
screen diffuse reflectance
screen specular reflectance
min, max, average luminance
index


device (adapter) information:
name
asic family
is an apu
vendor id
device id
revision id
number of CU's
number of WGP's
number of ROP's
core clock
memory clock
memory bandwidth
tera flops
is primary device
memory in use
number of displays
is eyefinity enabled
eyefinity grid width
eyefinity resolution
eyefinity bezel compensation

and those functions allow you to make these changes.

display settings:
mode
chromaticity
luminance
max content light level
max frame average ligh level

Now I am trying to wrap my head around how this is a replacement for the ADL? It actually states right in the documentation that this SDK uses the ADL on the backend. so I would guess that the ADL is not being deprecated. so why is there no updating of the ADL SDK happening? The GPU Services only has use for displaying information and really nothing more then that. I can't see how this should be used instead of the ADL. There has to be some kind of mistake with that notice.

and help you can provide with the generic errors and also information on the undocumented functions would be really helpful. I am trying to make an AMD ADL binding for humans. something that makes it easy to use.

0 Kudos
Reply
Staff
Staff

Re: ADL questions.

Thank you for the feedback. I'll check with the ADL team and get back to you.

Thanks.

0 Kudos
Reply
Adept I
Adept I

Re: ADL questions.

thanks m8, I appreciate the help with this.

Tell them I am willing to help out and keep the ADL SDK up to date. for all intents and purposes the ADL SDK really doesn't fit the bill of being an SDK. It only provides some of the constants, enumerations and structures not all of them and the functions are not even defined. It really needs to keep pace with the changes that are made to the ADL and also have the functions defined. I am willing to help out with this. C/C++ is not my language of choice but I know enough to be able to help with the SDK. Writing examples would be more of a challenge for me. The SDK end of things is fairly simple.

I would have thought that the SDK gets built from the ADL code along with the documentation for it. So with each new release of the ADL there should be a matching SDK that gets generated. If it is not being done this way the question then becomes why?

0 Kudos
Reply
Staff
Staff

Re: ADL questions.

As I've been informed, the ADL team is currently busy with some urgent work. As soon as they get a chance, they will look into this and share their feedback.

Thanks.

0 Kudos
Reply
Staff
Staff

Re: ADL questions.

Hi kdschlosser‌,

Please find the ADL team's feedback below. 

1. EDIDSampleTool Compilation issue:

a. It’s fixed and please check the latest Github sample.

2. Undocumented APIs:

a. All the APIs listed as undocumented are either Private(Hidden) or Partner(listed under oem_only). These APIs are not listed under SDK documentation. If someone attempts to use them, we cannot guarantee on the functionality.
b. Only Public APIs are exposed via Public SDK documentation and general users are expected to use only them. Private(Hidden)/Partner(OEM) APIs are not supposed to be used.

3. Sizing issue when using an API via Python:

a. We verified the sample and could successfully run in the cases mentioned. It may be an issue with your python script.

4. ADL2_Overdrive5_ThermalDevices_Enum error:

a. For the OD function, please make sure your ASIC’s OD version fit with the ADL call. Check Overdrive8 and OverdriveN sample. Use ADL2_Overdrive_Caps first to check the version.

Thanks.

0 Kudos
Reply