0 Replies Latest reply on Aug 16, 2016 1:40 AM by jasonstern

    ADL: ADL_Display_EdidData_Get returning ADL_ERR_INVALID_PARAM

    jasonstern
      • 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!