cancel
Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

zeno_42
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?

Thanks

0 Likes
5 Replies
tinsau
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

0 Likes

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.

0 Likes
tinsau
Journeyman III

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.

pastedImage_0.png

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

0 Likes

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.


AmdPowerXpressRequestHighPerformance

0 Likes
tinsau
Journeyman III

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

0 Likes