WAFFLE_NATIVE(3)

NAME
waffle_native, waffle_native_display, waffle_native_config, waffle_native_context, waffle_native_window - Containers for underlying native objects

SYNOPSIS

#include <waffle.h>

union waffle_native_display {
    struct waffle_gbm_display *gbm;
    struct waffle_glx_display *glx;
    struct waffle_wayland_display *wayland;
    struct waffle_x11_egl_display *x11_egl;
};

union waffle_native_config {
    struct waffle_gbm_config *gbm;
    struct waffle_glx_config *glx;
    struct waffle_wayland_config *wayland;
    struct waffle_x11_egl_config *x11_egl;
};

union waffle_native_context {
    struct waffle_gbm_context *gbm;
    struct waffle_glx_context *glx;
    struct waffle_wayland_context *wayland;
    struct waffle_x11_egl_context *x11_egl;
};

union waffle_native_window {
    struct waffle_gbm_window *gbm;
    struct waffle_glx_window *glx;
    struct waffle_wayland_window *wayland;
    struct waffle_x11_egl_window *x11_egl;
};

DESCRIPTION

Each of the waffle_${obj}_get_native() functions returns a correspondingly named union waffle_native_${obj}*. For example, waffle_window_get_native() returns union waffle_native_window*

For each platform, the header <waffle_${platform}.h> defines the native container structs. For example, <waffle_glx.h> defines the structs waffle_glx_${obj}.

Observerve that native container structs are not defined for all platforms that waffle supports. In particular, waffle supports Android (WAFFLE_PLATFORM_ANDROID) and MacOS via CGL (WAFFLE_PLATFORM_CGL), but no container structs are defined for those platforms. Presently, waffle does not expose the native objects for those platforms due to implementation difficulties.

ISSUES

Please report bugs or and feature requests to https://gitlab.freedesktop.org/mesa/waffle/issues.

SEE ALSO

waffle(7), waffle_gbm(3), waffle_glx(3), waffle_wayland(3), waffle_x11_egl(3)

AUTHOR

Chad Versace <chad.versace@linux.intel.com>
    Former maintainer

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.