Sign in to follow this  
MegaPixel

Odd PIX Playback Failure

Recommended Posts

[img]http://img825.imageshack.us/img825/6461/pixplaybackfailure.jpg[/img]

Hi all,
I'm getting crazy to understand why pix does not playback at all !! I googled to find people that had a
similar problem but none of the post have been very useful.
I get that problem only during single frame capture in PIX (which is the only way to debug shaders).
If I try capture a replayable direct3d call stream on disk I don't get that error but unfortunately I can't debug the shaders either because It's possible only with single frame capture (F12).
Also, I checked the swap chain desc values and they are definitely correct.
My program starts perfectly from visual studio and perfectly if I double click on the executable as well.
I do not understand why PIX can't playback correctly if I start an experiment and I do a single frame capture of Direct3D.
One last thing: the d3d debug trace is perfect and I don't get any warning nor errors.
Thanks in advance for any reply

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1343135845' post='4962590']
One thing to try -- if you create your device in REF mode, does the [font=courier new,courier,monospace]CreateSwapChain[/font] call fail, like it does in PIX?
[/quote]

I tried what you suggested me to do and YES the call to CreateSwapChain will fail giving me the error DXGI_ERROR_INVALID_CALL ...
however if I create the device with hardware type it won't fail and everything will work fine ... :/ Just PIX will complain trying playback ...

Now ... why it fails if I create the device in REF mode ?

btw thanks for your help

Share this post


Link to post
Share on other sites
[quote name='MegaPixel' timestamp='1343141830' post='4962618']
[quote name='Hodgman' timestamp='1343135845' post='4962590']
One thing to try -- if you create your device in REF mode, does the [font=courier new,courier,monospace]CreateSwapChain[/font] call fail, like it does in PIX?
[/quote]

I tried what you suggested me to do and YES the call to CreateSwapChain will fail giving me the error DXGI_ERROR_INVALID_CALL ...
however if I create the device with hardware type it won't fail and everything will work fine ... :/ Just PIX will complain trying playback ...

Now ... why it fails if I create the device in REF mode ?

btw thanks for your help
[/quote]

Turn on the debugging info to get the details of the failure.

Share this post


Link to post
Share on other sites
[quote name='Doug Rogers' timestamp='1343174974' post='4962784']
[quote name='MegaPixel' timestamp='1343141830' post='4962618']
[quote name='Hodgman' timestamp='1343135845' post='4962590']
One thing to try -- if you create your device in REF mode, does the [font=courier new,courier,monospace]CreateSwapChain[/font] call fail, like it does in PIX?
[/quote]

I tried what you suggested me to do and YES the call to CreateSwapChain will fail giving me the error DXGI_ERROR_INVALID_CALL ...
however if I create the device with hardware type it won't fail and everything will work fine ... :/ Just PIX will complain trying playback ...

Now ... why it fails if I create the device in REF mode ?

btw thanks for your help
[/quote]

Turn on the debugging info to get the details of the failure.
[/quote]

You mean: create the device in REF with the debug trace active under visual studio ?

Share this post


Link to post
Share on other sites
Hi,

I had exactly the same problem as you and spent most of today trying to fix it! Hopefully this will help you too:

I was calling the IDXGISwapChain::ResizeBuffers function ([url="http://msdn.microsoft.com/en-us/library/windows/desktop/bb174577(v=vs.85).aspx"]http://msdn.microsoft.com/en-us/library/windows/desktop/bb174577(v=vs.85).aspx[/url]) after creating the Device and SwapChain, and I was passing in "0" for "BufferCount", and "DXGI_FORMAT_UNKNOWN" for "NewFormat", which according to the documentation (see the link above) was supposed to preserve the existing values of those parameters. Anyway this worked absolutely fine when I ran my program from Visual Studio, and also worked fine when being run during PIX recording. But then when I tried to do a single-frame capture it came up with the same error that you got.

I changed those two parameters to be the actual values I wanted ("1" and "R8G8B8A8_UNorm" in my case) and it magically fixed the problem!

This might not be what is causing your problem but if you are using that function in the way I described it might be worth a shot!

Share this post


Link to post
Share on other sites
When I used PIX, passing 0 for width and height caused similar message, even though it should use default values (window's client area).

Share this post


Link to post
Share on other sites
[quote name='xman256' timestamp='1346270455' post='4974543']
Hi,

I had exactly the same problem as you and spent most of today trying to fix it! Hopefully this will help you too:

I was calling the IDXGISwapChain::ResizeBuffers function ([url="http://msdn.microsoft.com/en-us/library/windows/desktop/bb174577(v=vs.85).aspx"]http://msdn.microsof...7(v=vs.85).aspx[/url]) after creating the Device and SwapChain, and I was passing in "0" for "BufferCount", and "DXGI_FORMAT_UNKNOWN" for "NewFormat", which according to the documentation (see the link above) was supposed to preserve the existing values of those parameters. Anyway this worked absolutely fine when I ran my program from Visual Studio, and also worked fine when being run during PIX recording. But then when I tried to do a single-frame capture it came up with the same error that you got.

I changed those two parameters to be the actual values I wanted ("1" and "R8G8B8A8_UNorm" in my case) and it magically fixed the problem!

This might not be what is causing your problem but if you are using that function in the way I described it might be worth a shot!
[/quote]

Hi ! Thanks a lot that fixed the problem ;) ! I was getting mad since the doc that was possible ... but apparently PIX is not of the same opinion :D

I own you a beer :D

Share this post


Link to post
Share on other sites
[quote name='MegaPixel' timestamp='1346317357' post='4974712']
[quote name='xman256' timestamp='1346270455' post='4974543']
Hi,

I had exactly the same problem as you and spent most of today trying to fix it! Hopefully this will help you too:

I was calling the IDXGISwapChain::ResizeBuffers function ([url="http://msdn.microsoft.com/en-us/library/windows/desktop/bb174577(v=vs.85).aspx"]http://msdn.microsof...7(v=vs.85).aspx[/url]) after creating the Device and SwapChain, and I was passing in "0" for "BufferCount", and "DXGI_FORMAT_UNKNOWN" for "NewFormat", which according to the documentation (see the link above) was supposed to preserve the existing values of those parameters. Anyway this worked absolutely fine when I ran my program from Visual Studio, and also worked fine when being run during PIX recording. But then when I tried to do a single-frame capture it came up with the same error that you got.

I changed those two parameters to be the actual values I wanted ("1" and "R8G8B8A8_UNorm" in my case) and it magically fixed the problem!

This might not be what is causing your problem but if you are using that function in the way I described it might be worth a shot!
[/quote]

Hi ! Thanks a lot that fixed the problem ;) ! I was getting mad since the doc that was possible ... but apparently PIX is not of the same opinion [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img]

I own you a beer [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img]
[/quote]

Glad it helped! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this