2012-06-25 30 views
3

我最近更新了雙顯示器雙窗口支持的DirectX 11(C++)應用程序。從那時起,當我嘗試調試任何像素的PIX調試器,我得到以下錯誤:PIX DirectX 11調試像素錯誤

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

對不起,我從來沒有找到一個解決方案。自那以後,我一直在使用nVidia的NSight進行圖形調試。這很好,但你需要兩臺電腦才能使用它 - 一個用於運行調試器,另一個用於運行軟件。這是因爲它允許對GPU上運行的代碼進行實時調試,因此它會暫停運行該軟件的計算機的GPU(因此顯示器)。 –

回答

0

好像我遇到了同樣的問題。它也發生在Visual Studio 2012圖形調試中。在DX Debug模式下,必須使用CreateSwapChain。

我一直在使用Intel's GPA tool來解決此問題。我覺得它非常有用。它可用於在同一臺機器上或通過客戶機/服務器模型進行調試。