I see that you have already come to a decision, but I thought it would be nice to give up my own recent impressions for everyone who comes to this question ...
Yes, you can control any number of adapters and outputs from one process. Here is some information that might be helpful:
In DXGI and DX11:
Each video card is an “adapter”. Each monitor represents an “Exit”. See here for more information on listing through them.
Once you have the pointers to the adapters that you want to use, create a device (ID3D11Device) using the D3D11CreateDevice for each of the adapters. Perhaps you need a different thread to interact with each of your devices. This thread may be processor specific if it helps speed up the process for you.
Once each adapter has its own device, create a swap chain and display a target for each pin. You can also create a depth representation of the stencil for each exit while you are on it.
The process of creating swap chains will require the installation of your windows: one window for each output. I do not think that when using rendering from a window, there is a chain of its own. You can simply create windows as hosts for your swap chain and then forget about them completely afterwards.
For rendering, you will need to iterate each output of each device. For each output, change the device’s rendering target to a rendering target created for the current output using OMSetRenderTargets . Again, you can run each device in a different thread if you want, so each pair of threads / devices will have its own iteration through the outputs for rendering.
Here are some links that may help you through this process:
Display different images on directX 10 monitor
Fullscreen DXGI and 2+ displays in Windows 7
http://msdn.microsoft.com/en-us/library/windows/desktop/ee417025%28v=vs.85%29.aspx#multiple_monitors
Good luck
source share