It's probably trying to pass a device created by wined3d, which doesn't work. IDXGIDevice is not the issue (in fact, my swap chain code queries that interface), but that error message means, that either the device doesn't implement IDXGIDevice or an internal interface that connects the DXGI swapchain to the D3D11 device. In this case, it's probably the latter.
But yes, I agree that some sort of testing would be useful, but DXVK still doesn't implement everything that wine does (and vice versa) so there are going to be problems.
So after fixing a bunch of bugs that caused test failures, my conclusion is as follows:
I'm going to keep testing this against wine's test suite going forward, but blindly aiming for passing all of them might do more harm than good.
Nothing extracted yet.
I think dxvk would benefit greatly from being able to run wine's tests, not only for demonstration of Windows behavior, but also for regression testing. Wine's build process is already able to build a test exe for running on native Windows ("make crosstest"), and that can be run under dxvk. However that doesn't get far.
most dxgi tests are doing something like:
D3D10* can be easily replaced with D3D11* equivalents, however swapchain creation always fails with
So it seems swapchain creation only works if D3D11Device is passed, while it should work with DxgiDevice too. Seems to be a design issue, can it be fixed?