]> git.tdb.fi Git - gldbg.git/blob - flavors/gl/source/profiler.h
Fix several problems reported by valgrind
[gldbg.git] / flavors / gl / source / profiler.h
1 #ifndef PROFILER_H_
2 #define PROFILER_H_
3
4 #include "gldecoder.h"
5 #include "tool.h"
6
7 class Profiler: public RegisteredTool<Profiler>
8 {
9 private:
10         typedef unsigned Time;
11
12         GlDecoder *decoder;
13         bool enabled;
14         Time start;
15         unsigned frames;
16         unsigned draw_calls;
17         unsigned vertices;
18         unsigned triangles;
19
20 public:
21         Profiler(GlDbg &);
22         ~Profiler();
23
24         virtual void decode(const char *, unsigned);
25 private:
26         void cmd_profile(const std::string &);
27
28         static void glDrawArrays(void *, GLenum, int, int);
29         static void glDrawElements(void *, GLenum, int, GLenum, const void *);
30         static void glDrawRangeElements(void *, GLenum, unsigned, unsigned, int, GLenum, const void *);
31         static void glXSwapBuffers(void *, Display *, GLXDrawable);
32
33         static Time get_time();
34 };
35
36 #endif