Is it common to have more than one ID3D11Device and/or associated immediate ID3D11DeviceContext?
If I am correct a single display subsystem (GPU, video memory, etc.) is completely determined (from a 3D rendering perspective) by a
- IDXGIAdapter (meta functionality facade);
- ID3D11Device (resource creation facade);
- ID3D11DeviceContext (pipeline facade).
So given that you want to use multiple display subsystems, you will have to handle multiple of these interfaces. A concrete example would be a graphics card dedicated to rendering and a separate graphics card dedicated to computation, or combining an integrated and dedicated graphics card. All such cases seem to me quite far fetched to justify support in a majority of games. So moving one abstraction level further downstream, should a game engine even consider multiple display systems (i.e. there is just one ID3D11Device and one immediate ID3D11DeviceContext)?