Monado OpenXR Runtime
comp_gl_xlib_client.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 OpenGL on Xlib client side glue to compositor header.
6 * @author Jakob Bornecrantz <jakob@collabora.com>
7 * @ingroup comp_client
8 */
9
10#pragma once
11
12#include "xrt/xrt_gfx_xlib.h"
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
20{
21 Display *dpy;
22 GLXContext ctx;
23 GLXDrawable read;
24 GLXDrawable draw;
25};
26
27/*!
28 * @class client_gl_xlib_compositor
29 * A client facing xlib OpenGL base compositor.
30 *
31 * @ingroup comp_client
32 * @extends client_gl_compositor
33 */
35{
36 //! OpenGL compositor wrapper base.
38
39 /*!
40 * Temporary storage for "current" OpenGL context while app_context is
41 * made current using context_begin/context_end. We only need one because
42 * app_context can only be made current in one thread at a time too.
43 */
45
46 //! GL context provided in graphics binding.
48};
49
50/*!
51 * Create a new client_gl_xlib_compositor.
52 *
53 * @public @memberof client_gl_xlib_compositor
54 * @see xrt_compositor_native
55 */
58 Display *xDisplay,
59 uint32_t visualid,
60 GLXFBConfig glxFBConfig,
61 GLXDrawable glxDrawable,
62 GLXContext glxContext);
63
64
65#ifdef __cplusplus
66}
67#endif
OpenGL client side glue to compositor header.
Wraps the real compositor providing a OpenGL based interface.
Definition: comp_gl_client.h:142
Definition: comp_gl_win32_client.h:21
A client facing xlib OpenGL base compositor.
Definition: comp_gl_xlib_client.h:35
struct client_gl_context app_context
GL context provided in graphics binding.
Definition: comp_gl_xlib_client.h:47
struct client_gl_compositor base
OpenGL compositor wrapper base.
Definition: comp_gl_xlib_client.h:37
struct client_gl_context temp_context
Temporary storage for "current" OpenGL context while app_context is made current using context_begin/...
Definition: comp_gl_xlib_client.h:44
struct client_gl_xlib_compositor * client_gl_xlib_compositor_create(struct xrt_compositor_native *xcn, Display *xDisplay, uint32_t visualid, GLXFBConfig glxFBConfig, GLXDrawable glxDrawable, GLXContext glxContext)
Create a new client_gl_xlib_compositor.
Definition: comp_gl_xlib_client.c:130
Main compositor server interface.
Definition: xrt_compositor.h:2224
Header defining a XRT graphics provider.