cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

ixpu
Journeyman III

Out parameter in ADL_Display_ConnectedDisplays_Get() - How to understand

Hi. I have been playing around with the ADL SDK 3.0 for some time now. Using ADL is fun, however the documentation accompanying it is incomplete in places. Specifically for the moment I would like to know how to interpret the out parameter lpConnections in the function:

int ADL_Display_ConnectedDisplays_Get(int iAdapterIndex, int* lpConnections)

The documentation says that lpConnections is the pointer to the bit field indicating whether the output connectors on the specified adapter have devices physically attached to them.

Now this is becomes cryptic considering that no clue has been given on how to interpret different bits in the lpConnections obtained through the above API. I even scanned through the header adl_defines.h but couldn't find anything helpful.

Can anyone shed some light on this, it's important for an application that I'm working on.

Thank you.

0 Likes
2 Replies
saikamaldoss
Adept I

please check this thread and you will understand how it works..

http://forums.amd.com/devforum/messageview.cfm?catid=347&threadid=128580&enterthread=y

her i have pasted the struct etc..

_Get is the easy part.

 

settings also is easy till you dont use struct, like for example color temp brightness etc..

 

if you use struct for fanspeed or clock etc, then forget it.

and you wont get any answer here.

 

they just tell you what already know or will copy paste SDK and say this is how you do it..  i am really pisses with this SKD. i am struggling with this dumb thing for almost a year and half

 

 

0 Likes

 ADL_Display_ConnectedDisplays_Get and ADL_Display_DisplayInfo_Get


After an application enumerated supported displays on particular board, it will have something like array of supported displays, with display index running from 0 to (NumOfSupportedDisplays-1)

Display index corresponds to a bitfield (or bitvector) like below:

 

Display Index                     BitVector (binary)            BitVector (hex)

                0                              000001                                  0x01

                1                              000010                                  0x02

                2                              000100                                  0x04

                3                              001000                                  0x08

                4                              010000                                  0x10

                5                              100000                                  0x20



 

(i.e. BitVector = 1<<DisplayIndex)

 

Once enumerated, this list (or array) does not change for particular board, i.e. same display index will always mean the same display output.

 adapterInfo.ulDisplaysHaveLoad field just has bitvectors of connected displays ORed.

 

I.e. for example if adapterInfo.ulDisplaysHaveLoad gives you value 0x00000025, that would mean you have 3 displays connected, with bitvectors 0x01, 0x04 and 0x20, i.e. with display indexes 0, 2 and 5 correspondingly.

0 Likes