I am starting to get my head into GPU profiling (both OpenCL and OpenGL) and I was wondering if the GPUPerfAPI was able to give me events on OpenCL's kernel functions being executed (profiling) or OpenGL API calls. In fact, I'd like to know if GPUPerfAPI is used for the whole backend of CodeXL or if they used other non public API in order to enable those events?
From what I have yet to understand, it only gives access to the performance counters...or perhaps I'm wrong?
GPUPerfAPI is used only for gathering performance counter data. The GPU Profiler backend in CodeXL uses GPUPerfAPI for the GPU Performance Counter mode. It uses other APIs (both public and non-public) for the Application Timeline Trace mode and to gather Kernel Occupancy information.