X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fretrace.hpp;h=56cebc6195135dfcd7f7e0bf51158f1bf0ede755;hb=b032a6f55c364f23206cd619d33bb1cf9867657d;hp=9a1d5ccc2832c7e5c704b7bac9c42edf5014da13;hpb=3db3b2f03af32da02faa59b9bcbdd0e2879e280a;p=apitrace diff --git a/retrace/retrace.hpp b/retrace/retrace.hpp index 9a1d5cc..56cebc6 100644 --- a/retrace/retrace.hpp +++ b/retrace/retrace.hpp @@ -36,6 +36,7 @@ #include "trace_model.hpp" #include "trace_parser.hpp" +#include "trace_profiler.hpp" namespace image { @@ -47,48 +48,7 @@ namespace retrace { extern trace::Parser parser; - - -/** - * Handle map. - * - * It is just like a regular std::map container, but lookups of missing - * keys return the key instead of default constructor. - * - * This is necessary for several GL named objects, where one can either request - * the implementation to generate an unique name, or pick a value never used - * before. - * - * XXX: In some cases, instead of returning the key, it would make more sense - * to return an unused data value (e.g., container count). - */ -template -class map -{ -private: - typedef std::map base_type; - base_type base; - -public: - - T & operator[] (const T &key) { - typename base_type::iterator it; - it = base.find(key); - if (it == base.end()) { - return (base[key] = key); - } - return it->second; - } - - const T & operator[] (const T &key) const { - typename base_type::const_iterator it; - it = base.find(key); - if (it == base.end()) { - return (base[key] = key); - } - return it->second; - } -}; +extern trace::Profiler profiler; /** @@ -174,16 +134,6 @@ public: }; -void -addRegion(unsigned long long address, void *buffer, unsigned long long size); - -void -delRegionByPointer(void *ptr); - -void * -toPointer(trace::Value &value, bool bind = false); - - /** * Output verbosity when retracing files. */ @@ -198,6 +148,9 @@ extern bool debug; * Add profiling data to the dump when retracing. */ extern bool profiling; +extern bool profilingCpuTimes; +extern bool profilingGpuTimes; +extern bool profilingPixelsDrawn; /** * State dumping. @@ -208,6 +161,9 @@ extern bool dumpingState; extern bool doubleBuffer; extern bool coreProfile; +extern unsigned frameNo; +extern unsigned callNo; + std::ostream &warning(trace::Call &call);