Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
WAFFLE_CONTEXT(3)		 Waffle	Manual		     WAFFLE_CONTEXT(3)

NAME
       waffle_context, waffle_context_create, waffle_context_destroy,
       waffle_context_get_native - class waffle_context

SYNOPSIS
       #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_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
	   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.

       o   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.

       o   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.

       o   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.

       o   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://gitlab.freedesktop.org/mesa/waffle/issues.

SEE ALSO
       waffle(7) waffle_config_choose(3)

AUTHOR
       Chad Versace <chad.versace@linux.intel.com>
	   Maintainer

COPYRIGHT
       Copyright (C) 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. 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/30/2020		     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://www.freebsd.org/cgi/man.cgi?query=waffle_context&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help