0

I‘ve got multiple nVidia GPU Cards (Q2000) on a Windows 7 system,without SLI, only one monitor.

Now what I'm trying to do is make a Direct3D9 device runing on a specific GPU.

I can use the [Adapter] parameter in IDirect3D9::CreateDevice to choose a GPU, but unless I connect a second monitor on that GPU card, it will not work (if I've only got one desktop on Windows).

If I click the "Detect" button in Resolution Control Panel, it can make a "fake" desktop on the side of my primary desktop, and CreateDevice(1, ...) works well - but this is not what I want.

For OpenGL, it's easy because the WGL_NV_gpu_affinity, It can make a OpenGL device runs on the second GPU with only one monitor connected, one desktop on windows.

I wonder if there is any API can use for Directx 9 work as "WGL_NV_gpu_affinity".

Any hint will be very appreciated. Thanks in advance!

McCee
  • 1,549
  • 10
  • 19
El0sua
  • 1
  • 1
  • You can try to use Direct3D 9 Ex ( IDirect3D9Ex, IDirect3DDevice9Ex ). It allows more flexibility for creating device, for example it allows to create device while windows is locked (original d3d9 doesn't allow). – Dave Apr 26 '13 at 10:21

1 Answers1

0

IDirect3D9::CreateDevice uses at 1st parametr "Adapter", which not GPU, just monitor adapter

fdioff
  • 7