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
16
#include "
client/comp_gl_client.h
"
17
18
19
#ifdef __cplusplus
20
extern
"C"
{
21
#endif
22
23
struct
client_egl_context
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
*/
36
struct
client_egl_compositor
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
*/
46
static
inline
struct
client_egl_compositor
*
47
client_egl_compositor
(
struct
xrt_compositor
*xc)
48
{
49
return
(
struct
client_egl_compositor
*)xc;
50
}
51
52
53
#ifdef __cplusplus
54
}
55
#endif
comp_gl_client.h
OpenGL client side glue to compositor header.
egl_api.h
EGL API wrapper header.
client_egl_compositor
EGL based compositor, carries the extra needed EGL information needed by the client side code and can...
Definition:
comp_egl_client.h:37
client_egl_compositor::client_egl_compositor
static struct client_egl_compositor * client_egl_compositor(struct xrt_compositor *xc)
Down-cast helper.
Definition:
comp_egl_client.h:47
client_egl_context
Definition:
comp_egl_client.h:24
client_gl_compositor
Wraps the real compositor providing a OpenGL based interface.
Definition:
comp_gl_client.h:142
xrt_compositor
Common compositor client interface/base.
Definition:
xrt_compositor.h:988
xrt_compositor.h
Header declaring XRT graphics interfaces.
compositor
client
comp_egl_client.h
Generated by
1.9.4