#ifndef _GLRETRACE_HPP_
#define _GLRETRACE_HPP_
-#include <ostream>
-
#include "trace_parser.hpp"
#include "glws.hpp"
extern glws::Drawable *drawable;
extern glws::Context *context;
-extern int window_width;
-extern int window_height;
-
extern unsigned frame;
extern long long startTime;
extern bool wait;
+enum frequency {
+ FREQUENCY_NEVER = 0,
+ FREQUENCY_FRAME,
+ FREQUENCY_FRAMEBUFFER,
+ FREQUENCY_DRAW,
+};
+
extern bool benchmark;
extern const char *compare_prefix;
extern const char *snapshot_prefix;
+extern enum frequency snapshot_frequency;
extern unsigned dump_state;
void
-checkGlError(void);
+checkGlError(Trace::Call &call);
+
+void retrace_call_cgl(Trace::Call &call);
+void retrace_call_glx(Trace::Call &call);
+void retrace_call_wgl(Trace::Call &call);
-void state_dump(std::ostream &os);
+void snapshot(unsigned call_no);
+void frame_complete(unsigned call_no);
+void updateDrawable(int width, int height);
} /* namespace glretrace */