PIX DirectX 11调试像素错误

3

最近我更新了我的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来为两个窗口(每个显示器一个)分别创建交换链。我在修改时参考了SDK示例MultiMon10,但是在通过PIX运行MultiMon10示例项目时,仍然可以无误地调试像素。因此,问题不能仅仅是"CreateSwapChain"不受PIX支持。
有什么想法是什么导致这个错误?调试像素和逐步调试着色器在过去对我非常有帮助,我不想失去这个能力。

抱歉,我从未找到解决方案。此后我一直在使用nVidia的NSight进行图形调试。它很好用,但需要两台电脑才能使用——一台用于运行调试器,另一台用于运行软件。这是因为它允许实时调试在GPU上运行的代码,因此会停止运行软件的计算机的GPU(因此也停止了显示)。 - Tim Coolman
1个回答

0

看起来我遇到了同样的问题。在使用Visual Studio 2012 Graphics Debug时也会出现这种情况。可能是DX Debug模式下CreateSwapChain的问题。

我一直在使用Intel's GPA工具来解决这个问题。我发现它非常有用。它可以用于在同一台机器上调试,也可以通过客户端/服务器模型进行调试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接