Monado OpenXR Runtime
xrt_gfx_egl.h
Go to the documentation of this file.
1// Copyright 2019, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Header defining an XRT graphics provider.
6 * @author Drew DeVault <sir@cmpwn.com>
7 * @ingroup xrt_iface
8 */
9
10#pragma once
11
12#include "xrt/xrt_device.h"
13#include "xrt/xrt_compositor.h"
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19typedef void *EGLDisplay;
20typedef void *EGLConfig;
21typedef void *EGLContext;
22typedef void (*__eglMustCastToProperFunctionPointerType)(void); // NOLINT
23typedef __eglMustCastToProperFunctionPointerType (*PFNEGLGETPROCADDRESSPROC)(const char *proc);
24struct time_state;
25
26/*!
27 * Create an OpenGL(ES) compositor client using EGL.
28 *
29 * @ingroup xrt_iface
30 * @public @memberof xrt_compositor_native
31 */
34 EGLDisplay display,
35 EGLConfig config,
36 EGLContext context,
37 PFNEGLGETPROCADDRESSPROC get_gl_procaddr,
38 bool renderdoc_enabled,
39 struct xrt_compositor_gl **out_xcgl);
40
41#ifdef __cplusplus
42}
43#endif
xrt_result_t xrt_gfx_provider_create_gl_egl(struct xrt_compositor_native *xcn, EGLDisplay display, EGLConfig config, EGLContext context, PFNEGLGETPROCADDRESSPROC get_gl_procaddr, bool renderdoc_enabled, struct xrt_compositor_gl **out_xcgl)
Create an OpenGL(ES) compositor client using EGL.
Definition: comp_egl_client.c:473
enum xrt_result xrt_result_t
Result type used across Monado.
Time-keeping state structure.
Definition: u_time.cpp:30
Base class for an OpenGL (ES) client compositor.
Definition: xrt_compositor.h:1960
Main compositor server interface.
Definition: xrt_compositor.h:2224
Header declaring XRT graphics interfaces.
Header defining an xrt display or controller device.