No DX11 debug markers collected

No DX11 debug markers are being collected when running my application under nsight systems.

This is when using D3D_Perf API and also ID3DUserDefinedAnnotation.

In fact ID3DUserDefinedAnnotation::BeginEvent returns -1 which is “no profiling tool available”

@dofek

Any updates?

I’ve pinged Doron again.

Hi Joss,

Nsight Systems does not change the return value of ID3DUserDefinedAnnotation::BeginEvent - however, the message and range should still be traced and displayed in the resulting report.

Please make sure that DX11 tracing and Debug Marker tracing under it are enabled:

  • In the GUI: Enable both the “Collect DX11 trace” checkbox and the “Trace debug markers” checkbox in the window under it (you may need to expand the window using the arrow-shaped button to the left of the main checkbox).
  • In the CLI: make sure the trace option dx11-annotations (and not dx11) is in the list of trace options under -t / --trace

If this is not the issue, and the problem persists:

  1. If you could provide us with a minimal sample application that replicates the issue, we would be glad to debug it in our labs and try to solve the bug. Source code is not necessary (but would be helpful) - even just a standalone executable would be fine.
  2. In the meantime, you could try using NVTX (and NSight Systems’s NVTX trace feature) to annotate your code. This header-only library works for all NVIDIA tools and can be easily removed completely for production builds so it does not have any interference or overhead on your final software. You can find more details about it here.