We have created a Desktop application that uses DesktopDuplication api to capture the screen on Win8.1 and above.
We know that for Discrete GPU configurations DesktopDuplication does not work as the api is not supported for this type of configuration.
But if we use Mosaic mode of NVIDIA cards which logically makes one GPU as a whole instead of multiple GPU's then i expect that DesktopDuplication shall work !!
I have tested our application using the mosaic mode on Win8.1 having multiple NVIDIA Quadro 2000 cards and it works fine but fails to run on Windows 10 machine having multiple NVIDIA M4000 or K2200 cards.
On debugging i found that IDXGIOutputDuplication::AcquireNextFrame returns error code DXGI_ERROR_ACCESS_LOST.
As per MSDN the error is because The desktop duplication interface is invalid. The desktop duplication interface typically becomes
invalid when a different type of image is displayed on the desktop.
So on receiving this error i released the DesktopDuplication interface and created it again but the error still comes.
Also the DesktopDuplication sample which is available at MSDN https://code.msdn.microsoft.com/windowsdesktop/Desktop-Duplication-Sample-da4c696a , also fails to run on WIndows 10, but works perfectly on Win8.1 having multiple graphics cards in Mosaic
The difference i could pinpoint between Win8.1 and Windows10 is that windows 8.1 uses WDDM 1.3 and Windows10 uses WDDM 2.0.
Also our application is linked with Win8.1 sdk , so do we need to build our application using win10 sdk in order to solve it ?
Also could NVIDIA drivers used for WIn8.1 and Win10 can make the difference ?
I am not sure if mentioned above could be the possible cause(s) !!
How could i solve this issue , we need to run our application on multiple graphics cards on Windows 10 in mosaic mode.