Context *context = getContext(ctx);
if (context) {
- if (retrace::doubleBuffer) {
- context->drawable->swapBuffers();
+ if (context->drawable) {
+ if (retrace::doubleBuffer) {
+ context->drawable->swapBuffers();
+ } else {
+ glFlush();
+ }
+ frame_complete(call);
} else {
- glFlush();
+ if (retrace::debug) {
+ retrace::warning(call) << "context has no drawable\n";
+ }
}
-
- frame_complete(call);
}
}
const retrace::Entry glretrace::cgl_callbacks[] = {
{"CGLChoosePixelFormat", &retrace_CGLChoosePixelFormat},
- {"CGLDestroyPixelFormat", &retrace::ignore},
{"CGLCreateContext", &retrace_CGLCreateContext},
{"CGLDestroyContext", &retrace_CGLDestroyContext},
- {"CGLSetCurrentContext", &retrace_CGLSetCurrentContext},
- {"CGLGetCurrentContext", &retrace::ignore},
- {"CGLEnable", &retrace::ignore},
+ {"CGLDestroyPixelFormat", &retrace::ignore},
{"CGLDisable", &retrace::ignore},
- {"CGLSetParameter", &retrace::ignore},
- {"CGLGetParameter", &retrace::ignore},
+ {"CGLEnable", &retrace::ignore},
+ {"CGLErrorString", &retrace::ignore},
{"CGLFlushDrawable", &retrace_CGLFlushDrawable},
- {"CGLUpdateContext", &retrace::ignore},
+ {"CGLGetCurrentContext", &retrace::ignore},
+ {"CGLGetOption", &retrace::ignore},
+ {"CGLGetParameter", &retrace::ignore},
+ {"CGLGetVersion", &retrace::ignore},
+ {"CGLGetVirtualScreen", &retrace::ignore},
+ {"CGLIsEnabled", &retrace::ignore},
+ {"CGLSetCurrentContext", &retrace_CGLSetCurrentContext},
+ {"CGLSetParameter", &retrace::ignore},
{"CGLTexImageIOSurface2D", &retrace_CGLTexImageIOSurface2D},
+ {"CGLUpdateContext", &retrace::ignore},
{NULL, NULL},
};