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 然后 CreateSwapChain 为两个窗口中的每一个(每个监视器一个)创建单独的交换链。在进行更改时,我使用了 SDK 示例 MultiMon10 作为参考,但是通过 PIX 运行 MultiMon10 示例项目时,我仍然可以毫无错误地调试像素。所以这不仅仅是“CreateSwapChain”对 PIX 不友好的问题。

任何想法可能导致此错误?过去,调试像素和逐步通过着色器帮助了我很多,我不想失去这种能力。

4

1 回答 1

0

好像我遇到了同样的问题。Visual Studio 2012 图形调试也会发生这种情况。必须是 DX 调试模式下的 CreateSwapChain。

我一直在使用英特尔的 GPA 工具来解决这个问题。我觉得它非常有用。它可用于在同一台机器上或通过客户端/服务器模型进行调试。

于 2012-12-12T01:16:32.197 回答