I'm finding that when I run something through GPA Monitor, and I use a geometry shader with stream-out, the program I'm trying to analyze comes to a grinding halt and locks up. It appears that it makes it through the SO draw calls, but shortly after when drawing normal geometry, it will freeze on one of the various draw calls (I've seen it stop on Draw and I think DrawIndexed). It runs perfectly when not through Monitor, and I don't see any errors coming from D3D (using a debug device).
Even with the simplest of shaders (pass through VS, pass through GS-SO, no pixel shader bound) I get this freezing after the SO has run.
Has anyone else encountered problems with analyzing while using SO? I'm running Windows 7, Geforce GTX 460, GPA 2013 R4 (13.4.214456), DirectX 11.
Sorry that you are encountering this issue.
First of all, can you be sure that you have the latest drivers for your graphics card. Next, please right-click the GPA Monitor and print the contents of the "About..." box. Also, are you using DX11 or DX11.1 -- note that DX11.1 is not supported by Intel GPA. Lastly, is there a specific example that you can point to that exhibits this issue?
Hey Neal, sorry it took so long to get back to you about this, I got distracted with other things and just today returned to this (still happening, sadly).
Unfortunately, I haven't been able to isolate a simple example of the problem. When I was looking at it today, I found that it was locking consistently on the 9th draw call after my stream-out draw (not rasterized, just writes to buffer). What those other draw calls were didn't seem to make a difference, whether it was the normal progression of our rendering, or just drawing a single quad over and over. Everything runs smoothly for many frames up until the moment I draw with SO.
I did notice that if I was able to attach a debugger quick enough during startup, before the d3d device was created, it would break into the debugger with "First-chance exception at 0x000007FEFDB7940D in app.exe: Microsoft C++ exception: GT::GtException at memory location 0x00000000002571C0." and a callstack in shimd3d64.dll. Device creation still succeeds and I can continue from there.
When I broke into the debugger after everything froze, the callstack was stuck a few levels deep in shimd3d64.dll, and stepping through in disassembly view, it looked like it was stuck in some sort of infinite loop, or waiting for a lock, or something... I'm no expert with assembly, so I couldn't say exactly what was happening, but it was looping over the same few bits of code and the conditions didn't seem to change at all.
EDIT : Also, I tried grabbing the contents of the buffer after the SO, and the data looked correct, so it seems like the SO draw call is finishing, but something in d3dshim isn't able to continue
I've checked and the feature level returned by the device creation is 11.0. Video drivers appear to be up-to-date, and other people working on the project are experiencing the same problem.
Contents of the GPA Monitor About box:
Windows 7 build 7601, 64-bit DEP enabled Num Processors: 8 Memory: 12213MB System BIOS: Dell Inc. A04 (07/05/2012) Video BIOS: 3ENGTX560 VB Ver 70.24.21.00.AS10 (07/19/11) Driver 0: Device: NVIDIA GeForce GTX 560 Ti Provider: NVIDIA Date: 3-4-2014 Version: 188.8.131.5223 VendorId: 10de ProductId: 1200 Stepping: a1 No support for GPA Instrumentation GPA install directory: C:\Intel\INDE\GPA\2014 R1\ GPA version: 14.1.219575 Current user is in Administrators group: YES Current GPA 2014 R1 (14.1.219575)
Thanks for the additional information.
One thing I did notice is that you are using an old version of the Intel GPA product -- please update to 2014 R2 and let me know if the issue still occurs. I know that we continue to improve the product quality/stability in every new release, and it's possible that this has been resolved in the latest release (I don't remember seeing any specific bug fixes for SO, but the development team will ask me whether you've duplicated this using the 2014 R2 release).
You can get the latest release from the Intel GPA Home Page (www.intel.com/software/gpa).
Hi Neal, I've updated GPA, and the freeze is still there.
Windows 7 build 7601, 64-bit DEP enabled Num Processors: 8 Memory: 12213MB System BIOS: Dell Inc. A04 (07/05/2012) Video BIOS: 3ENGTX560 VB Ver 70.24.21.00.AS10 (07/19/11) Driver 0: Device: NVIDIA GeForce GTX 560 Ti Provider: NVIDIA Date: 3-4-2014 Version: 184.108.40.20623 VendorId: 10de ProductId: 1200 Stepping: a1 No support for GPA Instrumentation GPA install directory: C:\Intel\INDE\GPA\2014 R2\ GPA version: 14.2.221091 Current user is in Administrators group: YES Current GPA 2014 R2 (14.2.221091)