Monado OpenXR Runtime
comp_egl_client.h
Go to the documentation of this file.
1// Copyright 2019-2021, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Glue code to EGL client side glue code.
6 * @author Jakob Bornecrantz <jakob@collabora.com>
7 * @ingroup comp_client
8 */
9
10#pragma once
11
12#include "xrt/xrt_compositor.h"
13
14#include "ogl/egl_api.h"
15
17
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
24{
25 EGLDisplay dpy;
26 EGLContext ctx;
27 EGLSurface read, draw;
28};
29
30/*!
31 * EGL based compositor, carries the extra needed EGL information needed by the
32 * client side code and can handle both GL Desktop or GLES contexts.
33 *
34 * @ingroup comp_client
35 */
37{
38 struct client_gl_compositor base;
39 struct client_egl_context current, previous;
40};
41
42/*!
43 * Down-cast helper.
44 * @protected @memberof client_egl_compositor
45 */
46static inline struct client_egl_compositor *
48{
49 return (struct client_egl_compositor *)xc;
50}
51
52
53#ifdef __cplusplus
54}
55#endif
OpenGL client side glue to compositor header.
EGL API wrapper header.
EGL based compositor, carries the extra needed EGL information needed by the client side code and can...
Definition: comp_egl_client.h:37
static struct client_egl_compositor * client_egl_compositor(struct xrt_compositor *xc)
Down-cast helper.
Definition: comp_egl_client.h:47
Definition: comp_egl_client.h:24
Wraps the real compositor providing a OpenGL based interface.
Definition: comp_gl_client.h:142
Common compositor client interface/base.
Definition: xrt_compositor.h:988
Header declaring XRT graphics interfaces.