X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fretrace.hpp;h=311cef9474deb62158b236ba0ab361dda014fe8a;hb=addf7f90727a50040d79e6da6d59ffb031074674;hp=2f75dbe6f5285cea539f22123e0d8523fa9d8d35;hpb=06555614b7385c49964d27aaeec68dec6ff31744;p=apitrace diff --git a/retrace/retrace.hpp b/retrace/retrace.hpp index 2f75dbe..311cef9 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. */ @@ -199,10 +149,19 @@ extern bool debug; */ extern bool profiling; +/** + * State dumping. + */ +extern bool dumpingState; + extern bool doubleBuffer; extern bool coreProfile; +extern bool profileGPU; + +extern unsigned frameNo; + std::ostream &warning(trace::Call &call);