PDA

View Full Version : Selecting between Dual GPUs from different vendors



Calhounian
03-23-2011, 02:32 PM
Hello,

I'm relatively new to using OpenGL. I currently have an NVIDIA GeForce 8400 GS and ATI FireGL V3100 in my machine, with a monitor running off of each one. Whenever I create an OpenGL context, it uses the driver for whichever graphics card the primary monitor is connected to. Is there any simple way to select which driver/GPU gets used without switching which monitor is the primary one?

I've read up on GPU affinity masks, but have read that NVidia's extension only works with Quadro cards. I then attempted to use some of the functions found in here: http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt but when I go to compile the function names come up as "identifers not found." What do I need to do/include to be able to use these functions?

Thanks in advance!

NeXEkho
03-23-2011, 06:55 PM
If you're under Windows, it'll be during your context creation - I think you can ask for a specific device. If this is handled by a library like GLUT, SDL or GLFW it gets more difficult.

V-man
03-29-2011, 09:10 AM
http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt but when I go to compile the function names come up as "identifers not found." What do I need to do/include to be able to use these functions?

Thanks in advance!

You need to get function pointers for the functions defined in that extension.... or just use GLEW

http://www.opengl.org/wiki/Getting_started#OpenGL_2.0.2B_and_extensions

kyle_
03-29-2011, 12:01 PM
... but wouldnt it be supported (and thus exposed) only by ATI driver context?
How to ensure creation of context backed by ATI driver?
Chicken and egg problem?

V-man
03-29-2011, 01:16 PM
I would imagine you need to have 2 ATI video cards in your system.
So you just create the GL context and the extension should be present in the string returned by wglGetExtensionsStringARB(hdc).
You can even use GLEW to check if the extension is present

if(wglewIsSupported("WGL_AMD_gpu_association")==TRUE)
{
it is supported
}

kyle_
03-29-2011, 02:43 PM
Yeah, but OP has NV and ATI, so it gets kinda tricky.

l_belev
06-08-2011, 06:46 AM
I had interest in this field some months ago and did some research what can be done
you can see the info i posted on the matter:
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=288237#Post2882 37