table of contents
WAFFLE_CONTEXT(3) | Waffle Manual | WAFFLE_CONTEXT(3) |
NAME¶
waffle_context, waffle_context_create, waffle_context_destroy, waffle_context_get_native - class waffle_contextSYNOPSIS¶
#include <waffle.h> struct waffle_context;
struct waffle_context*
waffle_context_create(struct waffle_config *config,
struct waffle_context *shared_ctx);
bool
waffle_context_destroy(struct waffle_context *self);
union waffle_native_context*
waffle_context_get_native(struct waffle_context *self);
DESCRIPTION¶
struct waffle_contextAn 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 guaranteed 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 details on what
data is shared, see the specification for the relevant native platform: the
GLX 1.4 Specification[1], the EGL 1.4 Specification[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 attributes WAFFLE_CONTEXT_MAJOR_VERSION, WAFFLE_CONTEXT_MINOR_VERSION, WAFFLE_CONTEXT_PROFILE. The context returned by waffle_context_create may implement any version and profile that is backwards compatible with that requested, as described below.•If the chosen API is WAFFLE_OPENGL_ES1,
WAFFLE_OPENGL_ES2, or WAFFLE_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 implemented.
* The compatibility profile of version 3.2 or
greater.
•If the chosen API is WAFFLE_CONTEXT_OPENGL
and version 3.1 is requested, 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 features 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://github.com/waffle-gl/waffle/issues.SEE ALSO¶
waffle(7)waffle_config_choose(3)AUTHOR¶
Chad Versace <chad.versace@linux.intel.com>Maintainer
COPYRIGHT¶
Copyright © 2013 IntelNOTES¶
- 1.
- GLX 1.4 Specification
- 2.
- EGL 1.4 Specification
- 3.
- CGL Reference
09/25/2014 | waffle |