table of contents
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 library 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 initialization 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 already been initialized by a successful call to waffle_init() one has to call waffle_teardown() to clear the global state. Otherwise calling waffle_init() again emits the error WAFFLE_ERROR_ALREADY_INITIALIZED.
ATTRIBUTES¶
WAFFLE_PLATFORM
WAFFLE_PLATFORM_ANDROID
WAFFLE_PLATFORM_GBM
WAFFLE_PLATFORM_CGL
WAFFLE_PLATFORM_GLX
WAFFLE_PLATFORM_SURFACELESS_EGL
WAFFLE_PLATFORM_WAYLAND
WAFFLE_PLATFORM_WGL
WAFFLE_PLATFORM_X11_EGL
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_ERROR_BAD_ATTRIBUTE
WAFFLE_ERROR_BUILT_WITHOUT_SUPPORT
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¶
AUTHOR¶
Chad Versace <chad.versace@linux.intel.com>
COPYRIGHT¶
Copyright © 2013 Intel
This manual page is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License (CC BY-SA 3.0). To view a copy of this license, visit http://creativecommons.org.license/by-sa/3.0/us.
NOTES¶
- 1.
- EGL_MESA_platform_surfaceless
08/09/2024 | waffle |