Monado OpenXR Runtime
Loading...
Searching...
No Matches
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:992
Header declaring XRT graphics interfaces.