#include #include #include #include #include #include #include int main (int32_t argc, char* argv[]) { bool res; EGLDisplay egl_dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY); res = eglInitialize(egl_dpy, NULL, NULL); assert(res); const char *egl_extension_st = eglQueryString(egl_dpy, EGL_EXTENSIONS); assert(strstr(egl_extension_st, "EGL_KHR_create_context") != NULL); assert(strstr(egl_extension_st, "EGL_KHR_surfaceless_context") != NULL); static const EGLint config_attribs[] = { EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_NONE }; EGLConfig cfg; EGLint count; res = eglChooseConfig(egl_dpy, config_attribs, &cfg, 1, &count); assert(res); res = eglBindAPI(EGL_OPENGL_ES_API); assert(res); static const EGLint attribs[] = { EGL_CONTEXT_CLIENT_VERSION, 3, EGL_NONE }; EGLContext ctx = eglCreateContext(egl_dpy, cfg, EGL_NO_CONTEXT, attribs); assert(ctx != EGL_NO_CONTEXT); res = eglMakeCurrent(egl_dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, ctx); assert(res); eglDestroyContext(egl_dpy, ctx); eglTerminate(egl_dpy); return 0; }