Jump to content
  • Advertisement
Sign in to follow this  
MegaPixel

Odd PIX Playback Failure

This topic is 2152 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

pixplaybackfailure.jpg

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
Advertisement
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?

Share this post


Link to post
Share on other sites

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?


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='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?


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='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?


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 (http://msdn.microsoft.com/en-us/library/windows/desktop/bb174577(v=vs.85).aspx) 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

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 (http://msdn.microsof...7(v=vs.85).aspx) 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!


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='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 (http://msdn.microsof...7(v=vs.85).aspx) 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!


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 biggrin.png

I own you a beer biggrin.png
[/quote]

Glad it helped! smile.png

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!