Aftermath Vulkan shader debug info callback not signalled on procedural modules


I am integrating Nsight Aftermath to our Vulkan application. The example provided on GitHub works properly, but when our application crashes there are no PFN_GFSDK_Aftermath_ShaderDebugInfoCb callbacks signalled. The application I’m working on generates SPIR-V modules at runtime without a GLSL/HLSL source, this makes me think that I am not getting callbacks due to missing debug information in the module. I’ve already tried adding a dummy OpString+OpSource without luck.

Currently the crash dumps look like this:

I am interested in an approximation of where it hangs in the SPIR-V disassembly. Is there anything I should add to the SPIR-V module to get a shader callback? Or are there cases where Aftermath simply doesn’t signal one?

I managed to fix it.

Initially I had to submit and wait on each draw to start getting the callback; that allowed me to implement the rest and now I’m consistently getting the callbacks. Sadly I don’t know what exactly fixed my issue, because now the code is no longer submitting on each draw but the callback is still being signalled.

Thanks for developing this tool!