XAML Apps fail with 'SetSwapChain failed' on 8.1/VS2013

Creating a simple project (three spinning cubes) and exporting it as either a C# or C++ XAML app compiles fine in VS2013 (after fixing broken references) but after displaying the Unity logo the app hangs indefinitely on a black screen.

The only data that makes it into the log file is:

Module information:
    Built with Compiler Ver '170050727'
    Built from '' branch
    Version is '4.2.1f4 (4d30acc925c2)'
    Release build
    Application type 'XAML'
    GfxDevice: creating device client; threaded=1
Direct3D:
    Version:  Direct3D 11.0 [level 11.0]
    Renderer: Intel(R) HD Graphics 4000 (ID=0x166)
    Vendor:   Intel
    VRAM:     128 MB
SetSwapChain failed with error 0x8001010e
 
(Filename:  Line: 191)

D3D11 C# apps run fine after you fix the missing reference, I haven’t tried it with D3D11 C++ but I assume it works.

I need a XAML project so I can implement the settings charm and making the app native to 8.1 is a requirement of our publisher.

Project is attached. The build folder marked with _C is the C++ version and the one without is the C# version.

Any help much appreciated!

1391944–71603–$SpinningCubes.zip (18.3 KB)

I’m not finding any of the visual studio related project files in your zip… it only contains the basic Unity project package.

You will need to provide your app.xaml.cs and/or the mainpage.xaml.cs for us to see what could be causing the error…

Hi,

I doubt you will fix this error. It’s related to new Windows 8.1 APIs and it’s only fixed in 4.3, your project needs to target Windows 8.0, that way that error won’t show up and I guess you’ve retargeted your project to Windows 8.1 ?

Cheers

Yes I did retarget the app, our publisher requires us to target 8.1 natively. I also need implement the settings charm and apparently the API is different between versions?

Here is the C# XAML project (minus the players folder). I couldn’t get the C++ version under the upload limit, all I did for it was re-target the app after it built, it didn’t need any references changed.

1392616–71716–$WindowsStoreXAML.zip (911 KB)

When you did the retargeting, you explicitly use a newer Windows SDK (a.k.a Windows SDK 8.1) API which has additional requirements on how to set SwapChain, this isn’t handled in 4.2.

So your only solution currently is don’t do the retargeting, and by that use old Windows SDK (a.k.a Windows SDK 8.0)