How to determine why my callstacks are empty?

Using Vulkan, I’m using the same classes provided in github. I’m able to capture GPU crash files without issue, but my call stacks are always N/A. The work fine with the sample app. Any ideas what I could be doing wrong that causes them to not show up?
Also, if I don’t manually write debug checkpoints, those also don’t show up. If I comment out commandBuffer.setCheckpointNV() in the sample app, they still show up. So I think that’s another hint.
I’m only doing these two for the diagnostic flags currently:

		vk::DeviceDiagnosticsConfigFlagsNV aftermathFlags =
			vk::DeviceDiagnosticsConfigFlagBitsNV::eEnableResourceTracking |

Any ideas? Thanks!

Thank you for using the Nsight Aftermath SDK and for your question regarding how to determine why your callstacks are empty. I have sent your question to our engineering team and will provide you a response as soon as possible.

Again, thank you for using the Nsight Aftermath SDK.


From talking with the engineering team we think you are expecting call stacks for the user markers. However, call stacks are the payloads of the automatic markers:

From GFSDK_Aftermath.h:

// With this flag set, event markers are automatically set for all draw calls,
// compute dispatches and copy operations to capture the call stack for the
// corresponding API call as the event marker payload.
// Requires also GFSDK_Aftermath_FeatureFlags_EnableMarkers to be set.
// Using this option should be considered carefully. Enabling call stack capturing
// can cause considerable CPU overhead.
GFSDK_Aftermath_FeatureFlags_CallStackCapturing = 0x40000000,


If you have a bug report then we will need additional details including a crash dump, a repro, the driver version you were using and the Aftermath version you were using.

Ok, thanks for the feedback, I’ll take another look and see what is occuring.