Debug DirectX 3D in surface retrieved from XAML control


  • We are developing a Windows Store application with D3D 11 that renders to a surface retrieved from a XAML control (a Border in our case).  The app is written in C#, but one of the controls being used needs to have high performance graphics and so we are using D3D11 / C++ for this control only.

    Everything is working perfectly, but we now need to inspect the render pipeline for the surface attached to the control in question.  We can capture frames in the VS2012 graphics debugger, but the associated surface is completely black and has the same dimensions as the full screen.  All of the tutorials I can find seem to assume that the app is rendering to the whole screen, which is not the case for us.

    We can see things like pixel shaders and vertex shaders defined by our code in the object table of the debugger, but not the surface that we need to inspect. (We've given objects created in our code debug names, so we know we are seeing our pixel shader and vertex shader.)

    So the question is, how do we target the debugger to the surface being rendered in our code?  It looks as if we are only getting a background buffer for the whole screen at the moment, and we can't drill down to the surface our code is rendering to.

    Friday, September 14, 2012 3:45 PM