X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=glretrace_cgl.cpp;h=2feebc3303bc6aeacbe025f5ba12a9c5aa394f9e;hb=33b8ba3bd173bcb6cebbc0d2e1ed3320077a8ac3;hp=c42dd813edf65cc0506fa0d1ad89fd928ea1d20a;hpb=3bcb33ca2c47bdb70d91d9988664d744f4146855;p=apitrace diff --git a/glretrace_cgl.cpp b/glretrace_cgl.cpp index c42dd81..2feebc3 100644 --- a/glretrace_cgl.cpp +++ b/glretrace_cgl.cpp @@ -53,7 +53,7 @@ getDrawable(unsigned long drawable_id) { DrawableMap::const_iterator it; it = drawable_map.find(drawable_id); if (it == drawable_map.end()) { - return (drawable_map[drawable_id] = ws->createDrawable(visual)); + return (drawable_map[drawable_id] = glws::createDrawable(visual)); } return it->second; @@ -70,7 +70,7 @@ getContext(unsigned long long ctx) { it = context_map.find(ctx); if (it == context_map.end()) { glws::Context *context; - context_map[ctx] = context = ws->createContext(visual, sharedContext); + context_map[ctx] = context = glws::createContext(visual, sharedContext); if (!sharedContext) { sharedContext = context; } @@ -81,13 +81,13 @@ getContext(unsigned long long ctx) { } -static void retrace_CGLSetCurrentContext(Trace::Call &call) { +static void retrace_CGLSetCurrentContext(trace::Call &call) { unsigned long long ctx = call.arg(0).toUIntPtr(); glws::Drawable *new_drawable = getDrawable(ctx); glws::Context *new_context = getContext(ctx); - bool result = ws->makeCurrent(new_drawable, new_context); + bool result = glws::makeCurrent(new_drawable, new_context); if (new_drawable && new_context && result) { drawable = new_drawable; @@ -99,7 +99,7 @@ static void retrace_CGLSetCurrentContext(Trace::Call &call) { } -static void retrace_CGLFlushDrawable(Trace::Call &call) { +static void retrace_CGLFlushDrawable(trace::Call &call) { if (drawable && context) { if (double_buffer) { drawable->swapBuffers(); @@ -107,24 +107,19 @@ static void retrace_CGLFlushDrawable(Trace::Call &call) { glFlush(); } - frame_complete(call.no); + frame_complete(call); } } -void glretrace::retrace_call_cgl(Trace::Call &call) { - const char *name = call.name().c_str(); - - if (strcmp(name, "CGLSetCurrentContext") == 0) { - retrace_CGLSetCurrentContext(call); - return; - } - - if (strcmp(name, "CGLFlushDrawable") == 0) { - retrace_CGLFlushDrawable(call); - return; - } - - return; -} +const retrace::Entry glretrace::cgl_callbacks[] = { + {"CGLSetCurrentContext", &retrace_CGLSetCurrentContext}, + {"CGLGetCurrentContext", &retrace::ignore}, + {"CGLEnable", &retrace::ignore}, + {"CGLDisable", &retrace::ignore}, + {"CGLSetParameter", &retrace::ignore}, + {"CGLGetParameter", &retrace::ignore}, + {"CGLFlushDrawable", &retrace_CGLFlushDrawable}, + {NULL, NULL}, +};