static bool create_gl_context(struct MPGLContext *ctx) { struct cgl_context *p = ctx->priv; CGLError err; CGLOpenGLProfile gl_versions[] = { kCGLOGLPVersion_3_2_Core, kCGLOGLPVersion_Legacy, }; for (int n = 0; n < MP_ARRAY_SIZE(gl_versions); n++) { err = test_gl_version(ctx->vo, &p->ctx, &p->pix, gl_versions[n]); if (err == kCGLNoError) break; } if (err != kCGLNoError) { MP_FATAL(ctx->vo, "error creating CGL context: %s (%d)\n", CGLErrorString(err), err); return false; } vo_cocoa_set_opengl_ctx(ctx->vo, p->ctx); CGLSetCurrentContext(p->ctx); ctx->depth_r = ctx->depth_g = ctx->depth_b = cgl_color_size(ctx); mpgl_load_functions(ctx->gl, (void *)cocoa_glgetaddr, NULL, ctx->vo->log); CGLReleasePixelFormat(p->pix); return true; }
int main(int argc, char **argv) { bool pass = true; dpy = get_display_or_skip(); make_glx_context_current_or_skip(dpy); pass = test_gl_version() && pass; pass = test_glx_version() && pass; pass = test_glx_extension_supported() && pass; return pass != true; }