-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DX12 application Crashes when discovery is started #70
Comments
Hi Alan! Big fan of Gigi, happy to fix the above! I've noticed the info queue issue before, I think it relates to how I wrap interface queries (on both devices and the global one). On the render target one, that's new, I'll try to reproduce tomorrow and get a fix out for you. Just in case it matters, what's your GPU? |
Thanks a lot, I appreciate it! |
Still looking into the info queue. On the render target crash, it's related to how I interface with WinPixGpuCapturer, in some call stacks the call stack is Gigi -> Reshape -> WinPixGpuCapturer, and in others Gigi -> WinPixGpuCapturer -> Reshape. If I disable WinPixGpuCapturer it goes through just fine. Below I instrumented the DOF sample. I've noticed that it really struggles to resolve the line of code it belongs to (I hacked in debug info to I have issues in other places with hook/DLL ordering, and a couple of workarounds. Right now I rely on detouring by patching the functions themselves, but the real approach, which would avoid this, is to modify the Import Address Table instead. But that's a scarier change for the future. |
So, there's kind of three issues here:
To clarify on the last one, I can make it resolve the source code itself, but not the line of code it ends up at, for some reason. |
Oh excellent! When disabling pix GPU capturing, I'm able to launch, run the unit tests, and see all sorts of nice errors and warnings. |
I am very excited about GPU reshape and look forward to using it to find problems in an open sourced rapid prototyping / development / research application called Gigi that we use at Electronic Arts:
https://github.com/electronicarts/gigi/
When I turn on discovery, then run GigiViewerDX12 (in debug), this call leaves g_pd3dInfoQueue null. The device is a ID3D12Device2*, and the info queue is a ID3D12InfoQueue*.
g_pd3dDevice->QueryInterface(IID_PPV_ARGS(&g_pd3dInfoQueue));
The crash is due to a lack of a null check, but adding a null check then results in a crash in a CreateRenderTargetView call later on (in debug and release both)
I've tried updating the Agility SDK to the latest version, but that didn't affect anything. I've also updated my video driver, and ensured all windows updates were applied, and rebooted. I've tried other things as well, but no luck.
My code is open sourced on github at the repo I linked, so you can see this for yourself, but please also let me know if there's any more information I can give, or anything you'd like me to try.
Thanks!
The text was updated successfully, but these errors were encountered: