Hi. We have following issue in Win10.
1. Laptop MSI GS60-2PE (updated to Win10 Home), CPU i7-4700HQ with Intel HD 4600. NVidia GTX 870M. Other laptops also have same issue. It doesn't depend if external monitor connected to my laptop or not - issue still happens. But from some other feedback it starts to work when external monitor connected. However, I can not check anymore since that laptop was downgraded.
2. Intel HD 4600 driver - 10.18.15.4256
3. I have built-in screen with native resolution - 1920x1080. Then I set non-native resolution - right-click on desktop, choose Intel Graphics parameters menu -> Resolution -> Built-in screen -> 1680x1050 (or any other non-native resolution). Same issue also happens if I change resolution using windows standard dialog.
4. In this case DXGI_OUTPUT_DESC contains 0, 0, 1680, 1050 desktop coordinates. But when I duplicate this output I getting 1920x1080 texture. I.e. D3D11_TEXTURE2D_DESC contains 1920x1080. When I copy that texture to identical private texture, resulting texture is black!!! But no errors, every call succeeded so application can not detect that there some error happened to switch to backup mode.
5. You can test using XSplit Broadcaster application (www.xsplit.com). Just create new presentation, add desktop, or desktop area (not Window !) to scene and you will see picture when screen resolution matches native resolution or black if it is not matching.
This looks like serious bug. We find it on Dell laptop with 13" screen and 3000x???? resolution that is quite big for that screen so user just set lower resolution and have that issue.
Sorry, my bad. We find out that texture not passing validation on some step because of different dimensions and that's why nothing works. Please close this post as there no issues.
This validation was added probably because we had no information how to handle cases like that (i.e. is picture stretched or padded, if stretched - with aspect ratio correction or not, and if padded - where is origin corner). Currently processing adjusted according with how OS currently works. So picture is padded and origin corner is always 0,0 of acquired texture (doesn't depend on screen rotation).