WAFFLE_CONTEXT(3) Waffle Manual WAFFLE_CONTEXT(3) NAME waffle_context, waffle_context_create, waffle_context_destroy, waffle_con- text_get_native - class waffle_context SYNOPSIS #include <waffle.h> struct waffle_context; struct waffle_context* waffle_context_create(struct waffle_config *config, struct waffle_con- text *shared_ctx); bool waffle_context_destroy(struct waffle_context *self); union waffle_native_context* waffle_context_get_native(struct waffle_con- text *self); DESCRIPTION struct waffle_context An opaque type. waffle_context_create() Create a context for OpenGL rendering with the properties specified by config. The returned context's actual properties may differ from, but are guar- anteed to be compatible with, the properties specified by config. See the section called "VERSION PROMOTION" below for details. If share_ctx is not null, then the newly created context is added to the share group of share_ctx. Some data, such as display lists, are shared among all contexts that belong to the same share group. For de- tails on what data is shared, see the specification for the relevant native platform: the GLX 1.4 Specification[1], the EGL 1.4 Specifica- tion[2], or the CGL Reference[3]. waffle_context_destroy() Destroy the context and release its memory. waffle_context_get_native() Get the context's underlying native objects. Use free(3) to deallocate the returned pointer. See waffle_native(3) for the definition of union waffle_native_context. VERSION PROMOTION The context's requested version and profile is given by the config attrib- utes WAFFLE_CONTEXT_MAJOR_VERSION, WAFFLE_CONTEXT_MINOR_VERSION, WAF- FLE_CONTEXT_PROFILE. The context returned by waffle_context_create may im- plement any version and profile that is backwards compatible with that re- quested, as described below. * If the chosen API is WAFFLE_OPENGL_ES1, WAFFLE_OPENGL_ES2, or WAF- FLE_OPENGL_ES3, then the returned context may implement any of: * The requested version. * Any later version, so long as no features have been from that later version. * If the chosen API is WAFFLE_CONTEXT_OPENGL and version 3.0 or less is requested, then the returned context may implement any of: * Any version no less than that requested and no greater than 3.0. * Version 3.1, if the GL_ARB_compatibility extension is also imple- mented. * The compatibility profile of version 3.2 or greater. * If the chosen API is WAFFLE_CONTEXT_OPENGL and version 3.1 is re- quested, then the returned context may implement any of: * Version 3.1, with or without the GL_ARB_compatibility extension. * The core profile of version 3.2 or greater. * If the chosen API is WAFFLE_CONTEXT_OPENGL and version 3.2 or greater is requested, then the returned context may implement any of: * The requested profile and version. * The requested profile of any later version, so long as no fea- tures have been from that later version and profile. RETURN VALUE Functions whose return type is bool return true on success and false on failure. Functions whose return type is a pointer return NULL on failure. Use waffle_error_get_info(3) to get information about any errors. ERRORS See waffle_error(3) for the complete list of waffle's error codes. No errors are specific to the waffle_context functions. ISSUES Please report bugs or and feature requests to https://gitlab.freedesktop.org/mesa/waffle/issues. SEE ALSO waffle(7) waffle_config_choose(3) AUTHOR Chad Versace <chad.versace@linux.intel.com> Former maintainer COPYRIGHT Copyright (C) 2013 Intel This manual page is licensed under the Creative Commons Attribution-Share- Alike 3.0 United States License (CC BY-SA 3.0). To view a copy of this li- cense, visit http://creativecommons.org.license/by-sa/3.0/us. NOTES 1. GLX 1.4 Specification http://www.opengl.org/registry/doc/glx1.4.pdf 2. EGL 1.4 Specification http://www.khronos.org/registry/egl/specs/eglspec.1.4.20110406.pdf 3. CGL Reference https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CGL_OpenGL/Reference/reference.html waffle 08/27/2026 WAFFLE_CONTEXT(3)
NAME | SYNOPSIS | DESCRIPTION | VERSION PROMOTION | RETURN VALUE | ERRORS | ISSUES | SEE ALSO | AUTHOR | COPYRIGHT | NOTES
Want to link to this manual page? Use this URL:
<https://man.FreeBSD.org/cgi/man.cgi?query=waffle_context&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>