The open source OpenXR runtime
at disable-ht-prediction 46 lines 1.4 kB view raw
1// Copyright 2021, Collabora, Ltd. 2// SPDX-License-Identifier: BSL-1.0 3/*! 4 * @file 5 * @brief Interface for the multi-client layer code. 6 * @author Jakob Bornecrantz <jakob@collabora.com> 7 * @ingroup comp_main 8 */ 9 10#pragma once 11 12#include "xrt/xrt_compositor.h" 13 14 15#ifdef __cplusplus 16extern "C" { 17#endif 18 19struct u_pacing_app_factory; 20 21 22/*! 23 * Create a "system compositor" that can handle multiple clients (each 24 * through a "multi compositor") and that drives a single native compositor. 25 * Both the native compositor and the pacing factory is owned by the system 26 * compositor and destroyed by it. 27 * 28 * @param xcn Native compositor that client are multi-plexed to. 29 * @param upaf App pacing factory, one pacer created per client. 30 * @param xsci Information to be exposed. 31 * @param do_warm_start Should we always submit a frame at startup. 32 * @param out_xsysc Created @ref xrt_system_compositor. 33 * 34 * @public @memberof multi_system_compositor 35 */ 36xrt_result_t 37comp_multi_create_system_compositor(struct xrt_compositor_native *xcn, 38 struct u_pacing_app_factory *upaf, 39 const struct xrt_system_compositor_info *xsci, 40 bool do_warm_start, 41 struct xrt_system_compositor **out_xsysc); 42 43 44#ifdef __cplusplus 45} 46#endif