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"
13 #include "client/comp_gl_client.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 
20 /*!
21  * A client facing xlib OpenGL base compositor.
22  *
23  * @ingroup comp_client
24  */
26 {
27  //! OpenGL compositor wrapper base.
29 };
30 
31 /*!
32  * Convenience function to convert a xrt_compositor to a
33  * client_gl_xlib_compositor.
34  *
35  * @ingroup comp_client
36  */
37 static inline struct client_gl_xlib_compositor *
39 {
40  return (struct client_gl_xlib_compositor *)xc;
41 }
42 
43 /*!
44  * Create a new client_gl_xlib_compositor.
45  *
46  * @ingroup comp_client
47  */
50  Display *xDisplay,
51  uint32_t visualid,
52  GLXFBConfig glxFBConfig,
53  GLXDrawable glxDrawable,
54  GLXContext glxContext);
55 
56 
57 #ifdef __cplusplus
58 }
59 #endif
Main compositor.
Definition: xrt_compositor.h:527
A client facing xlib OpenGL base compositor.
Definition: comp_gl_xlib_client.h:25
struct client_gl_compositor base
OpenGL compositor wrapper base.
Definition: comp_gl_xlib_client.h:28
struct client_gl_xlib_compositor * client_gl_xlib_compositor_create(struct xrt_compositor_fd *xcfd, Display *xDisplay, uint32_t visualid, GLXFBConfig glxFBConfig, GLXDrawable glxDrawable, GLXContext glxContext)
Create a new client_gl_xlib_compositor.
Definition: comp_gl_xlib_client.c:38
void * GLXFBConfig
Definition: xrt_gfx_xlib.h:21
void * GLXContext
Definition: xrt_gfx_xlib.h:23
Wraps the real compositor providing a OpenGL based interface.
Definition: comp_gl_client.h:44
Common compositor base.
Definition: xrt_compositor.h:169
void * GLXDrawable
Definition: xrt_gfx_xlib.h:22
struct _XDisplay Display
Definition: xrt_gfx_xlib.h:20
Header defining a XRT graphics provider.
OpenGL client side glue to compositor header.