WAFFLE_INIT(3) Waffle Manual WAFFLE_INIT(3) NAME waffle_init - Initialize waffle's per-process global state SYNOPSIS #include <waffle.h> bool waffle_init(const int32_t attrib_list[]); DESCRIPTION waffle_init() initializes the per-process global state of the waffle li- brary with the attributes specified in attrib_list. The set of attributes is documented below. attrib_list consists of a zero-terminated sequence of name/value pairs. Most waffle functions emit an error if called when waffle is unitialized. The small set of functions that can be successfully called before initial- ization are explicitly documented as such. If a call to waffle_init() fails, no global state is initialized and the caller may safely attempt to call waffle_init() again. If waffle has al- ready been initialized by a successful call to waffle_init() one has to call waffle_teardown() to clear the global state. Otherwise calling waf- fle_init() again emits the error WAFFLE_ERROR_ALREADY_INITIALIZED. ATTRIBUTES WAFFLE_PLATFORM This attribute is required. Possible values are: WAFFLE_PLATFORM_ANDROID [Android] Use EGL on Android. WAFFLE_PLATFORM_GBM [Linux] Use EGL with GBM, the "Generic Buffer Manager" provided by libgbm. This platform is capable of OpenGL rendering without a dis- play manager. WAFFLE_PLATFORM_CGL [MacOS] Use CGL to create the waffle_config(3) and waffle_con- text(3). Use Cocoa to create the waffle_window(3). WAFFLE_PLATFORM_GLX [Linux only, MacOS not yet supported] WAFFLE_PLATFORM_SURFACELESS_EGL [Linux] Use EGL's "surfaceless" platform, EGL_MESA_platform_sur- faceless[1]. WAFFLE_PLATFORM_WAYLAND [Linux] Use EGL with the Wayland display server. WAFFLE_PLATFORM_WGL [Windows] Use WGL on Windows. WAFFLE_PLATFORM_X11_EGL [Linux] Use EGL with the X11 display server. 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. Listed are the errors specific to waffle_init(). WAFFLE_ERROR_ALREADY_INITIALIZED Waffle has already been initialized with a successful call to waf- fle_init(). WAFFLE_ERROR_BAD_ATTRIBUTE An item in attrib_list is unrecognized or has an invalid value, or a required attribute is missing. WAFFLE_ERROR_BUILT_WITHOUT_SUPPORT Waffle was built without support for the requested attribute. EXAMPLE Initialize waffle for X11/EGL. #include <waffle.h> static const int32_t init_attrib_list[] = { WAFFLE_PLATFORM, WAFFLE_PLATFORM_X11_EGL, 0, }; int main() { bool ok = waffle_init(init_attrib_list); if (ok) return EXIT_SUCCESS; else return EXIT_FAILURE; } ISSUES Please report bugs or and feature requests to https://gitlab.freedesktop.org/mesa/waffle/issues. SEE ALSO waffle(7) 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. EGL_MESA_platform_surfaceless https://www.khronos.org/registry/egl/extensions/MESA/EGL_MESA_platform_surfaceless.txt waffle 08/27/2026 WAFFLE_INIT(3)
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | RETURN VALUE | ERRORS | EXAMPLE | 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_init&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>