I develop a variety of 3D graphics applications in C++/OpenGL for relatively small communities of users (a few hundred to a few thousand customers). For best performance, I require that my apps register with the video driver so that switchable graphics machines properly recognize that they require the discrete graphics chip. In older Windows versions I could simply use the nvOptimusEnablement / AmdPowerXpressRequestHighPerformance export, but this does not appear to work in newer OS's. On the Nvidia side I've been able to use NvAPI to programmatically create a graphics profile so that my users don't need to do it manually. I have not been able to identify a similarly straightforward way to accomplish this with AMD drivers. Could you folks point me to the proper API/documentation/examples so that I can make the issue transparent to my AMD customers as well?