share
Stack OverflowTessellation shaders not working with UWP DirectX 11 on Xbox Series X|S
[+4] [0] Invor
[2022-06-13 10:22:23]
[ c++ uwp directx directx-11 xbox ]
[ https://stackoverflow.com/questions/72601249/tessellation-shaders-not-working-with-uwp-directx-11-on-xbox-series-xs ]

I ported a DirectX 11 application to UWP to deploy it on Xbox Series X|S and hardware tessellation shaders are not working when running the app on Xbox (tested on retail Xbox Series X and Series S in devmode). The rendered geometry doesn't show up in the viewport but no errors are thrown. Running the same app locally on my PC renders the tessellated geometry without any issues. After reading through this blogpost [1] and the follow-up [2], I made sure my application is running in game mode and a DirectX 11 Feature Level 11.0 context is created (creating a 10.1 context procudes errors when trying to use tessellation primtives as expected). Rendering statistics from the app suggest that there are vertex shader invokes but no hull shader invokes afterwards and hull shader invokes, but not domain shader invokes afterwards.

Because I assumed there to be some sort of subtle bug in the tessellation implementation of my app, I next tried the SimpleBezierUWP [3] sample app from Microsoft. The result is the same: On PC, it renders just fine but when running on Xbox, the geometry is missing. This applies to both the DX11 and DX12 version of that sample app. To recreate this bug just download the SimpleBezierUWP sample, build it and deploy it to a retail Xbox Series X or S in devmode.

So has anyone successfully used tessellation shaders in an UWP application on Xbox Series X or S? Is it not supported after all, even if Direct X Feature Level 11.0 is? Or are there special requirements for writing hull and domain shaders for this specific hardware that I was not able to find out about from publicly available source?

Thanks!

Microsoft has some docs regarding tessellation on the Xbox, though you need to be a member of their developer program. You also need to sign an NDA, so unfortunately neither you nor anyone else would be legally allowed to answer this question based on this information. - vandench
But I would assume that at least someone should be allowed to comment on the demo code provided by Microsoft in their public GitHub repo the OP linked as it is public and deploying UWP-based apps does not require an ID@Xbox account. - Christoph