我最近更新了用于双监视器,双窗口支持的DirectX 11(C ++)应用程序。从那时起,当我尝试调试PIX调试器中的任何像素时,我收到以下错误:
A call that previously succeeded failed during playback:
EID: 1375
Call: IDXGIFactory::CreateSwapChain()
HRESULT: DXGI_ERROR_INVALID_CALL
For more information click 'Help'.
我不再使用D3D11CreateDeviceAndSwapChain,而是使用D3D11CreateDevice然后使用CreateSwapChain为两个窗口(每个监视器一个)创建单独的交换链。我在进行更改时使用了SDK示例MultiMon10作为参考,但是当通过PIX运行MultiMon10示例项目时,我仍然可以无错误地调试像素。所以它不仅仅是“CreateSwapChain”不是PIX友好的问题。
任何可能导致此错误的想法?调试像素和单步执行着色器在过去帮助了我很多,我不想失去这种能力。
答案 0 :(得分:0)
好像我遇到了同样的问题。 Visual Studio 2012图形调试也会发生这种情况。在DX调试模式下必须是CreateSwapChain。
我一直在使用Intel's GPA tool来解决此问题。我发现它非常有用。它可用于在同一台机器上或通过客户端/服务器模型进行调试。