]> git.tdb.fi Git - gldbg.git/blob - source/profiler.h
Add some virtual destructors to shut up older gcc versions
[gldbg.git] / source / profiler.h
1 /* $Id$
2
3 This file is part of gldbg
4 Copyright © 2010  Mikko Rasa, Mikkosoft Productions
5 Distributed under the GPL
6 */
7
8 #ifndef PROFILER_H_
9 #define PROFILER_H_
10
11 #include <msp/time/timestamp.h>
12 #include "gldecoder.h"
13 #include "tool.h"
14
15 class Profiler: public RegisteredTool<Profiler>
16 {
17 private:
18         GlDecoder *decoder;
19         bool enabled;
20         Msp::Time::TimeStamp start;
21         unsigned frames;
22         unsigned draw_calls;
23         unsigned vertices;
24         unsigned triangles;
25
26 public:
27         Profiler(GlDbg &);
28
29         virtual void decode(const char *, unsigned);
30 private:
31         void cmd_profile(const std::string &);
32
33         static void glDrawArrays(void *, GLenum, int, int);
34         static void glDrawElements(void *, GLenum, int, GLenum, const void *);
35         static void glDrawRangeElements(void *, GLenum, unsigned, unsigned, int, GLenum, const void *);
36         static void glXSwapBuffers(void *, Display *, GLXDrawable);
37 };
38
39 #endif