X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=common%2Ftrace_profiler.hpp;h=da60d72e532d210ada7a75bbf318a6aa8bebcf6a;hb=6d92327e88d2bb4c03a1b84663e50497f99fc24f;hp=191ac72ffe34c38e0da3851e1d6d7ad51dd62976;hpb=f91056b5782d48d526f19dacd5a988003fc6f11e;p=apitrace diff --git a/common/trace_profiler.hpp b/common/trace_profiler.hpp index 191ac72..da60d72 100644 --- a/common/trace_profiler.hpp +++ b/common/trace_profiler.hpp @@ -37,18 +37,33 @@ public: Profiler(); ~Profiler(); - void addCall(unsigned no, const char* name, uint64_t gpu_start, uint64_t gpu_duration); + void setup(bool cpuTimes_, bool gpuTimes_, bool pixelsDrawn_); - void addFrameStart(unsigned no, uint64_t timestamp); - void addFrameEnd(uint64_t timestamp); + void addFrameStart(unsigned no, uint64_t gpuStart, uint64_t cpuStart); + void addFrameEnd(uint64_t gpuEnd, uint64_t cpuEnd); + + void addCall(unsigned no, + const char* name, + unsigned program, + uint64_t pixels, + uint64_t gpuStart, uint64_t gpuDuration, + uint64_t cpuStart, uint64_t cpuDuration); private: - uint64_t baseTime; + unsigned lastProgram; + uint64_t baseGpuTime; + uint64_t baseCpuTime; + + bool cpuTimes; + bool gpuTimes; + bool pixelsDrawn; struct { unsigned no; - uint64_t start; - uint64_t end; + uint64_t gpuStart; + uint64_t gpuEnd; + uint64_t cpuStart; + uint64_t cpuEnd; } lastFrame; }; }