2013-03-04 27 views
1

我無法獲得Pix來調試着色器。我以前完全正常使用過它,但今天,我不斷收到此錯誤試圖調試一個頂點或像素着色器時:Pix,無法調試着色器

以前得手失敗furing播放呼叫:

EID:8召喚:IDirect3D9 :: CreateDevice()HRESULT:D3DERR_NOTAVAILABLE

欲瞭解更多信息,請點擊'幫助'。

幫助帶來了這一點:

"Playback failure is the error state that occurs following a successful timing capture. 

There are many reasons why a call that succeeded at capture time can fail during PIX playback. Here are some common causes: 

If the run file was captured on a system with different capabilities or more video memory. Also, PIX Win will use up more video memory than the original title did when it allowed debugging. 

It can also occur if your Direct3D control panel settings are different from when the run file was captured. Some Direct3D 9 calls only fail when the debug runtime is active. 

In the case of Direct3D 9 playback, the mesh viewer and shader debugging potentially use different device settings than the original application that can cause playback failures. For example, the shader debugging has to use a reference device. In this situation, there is a possibility that the HW device supports settings that are not supported under the reference device like StretchRect() filters. " 

我真的不明白爲什麼它會工作一天,但不是未來,我要調查我的顯卡的驅動程序,但我沒有真正理解關於如何檢查上面的錯誤。

我還應該添加我使用Pix與DirecX 9 XNA應用程序。我試過測試一個調試版本和一個發佈版本。我禁用了D3D分析並使用幀捕獲。

如果任何人有任何想法可以請幫助!

乾杯

回答

0

只是出於好奇,如果你使用的軟件,而不是硬件來完成的頂點處理操作呢?

Direct3D.CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,HWindow,D3DCREATE_SOFTWARE_VERTEXPROCESSING,D3DInit,設備);

如果自上次運行代碼以來沒有任何更改,也許您的驅動程序(或DirectX控制面板中的某些設置)已被修改。

+0

我無法控制。這一切都是通過XNA完成的。我的想法是一樣的。我幾天前更新了我的驅動程序,但仍未修復。也許系統還原可能會起作用。 – Bushes 2013-03-07 16:40:17

0

錯誤提示硬件故障,爲了解決這個問題,我認爲你可能真的需要恢復系統中的一些東西。

但是在調試着色器方面,它不一定是XNA有界的,你甚至可以使用@crazylpfan建議的軟件管道創建一個存根D3D程序,然後你可以將PIX連接到該程序進行調試。