Copy link to clipboard
Copied
Hi guys,
My flash project uses Stage3d rendering, and I was using PIX (Performance Investigator) from DirectX SDK to debug rendering. It worked great with 11.5 debug player.
Since then we upgraded do 11.7, and now testing 11.8beta just release, and when I start our application from PIX, player crashes.
This is info PIX reports:
PIX Logfile created at: 4:07:54 PM
Frame 000001 ....PRE: Frame(1)
Frame 000001 ........PRE: D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 2080, 0x0035E050, 7, 7, 0x078BF78C, 0x078BF7D4, 0x078BF790)
Frame 000001 ............PRE: AddObject(D3D11 Device, 0x08975190, 0x005D23D4)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Device, 0x08975190, 0x005D23D4)
Frame 000001 ............PRE: AddObject(DXGI Factory, 0x08975948, 0x005894A8)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Factory, 0x08975948, 0x005894A8)
Frame 000001 ............PRE: AddObject(DXGI Adapter, 0x08975AA8, 0x005D3A90)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Adapter, 0x08975AA8, 0x005D3A90)
Frame 000001 ............PRE: AddObject(DXGI Device, 0x08975C10, 0x005D20CC)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Device, 0x08975C10, 0x005D20CC)
Frame 000001 ............PRE: AddObject(D3D11 Device Context, 0x089B6FA0, 0x097800A4)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Device Context, 0x089B6FA0, 0x097800A4)
Frame 000001 ........POST: <S_OK> D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 2080, 0x0035E050, 7, 7, 0x078BF78C, 0x078BF7D4, 0x078BF790)
Frame 000001 ........PRE: <this=0x089b6fa0>Unknown call(IID_ID3D10Multithread, 0x0035E08C)
Frame 000001 ........POST: <S_OK><this=0x089b6fa0> Unknown call(IID_ID3D10Multithread, 0x0035E08C)
Frame 000001 ........PRE: <this=0x08975190>ID3D11Device::QueryInterface(IID_IDXGIDevice, 0x0035E088)
Frame 000001 ........POST: <S_OK><this=0x08975190> ID3D11Device::QueryInterface(IID_IDXGIDevice, 0x0035E088)
Frame 000001 ........PRE: <this=0x08975c10>IDXGIDevice::GetAdapter(0x0035E094)
Frame 000001 ........POST: <S_OK><this=0x08975c10> IDXGIDevice::GetAdapter(0x0035E094)
Frame 000001 ........PRE: <this=0x08975aa8>IDXGIAdapter::GetParent(IID_IDXGIFactory, 0x078BF788)
Frame 000001 ........POST: <S_OK><this=0x08975aa8> IDXGIAdapter::GetParent(IID_IDXGIFactory, 0x078BF788)
Frame 000001 ........PRE: <this=0x08975aa8>IDXGIAdapter::QueryInterface({0x0aa1ae0a, 0xfa0e, 0x4b84, 0x86, 0x44, 0xe0, 0x5f, 0xf8, 0xe5, 0xac, 0xb5}, 0x0035E084)
Frame 000001 ........POST: <S_OK><this=0x08975aa8> IDXGIAdapter::QueryInterface({0x0aa1ae0a, 0xfa0e, 0x4b84, 0x86, 0x44, 0xe0, 0x5f, 0xf8, 0xe5, 0xac, 0xb5}, 0x0035E084)
An unhandled exception occurred.
Is there any workaround for this crash? Can it be fixed in the player? PIX is extremely useful to debug stage3d applications.
By the way, when running game outside of pix, all these players work fine.
Copy link to clipboard
Copied
We can certainly take a look and see if we can do anything about it.
Please file a bug at http://bugbase.adobe.com/. Include as much detail as possible, and ideally, all of the assets required to reproduce the crash. This will help us triage and assign your bug with minimal delay (if I have to ask someone to create tests for the issue, it will add weeks to the turnaround).
If you post a link to the bug back to this thread, I'll get an email notification and will escalate it for you.
Thanks,
Jeromie
Copy link to clipboard
Copied
Thanks Jaromie, that'd be a huge help.
I created the bug, it's super easy repro: https://bugbase.adobe.com/index.cfm?event=bug&id=3580772
thanks,
Martin
Copy link to clipboard
Copied
After a thorough investigation, we found that the root-cause is that we enabled support for DirectX 11 on Win 8 in 11.7, which is not supported by PIX. PIX detects a particular API called by the runtime which it does not support, and crashes. We verified this by creating a small C++ file that just calls the offending method, and we see the crash there as well. It doesn't look like there's anything from our end that we can change to help with this.
According to Microsoft: "A replacement for the PIX for Windows tool is now a feature in Microsoft Visual Studio, called Visual Studio Graphics Debugger. This new feature has greatly improved usability, support for Windows 8, and Direct3D 11.1, and integration with traditional Visual Studio features such as call stacks and debugging windows for HLSL debugging."