···684684};
685685686686/*!
687687+ * Struct used to negotiate properties of a swapchain that is created outside
688688+ * of the compositor. Often used by a client compositor or IPC layer to allocate
689689+ * the swapchain images and then pass them into the native compositor.
690690+ */
691691+struct xrt_swapchain_create_properties
692692+{
693693+ //! How many images the compositor want in the swapchain.
694694+ uint32_t image_count;
695695+};
696696+697697+/*!
687698 * Session information, mostly overlay extension data.
688699 */
689700struct xrt_session_info
···721732 * Capabilities and recommended values information.
722733 */
723734 struct xrt_compositor_info info;
735735+736736+ /*!
737737+ * For a given @ref xrt_swapchain_create_info struct returns a filled
738738+ * out @ref xrt_swapchain_create_properties.
739739+ */
740740+ xrt_result_t (*get_swapchain_create_properties)(struct xrt_compositor *xc,
741741+ const struct xrt_swapchain_create_info *info,
742742+ struct xrt_swapchain_create_properties *xsccp);
724743725744 /*!
726745 * Create a swapchain with a set of images.
···10521071 */
10531072 void (*destroy)(struct xrt_compositor *xc);
10541073};
10741074+10751075+/*!
10761076+ * @copydoc xrt_compositor::get_swapchain_create_properties
10771077+ *
10781078+ * Helper for calling through the function pointer.
10791079+ *
10801080+ * @public @memberof xrt_compositor
10811081+ */
10821082+static inline xrt_result_t
10831083+xrt_comp_get_swapchain_create_properties(struct xrt_compositor *xc,
10841084+ const struct xrt_swapchain_create_info *info,
10851085+ struct xrt_swapchain_create_properties *xsccp)
10861086+{
10871087+ return xc->get_swapchain_create_properties(xc, info, xsccp);
10881088+}
1055108910561090/*!
10571091 * @copydoc xrt_compositor::create_swapchain