Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

Journeyman III

Programmatically creating graphics profile

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?


5 Replies
Journeyman III

I have the same question. I can create profile with Nvidia nvapi. But I can't find methods to create profile in amd.  I find a ADL_SDK_V10.2.  but it do't describe the ADL2_ApplicationProfiles_Profile_Create  API.  You can  displays the list of all exported functions in adl2's dll  atiadlxx.dll. 

ADL2 sdk code : GitHub - GPUOpen-LibrariesAndSDKs/display-library: AMD Display Library SDK


Hello zeno_42​ & tinsau​,  Are you using hybridGraphics enabled (BIOS setting)platforms? AmdPowerXpressRequestHighPerformance is for PX platform.

And ADL can provide the feature you need, please refer to the PowerXpress APIs in ADL SDK @  GitHub - GPUOpen-LibrariesAndSDKs/display-library: AMD Display Library SDK  --> Public-Documents/html/index.html

Let me know if this works or not, thanks.


Hello xhuang :

PowerXpress only enumerate the profile informations that the user created by AMD Radeon Settings. This Sample uses ADL2_ApplicationProfiles_HitListsX3_Get API.

PowerXpress output these profile information as followed image in my one AMD Video Card computer.


But PowerXpress output nothing about profile information in my another one AMD Video Card computer.


Hello, I assume you're using Hybrid Graphics in your current system, in which the the previous AmdPowerXpressRequestHighPerformance  way has some problem. We will work out a fix to support AmdPowerXpressRequestHighPerformance immediately, then you can continue without any changes on your application. Will get you back when internal fix is ready and I can have a quick test on my box.

Thanks for your reporting.



But, I want to create profile programmatically in my c++ code. And I want to disable Morphological Filtering programmatically in my c++ code.