title: Hello World for C# + DirectX 12 + Visual Studio Graphics Diagnostics: How to stop at a break point in shader code
body: <p>How do I set and stop at a break point in my pixel shader code?</p>
  
  <p>I'd like to write my own pixel shader using C# and DirectX 12 and Visual Studio 2019. 
  Some good example on how to get started seems to be <a href="https://github.com/discosultan/dx12-game-programming" rel="nofollow noreferrer">dx12-game-programming</a>.
  At least I got it to compile and run and it shows what is expected at very high frame rates.</p>
  
  <p>Now to get to analyze what the shader does, I'd like to use Visual Studio Graphics Diagnostics. Following the official <a href="https://docs.microsoft.com/en-us/visualstudio/debugger/graphics/getting-started-with-visual-studio-graphics-diagnostics?view=vs-2019" rel="nofollow noreferrer">instructions for setting it up</a> has many unfortunate breaking details: The examples listed in the documentation either do not exist or do not work (lots of compile errors or crash of the Graphics Diagnostics engine) - and they are quite old with nothing for Visual Studio 2019 and nothing for DirectX 12. The most promising is the C# and DirectX 12 example above (<a href="https://github.com/discosultan/dx12-game-programming" rel="nofollow noreferrer">dx12-game-programming</a>) that works on its own. However, when run in graphics diagnostics mode it results in <em>'Playback of your application may be incomplete. "No such interface supported"'</em>.</p>
  
  <p>So ... is there any example where I can see the Visual Studio Graphics Diagnostics actually working as advertised? Where I can set a break point, stop at it and see what the values in the variables of the shader code are?</p>