AnsweredAssumed Answered

ADL: ADL_Display_EdidData_Get returning ADL_ERR_INVALID_PARAM

Question asked by jasonstern on Aug 15, 2016
  • 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);                         }

 

  • Run "adlutil.exe get"

 

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!

Outcomes