X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=glretrace.hpp;h=41e2997c1482c126ae9b9c9f40180bb4f09a5fba;hb=568ecc29ff1a22d8ad059bade28ac79728b92958;hp=cb130bbe42845c347a5158e370f749840cef311b;hpb=cbdcc51230fc92497d37e111850250272de53290;p=apitrace diff --git a/glretrace.hpp b/glretrace.hpp index cb130bb..41e2997 100644 --- a/glretrace.hpp +++ b/glretrace.hpp @@ -26,10 +26,9 @@ #ifndef _GLRETRACE_HPP_ #define _GLRETRACE_HPP_ -#include - #include "trace_parser.hpp" #include "glws.hpp" +#include "retrace.hpp" namespace glretrace { @@ -37,35 +36,43 @@ 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; +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(const Trace::Call &call); - -void retrace_call_glx(Trace::Call &call); -void retrace_call_wgl(Trace::Call &call); +checkGlError(trace::Call &call); -void frame_complete(unsigned call_no); +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 snapshot(unsigned call_no); +void frame_complete(trace::Call &call); +void updateDrawable(int width, int height); } /* namespace glretrace */