- Download the AMD ADL SDK V10.
- Open the adlutil solution
- Add the following around line 51:
typedef int (*ADL_DISPLAY_EDIDDATA_GET)(int iAdapterIndex, int iDisplayIndex, ADLDisplayEDIDData* lpEDIDData); ADL_DISPLAY_EDIDDATA_GET ADL_Display_EdidData_Get;
- Add the following around line 345:
ADL_Display_EdidData_Get = (ADL_DISPLAY_EDIDDATA_GET) GetProcAddress (hDLL, "ADL_Display_EdidData_Get");
- Add the following around line 517:
ADLDisplayEDIDData edid_data {};
int result (ADL_Display_EdidData_Get (iAdapterIndex, iDisplayIndex, &edid_data));
if (result == ADL_OK)
{
for (size_t byte = 0; byte < _countof (edid_data.cEDIDData); ++byte)
{
printf ("%02X ", edid_data.cEDIDData [byte]);
if ((byte % 16) == 0)
{
printf ("\n");
}
}
}
else
{
printf ("ADL_Display_EdidData_Get (adapter %u, display %u) failed: %d\n", iAdapterIndex, iDisplayIndex, result); }
Expected Output to look something like:
AdapterIndex 0
DisplayIndex 5
Width 1280
Height 1024
ColorDepth 32
RefreshRate 60.00
XPos -1280
YPos 0
Orientation 0
ModeFlag 0
ModeMask 0x00FF
ModeValue 0x0046
00 FF FF FF FF FF FF 00 (remaining EDID)
Actual result:
AdapterIndex 0
DisplayIndex 5
Width 1280
Height 1024
ColorDepth 32
RefreshRate 60.00
XPos -1280
YPos 0
Orientation 0
ModeFlag 0
ModeMask 0x00FF
ModeValue 0x0046
ADL_Display_EdidData_Get (adapter 0, display 5) failed: -3
What am I missing? iAdapterIndex and iDisplayIndex are the only in parameters, and the fact that they work correctly with ADL_Display_Modes_Get seems to indicate that they are valid parameters...
Thanks!