I did something to my d3d11 application and now I'm getting a GPU crash with WDDM TDR reset happening sometime after Present is called.
Since Present (nor an开发者_如何学Goy of the draw call!) functions returns an HRESULT anymore, how are we supposed to find the problem?
You need to turn on DirectX debug information and watch debug output closely as your program is running.
Open the DIRECTX CONTROL PANEL and under Direct3D10.x/11,
- choose Edit LIST and add your application that you are trying to debug's executable to the list.
- Under Debug Layer choose FORCE ON,
- and make sure MUTING IS NOT ON (just UNCHECK muting for the error levels you want to see.)
Now launch your application in DEBUG MODE and you should see debug messages spill out FROM DIRECT3D11 to the Visual Studio output window when you run. Place a break point in your rendering code and step through until you see WARNING or ERROR messages. That will help you fix the problem.
There is a wealth of information in the ERROR messages -- much more than is available on MSDN in fact. Its weird that so much documentation is stored in the D3D11 debugger it is what it is.
精彩评论