#ifndef _GLRETRACE_HPP_
#define _GLRETRACE_HPP_
-#include <ostream>
-
#include "trace_parser.hpp"
#include "glws.hpp"
+#include "retrace.hpp"
namespace glretrace {
extern bool double_buffer;
extern bool insideGlBeginEnd;
-extern Trace::Parser parser;
-extern glws::WindowSystem *ws;
-extern glws::Visual *visual;
+extern trace::Parser parser;
+extern glws::Profile defaultProfile;
+extern glws::Visual *visual[glws::PROFILE_MAX];
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;
extern bool benchmark;
-extern const char *compare_prefix;
-extern const char *snapshot_prefix;
extern unsigned dump_state;
void
-checkGlError(int callIdx = -1);
+checkGlError(trace::Call &call);
+
+extern const retrace::Entry gl_callbacks[];
+extern const retrace::Entry cgl_callbacks[];
+extern const retrace::Entry glx_callbacks[];
+extern const retrace::Entry wgl_callbacks[];
+extern const retrace::Entry egl_callbacks[];
-void state_dump(std::ostream &os);
+void frame_complete(trace::Call &call);
+void updateDrawable(int width, int height);
} /* namespace glretrace */