walbourn / directx-vs-templates

Direct3D Visual Studio Templates
https://walbourn.github.io/direct3d-game-visual-studio-templates-redux/
MIT License
402 stars 53 forks source link

d3d12game_uwp_cppwinrt_dr doesn't run on Xbox One S through UWP #62

Open BMarques opened 2 years ago

BMarques commented 2 years ago

Hello, I tried to run the d3d12game_uwp_cppwinrt_dr project on my Xbox One S on Game Mode and it's not working because it says it doesn't support Shader Model 6.0. When I debugged, it says it only supports Shader Model 5.1. Is this an hardware limitation (therefore needing to change the project to make it work) or is there something I can do about it?

walbourn commented 2 years ago

Hmm... For DX12, Shader Model up through 6.4 should work on Xbox One S in Game Mode. Can you confirm you are not using the WARP device?

BMarques commented 2 years ago

Yes, I'm not using the WARP mode (It was before when I was on App mode by mistake). It gives me the following message for the GetAdapter. "Direct3D Adapter (0): VID:0000, PID:0000 - SraKmd"

It also supports FEATURE_LEVEL 12_0 from what I could debug.

One detail that I'm not sure if it's important, my Xbox One S is the All Digital Edition.

walbourn commented 2 years ago

What version of the OS recovery do you have on that system?

BMarques commented 2 years ago

Not sure what is the os recovery, but in the dev mode it says OS Version 10.0.22621.1836. I'm using UWP for Xbox, not a closed GDK

BMarques commented 2 years ago

Just to let you know, once I "undid" everything that was documented on https://github.com/microsoft/DirectXTK12/wiki/Shader-Model-6, both on the game project and DirectXTK12 project, the SpriteBatch tutorial of DirectXTK12 worked properly on the console

walbourn commented 2 years ago

OK, so I double-checked and there are some known issues with the reporting on UWP on Xbox One. It's supposed to be reporting support for Feature Level 11.0 and Shader Model 6.4 when in game mode, but instead it's reporting 12.0 and Shader Model 5.1.

I'll ping the graphics team on this. In the meantime, you can use 5.1.